Chers joueurs de ZenCraft,
Depuis sa création, ZenCraft a toujours eu une vision : vous offrir une expérience Minecraft survie unique, fluide et évolutive. Aujourd'hui, nous souhaitons partager avec vous les coulisses de notre infrastructure et les évolutions majeures que nous préparons.
Ce document vous explique comment fonctionne actuellement le framework de développement de ZenCraft (ZenLib), quelles sont ses limitations, et comment notre nouvelle infrastructure accompagnée du nouveau framework (ZenLib2) va révolutionner votre expérience de jeu.
Pourquoi ce whitepaper ? Parce que la transparence est une valeur fondamentale de ZenCraft. Vous méritez de comprendre ce sur quoi nous travaillons et pourquoi.
Glossaire :
Actuellement, ZenCraft fonctionne sur une architecture que nous appelons "1 serveur = 1 monde". Concrètement, cela signifie que chaque monde du serveur (spawn, construction, ressources) tourne sur sa propre instance de serveur Minecraft.
┌─────────────────────────────────────────────────────────────────┐
│ ARCHITECTURE ZENLIB1 │
│ (Système Actuel) │
└─────────────────────────────────────────────────────────────────┘
┌─────────────┐
│ JOUEUR │
│ (Vous!) │
└──────┬──────┘
│
▼
┌───────────────────────┐
│ Proxy Velocity │
│ (Point d'entrée) │
│ play.zencraft.net │
└───────────┬───────────┘
│
┌────────────────────┼───────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Serveur 1 │ │ Serveur 2 │ │ Serveur 3 │
│ │ │ │ │ │
│ ┌─────────┐ │ │ ┌─────────┐ │ │ ┌─────────┐ │
│ │ SPAWN │ │ │ │CONSTRU#1│ │ │ │RESSOURCE│ │
│ │(1 monde)│ │ │ │(1 monde)│ │ │ │(1 monde)│ │
│ └─────────┘ │ │ └─────────┘ │ │ └─────────┘ │
└───────────────┘ └───────────────┘ └───────────────┘
1 SERVEUR = 1 MONDE (architecture rigide)
ZenLib1 supporte quatre types de mondes :
Cette architecture, bien que fonctionnelle, présente plusieurs contraintes :
1. Rigidité Chaque monde nécessite son propre serveur dédié. Ajouter un nouveau monde = configurer un nouveau serveur complet. C'est coûteux en temps et en ressources.
2. Pas de mondes privés Il est techniquement impossible de vous offrir votre propre monde avec cette architecture. Imaginez devoir créer un serveur entier pour chaque joueur... impossible !
3. Scalabilité limitée Minecraft est fondamentalement mono-thread (un seul fil d'exécution). Si 200 joueurs sont sur le construction #1, le serveur du construction #1 souffre, peu importe la puissance de la machine. On ne peut pas simplement "ajouter de la RAM" pour résoudre le problème.
4. Support linguistique limité Le système actuel est principalement conçu pour la communauté francophone. L'internationalisation (multilingue) n'était pas une priorité lors de sa conception.
5. Coordination complexe Synchroniser les données entre serveurs (ZenCoins, inventaires, positions) requiert beaucoup de "bidouillage" technique.
ZenLib2 introduit le concept de Workers. Un Worker est un serveur de calcul intelligent capable d'héberger plusieurs mondes simultanément.
Pensez-y comme un immeuble d'appartements : au lieu d'avoir une maison (serveur) par personne (monde), on a des immeubles (workers) qui peuvent accueillir plusieurs appartements (mondes).
┌─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ ARCHITECTURE ZENLIB2 │
│ (Nouvelle Architecture "Cloud") │
└─────────────────────────────────────────────────────────────────────────────────────────────────┘
┌───────────────┐
│ JOUEUR │
│ (Vous!) │
└───────┬───────┘
│
▼
┌─────────────────────────┐
│ Proxy Velocity │
│ (Point d'entrée) │
│ play.zencraft.net │
│ │
│ + Tracking Joueurs │
│ + Routing Intelligent │
└────────────┬────────────┘
│
┌───────────────────────────────────────┼───────────────────────────────────────┐
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ WORKER 1 │ │ WORKER 2 │ │ WORKER 3 │ │ WORKER 4 │ │ WORKER 5 │
│ Spawn/Lobby │ │ Ressources │ │ Construction 1 │ │ Construction 2 │ │ Construction 3 │
│ (multi-monde) │ │ (multi-monde) │ │ (dédié) │ │ (dédié) │ │ (dédié) │
├─────────────────┤ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤ ├─────────────────┤
│ │ │ │ │ │ │ │ │ │
│ ┌─────────────┐ │ │ ┌─────────────┐ │ │ ┌─────────────┐ │ │ ┌─────────────┐ │ │ ┌─────────────┐ │
│ │ Spawn │ │ │ │ Ressource │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ Overworld │ │ │ │ Overworld │ │ │ │ Constru #1 │ │ │ │ Constru #2 │ │ │ │ Constru #3 │ │
│ └─────────────┘ │ │ └─────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │
│ ┌─────────────┐ │ │ ┌─────────────┐ │ │ │ Grosses │ │ │ │ Grosses │ │ │ │ Grosses │ │
│ │ Tuto │ │ │ │ Ressource │ │ │ │ bases │ │ │ │ bases │ │ │ │ bases │ │
│ │ Overworld │ │ │ │ Nether │ │ │ │ joueurs │ │ │ │ joueurs │ │ │ │ joueurs │ │
│ └─────────────┘ │ │ └─────────────┘ │ │ │ │ │ │ │ │ │ │ │ │ │
│ ┌─────────────┐ │ │ ┌─────────────┐ │ │ └─────────────┘ │ │ └─────────────┘ │ │ └─────────────┘ │
│ │ PVP Arena │ │ │ │ Ressource │ │ │ │ │ │ │ │
│ │ Nether │ │ │ │ End │ │ │ 1 monde dédié │ │ 1 monde dédié │ │ 1 monde dédié │
│ └─────────────┘ │ │ └─────────────┘ │ │ = perfs max ! │ │ = perfs max ! │ │ = perfs max ! │
│ │ │ │ │ │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ WORKER 6 │ │ WORKER 7 │ │ WORKER ... │
│ Mondes Joueurs │ │ Mondes Villes │ │ │
│ (multi-monde) │ │ (multi-monde) │ │ + de workers │
├─────────────────┤ ├─────────────────┤ │ déployés │
│ │ │ │ │ selon │
│ ┌─────────────┐ │ │ ┌─────────────┐ │ │ la demande │
│ │ Monde Alice │ │ │ │ Monde ville1│ │ │ │
│ └─────────────┘ │ │ └─────────────┘ │ │ ┌───────────┐ │
│ ┌─────────────┐ │ │ ┌─────────────┐ │ │ │ SCALABLE │ │
│ │ Monde Bob │ │ │ │ Monde ville2│ │ │ │ + │ │
│ └─────────────┘ │ │ └─────────────┘ │ │ │ WORKERS │ │
│ ┌─────────────┐ │ │ ┌─────────────┐ │ │ └───────────┘ │
│ │Monde Charlie│ │ │ │ Monde ville3│ │ │ │
│ └─────────────┘ │ │ └─────────────┘ │ │ Scalabilité │
│ ... │ │ ... │ │ horizontale │
│ (10+ mondes) │ │ (10+ mondes) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
◄─────────────────────────────────────────────────────────────────────────────────────────────────►
Base de données Redis
(Synchronisation en temps réel)
Pourquoi les mondes Construction ont chacun leur propre worker ?
Les mondes de construction hébergent actuellement vos bases lourdes : fermes automatiques complexes, systèmes de redstone élaborés, grandes structures avec beaucoup d'entités... Ces mondes sont les plus gourmands en ressources. En les isolant chacun sur leur propre worker dédié, nous garantissons des performances optimales.
Et à terme ? Transférez votre base vers votre propre monde !
Avec ZenLib2, nous prévoyons de vous permettre de demander le transfert de votre base depuis un monde construction vers votre propre monde privé. Concrètement :
Le transfert se fera sur demande auprès du staff, qui s'occupera de déplacer votre construction vers votre nouveau monde. Une fois transférée, votre base bénéficiera de son propre espace isolé, hébergé sur les workers dédiés aux mondes joueurs, et l'ancienne zone en monde construction sera remise à neuf.
Le système sait exactement où se trouve chaque joueur sur le réseau, en temps réel.
Concrètement, si vous tapez /tp Alice, le système trouve instantanément Alice sur le réseau, même si elle est sur un autre worker.
Avec ZenLib1, changer de monde implique une téléportation bloquante. Avec ZenLib2 :
Comment ça marche ?
Envoyer un message à n'importe quel joueur, où qu'il soit sur le réseau :
/msg Alice Salut ! fonctionne même si Alice est sur un autre workerLe système est intelligent : si le destinataire est sur le même worker, le message est envoyé directement. Sinon, il passe par le proxy Velocity qui le route vers le bon worker.
ZenLib2 intègre un système de traduction complet :
fr_CA, on essaie fr, puis en, puis la cléExemple de fallback :
fr_FR (français France)
↓ pas trouvé
fr (français générique)
↓ pas trouvé
en (anglais par défaut)
↓ pas trouvé
clé brute (pour debug)
Cela nous permettra d'ouvrir ZenCraft à des communautés internationales (anglophone, hispanophone, etc.) tout en gardant le français comme langue principale.
Vos données sont synchronisées sur tout le réseau :
Le système surveille en permanence la santé du réseau :
C'est LA nouveauté majeure !
Avec ZenLib2, chaque joueur pourra avoir son propre monde :
Les mondes privés sont répartis intelligemment sur les workers dédiés. Si un worker de mondes joueurs devient surchargé, le système en utilise un autre automatiquement.
L'architecture horizontale de ZenLib2 permet une vraie scalabilité :
| Aspect | ZenLib1 | ZenLib2 |
|---|---|---|
| Joueurs max | ~200-300 | 1000+ (extensible) |
| Ajout de capacité | Difficile | Ajouter un worker |
| Répartition de charge | Impossible | Automatique |
Comment ? Au lieu de mettre tous les œufs dans le même panier (un gros serveur), on répartit la charge sur plusieurs workers. Si un worker est bondé, les joueurs sont naturellement répartis, et on peut ajouter des workers à la volée.
Le système multilingue natif nous permettra :
Tous les messages système, commandes, et interfaces seront disponibles dans votre langue.
ZenLib2 est conçu pour être résilient :
| Composant | Statut |
|---|---|
| ZenLib1 (actuel) | En production, stable |
| ZenLib2 Core | Développement actif |
| Tracking distribué | Implémenté |
| Téléportation cross-worker | Implémenté |
| Messagerie réseau | Implémenté |
| Système i18n | Implémenté |
| Service comptes | Implémenté |
| Mondes privés joueurs | En cours |
La migration de ZenLib1 vers ZenLib2 sera progressive et transparente :
Non. Toutes vos données (ZenCoins, progression, constructions) seront migrées. La base de données reste la même, c'est uniquement l'infrastructure qui évolue.
Le développement est actif. Nous ne donnons pas de date précise pour éviter les déceptions, mais nous communiquerons régulièrement sur l'avancement via Discord.
Environ 1 à 2 jours. Il y aura peut-être quelques redémarrages courts une fois la nouvelle infrastructure déployée afin de réaliser des hot-fix.
Chaque joueur pourra créer son monde de manière autonome à partir d'un certain grade OU de faire une demande de transfert d'une base existante en monde construction vers un monde privé. Le monde sera hébergé sur un worker dédié aux mondes joueurs. Vous pourrez y inviter des amis, le protéger, et le personnaliser.
Aucun souci ! Le français reste la langue principale de ZenCraft. Le multilingue est une option qui sera ajoutée plus tard pour ceux qui le souhaitent et pour accueillir de nouveaux joueurs. À terme, nous prévoyons d'intégrer un système de traduction automatique par IA afin que les joueurs puissent communiquer entre eux peu importe leurs langue d'origine.
ZenLib1 fonctionne, mais il a atteint ses limites. Pour vous offrir les mondes privés, accueillir plus de joueurs, et préparer l'avenir, nous devons moderniser l'infrastructure. C'est un investissement pour les années à venir.
ZenLib2 représente une évolution majeure de l'infrastructure ZenCraft. Cette nouvelle architecture "cloud" nous permettra de vous offrir des fonctionnalités longtemps attendues (système de villes, mondes privés, système de quêtes, etc), d'accueillir plus de joueurs, et d'ouvrir ZenCraft à l'international.
Nous sommes enthousiastes à l'idée de partager ces avancées avec vous et nous vous remercions pour votre patience et votre confiance.
L'équipe ZenCraft
Ce document sera mis à jour au fur et à mesure de l'avancement du développement.
Dernière mise à jour : Janvier 2026