Dynmap : Présentation du plugin de carte 3D en ligne pour Minecraft
Examen détaillé du plugin Dynmap pour les serveurs Minecraft. Rendu de cartes 3D isométriques, configuration du serveur web intégré…
Examen détaillé du plugin Dynmap pour les serveurs Minecraft. Rendu de cartes 3D isométriques, configuration du serveur web intégré, compatibilité et intégra...
Dépendances :
Chargeur : Paper / Spigot / Fabric / Forge
Version de Minecraft : 1.20.x – 1.21.x
Dans le jeu multijoueur Minecraft, la coordination entre les joueurs, la recherche de zones de construction libres et le suivi de l'activité sur de vastes territoires posent souvent des difficultés. Les outils de base n'offrent que des cartes locales en papier qui ne couvrent pas le monde entier et ne sont pas mises à jour en temps réel. L'utilitaire Dynmap résout ce problème en créant une carte interactive du monde du jeu, accessible via un simple navigateur web. Il fonctionne selon le principe des services d'informations géographiques tels que Google Maps, affichant le relief détaillé, l'emplacement des joueurs, les limites des régions protégées et les messages du chat en jeu.
Fonctionnement du moteur de rendu et sauvegarde des tuiles
Au cœur du fonctionnement de Dynmap se trouve son propre pipeline de rendu, qui convertit les données tridimensionnelles des chunks de Minecraft en un ensemble de fichiers graphiques bidimensionnels (tuiles ou tiles).
Types de rendu et projections
Le plugin prend en charge trois options principales d'affichage du monde :
Vue plane (Flat) : Une carte 2D classique avec une vue de haut en bas. Elle consomme le moins d'espace disque et de ressources processeur lors de la génération.
Vue 3D isométrique (Surface) : Une projection tridimensionnelle en volume selon un certain angle, permettant d'évaluer les dénivelés du paysage, l'architecture des bâtiments et la profondeur de l'eau.
Vue des grottes (Cave) : Fait le rendu des cavités souterraines et des mines, montrant la structure des grottes en dessous du niveau de la surface.
Sauvegarde des fichiers et charge du disque
Toutes les tuiles de carte générées sont enregistrées sous forme d'images PNG ou JPG standard dans le dossier plugins/dynmap/web/tiles/. À chaque modification de bloc par les joueurs (construction, destruction, explosions), Dynmap déclenche un processus de mise à jour incrémentale — seules les tuiles se trouvant directement dans la zone du chunk mis à jour sont redessinées.
Le sous-système de disque du serveur subit une charge importante (opérations d'E/S) lors du rendu initial du monde. À des résolutions élevées, le dossier des tuiles d'une grande carte peut atteindre des dizaines ou même des centaines de gigaoctets, ce qui nécessite d'utiliser des disques SSD rapides et de configurer des limites de monde (WorldBorder).
alt: [Interface de la carte web Dynmap dans un navigateur affichant une vue isométrique 3D du point d'apparition]
Infrastructure du serveur web : Jetty vs Nginx
Dynmap propose deux schémas de déploiement pour l'interface web, en fonction de la taille du serveur et de la charge prévue.
Serveur web Jetty intégré
Par défaut, après son installation, le plugin démarre automatiquement le serveur web Jetty intégré sur le port 8123. Cette option ne nécessite aucune configuration supplémentaire : l'administrateur a juste besoin d'ouvrir le port 8123 chez l'hébergeur, après quoi la carte devient accessible à l'adresse http://IP_du_serveur:8123/.

Intégration avec un serveur externe (Nginx ou Apache)
Pour les serveurs publics avec une grande affluence, le serveur Jetty intégré crée une charge supplémentaire pour le processus de jeu Java, car chaque utilisateur web consomme de la bande passante directement par le biais du serveur de jeu. Pour l'optimisation, il est recommandé de configurer la livraison des tuiles via un serveur web Nginx ou Apache indépendant.
Avec cette configuration, Nginx est configuré pour travailler directement avec le dossier web/tiles/, contournant le moteur de jeu Minecraft. Cela présente plusieurs avantages clés :
Protection du processus de jeu : Les requêtes des navigateurs sont gérées par un serveur web distinct, ce qui élimine les micro-saccades (chutes de TPS) dans le jeu.
Cryptage HTTPS : La possibilité de configurer facilement des certificats SSL Let's Encrypt gratuits pour une connexion sécurisée.
Disponibilité hors ligne : La carte web du paysage reste accessible à la visualisation même lors du redémarrage ou de l'arrêt du serveur de jeu Minecraft.
Paramètres de configuration et gestion du rendu
Les principaux paramètres du plugin sont édités dans le fichier plugins/dynmap/configuration.txt.

Paramètres généraux de rendu et de sauvegarde
Paramètre | Valeur par défaut | Description |
|---|---|---|
|
| Définit la qualité par défaut des modèles de rendu ( |
|
| Choix du stockage pour les tuiles de carte. Options disponibles : |
|
| Intervalle (en secondes) pour la vérification et le rendu des tuiles depuis la file d'attente de mise à jour. |
|
| Le nombre de tuiles dans la file d'attente de mise à jour à partir duquel l'intervalle de rendu est accéléré. |
|
| Intervalle de rendu accéléré (en secondes) lorsque la file d'attente dépasse le seuil. |
|
| Nombre de tuiles rendues simultanément (il est recommandé de le définir à la moitié du nombre de cœurs du processeur). |
|
| Priorité pour les threads de rendu. Si réglé sur |
|
| Enregistre la file d'attente des tâches de rendu en attente lors de l'arrêt ou du redémarrage du serveur. |
|
| Délai (en secondes) avant le rendu des blocs modifiés. Prévient le redessin constant des tuiles causé par les systèmes automatisés (redstone, pistons, etc.). |
|
| Active le hachage des tuiles. Si l'image de la tuile n'a pas changé après le rendu, le fichier sur le disque n'est pas écrasé, ce qui préserve la durée de vie du lecteur. |
|
| Calcule un éclairage doux (comme dans le jeu) pendant la génération de la carte. |
|
| Format et qualité des images des tuiles (la valeur par défaut est JPG avec une qualité de 90 %). Peut être changé en |
|
| Utilise les textures générées par le jeu (correspondant au pack de ressources du client) au lieu de celles statiques. |
|
| Support des textures connectées (Connected Texture Mod) issues des packs de ressources. |
|
| Support des couleurs personnalisées des biomes et des feuilles issues des packs de ressources. |
|
| Une liste d'événements en jeu (pose/destruction de blocs, croissance des arbres, explosions) qui déclenchent la file d'attente de rendu des tuiles. |
Infrastructure web et chemins des fichiers
Paramètre | Valeur par défaut | Description |
|---|---|---|
|
| Chemin dans le répertoire du plugin où les fichiers graphiques (tuiles de la carte) seront sauvegardés. |
|
| Chemin vers les fichiers web statiques de la carte (HTML, JS, CSS). |
|
| Mise à jour automatique des fichiers statiques au démarrage du plugin (définir sur |
|
| Le port TCP sur lequel le serveur web Jetty intégré fonctionnera. |
|
| Désactive le serveur web intégré (utile lors de la configuration de la livraison de tuiles via un serveur web externe Nginx ou Apache). |
|
| Nombre maximum de sessions simultanées sur le serveur web intégré afin de préserver les ressources. |
|
| Autorise le serveur web à suivre les liens symboliques. |
|
| Active le système d'authentification des utilisateurs pour consulter la carte ou communiquer dans le chat. |
|
| Nécessite une connexion obligatoire au compte pour voir la carte web. |
|
| Une liste de serveurs proxys de confiance afin de déterminer correctement les véritables adresses IP des joueurs via l'en-tête |
Configuration des composants de l'interface web (Chat web, Marqueurs, Joueurs)
Paramètre / Classe | Valeur par défaut | Description |
|---|---|---|
| Classe du composant | Responsable de la transmission des données sur le statut des joueurs, le chat et les mises à jour de la carte. Remarque : Lors de l'utilisation d'un serveur web externe (Nginx), cette classe doit être remplacée par |
|
| Affiche les indicateurs de santé des joueurs sur la carte. |
|
| Affiche l'emplacement exact des joueurs sur la carte. |
|
| Autorise l'envoi de messages de l'interface web au chat en jeu de Minecraft. |
|
| Délai (en secondes) entre les messages du chat web (protection contre le spam). |
|
| Masque les joueurs de la carte s'ils sont accroupis (en train de se faufiler). |
|
| Masque les joueurs de la carte s'ils sont en mode spectateur. |
|
| Masque les joueurs de la carte s'ils sont sous l'effet de la potion d'invisibilité. |
| Classe du composant | Gère les couches de marqueurs sur la carte. Permet d'afficher l'apparition ( |
|
| Affiche les visages (skins) des joueurs sur les marqueurs de la carte. |
|
| Affiche une barre de santé directement au-dessus de l'icône du joueur sur la carte. |
Limites de performances du processeur et optimisation (TPS/MSPT)
Paramètre | Valeur par défaut | Description |
|---|---|---|
|
| Intervalle (en secondes) de pauses pendant l'exécution d'un rendu complet ( |
|
| Le nombre maximum de chunks que Dynmap peut charger en mémoire au cours d'un seul tick de jeu (1/20 de seconde). Diminuer ce paramètre réduit les lags sur le serveur. |
|
| Limite de temps cible par tick pour le thread de rendu (en millisecondes). |
|
| Si le taux de TPS du serveur chute en dessous de cette valeur, Dynmap met automatiquement en pause le rendu des mises à jour régulières des tuiles. |
|
| Si le taux de TPS du serveur chute en dessous de cette valeur, Dynmap arrête l'exécution de la génération complète du monde ( |
|
| Le TPS minimum requis pour autoriser le calcul de niveaux de carte dézoomés (zoom-out). |
|
| Nombre de chunks stockés dans le cache des clichés du paysage. |
|
| L'utilisation des références souples (Soft References) pour le cache des chunks. Cela permet à la JVM d'effacer le cache de la carte en cas de risque d'erreur OutOfMemory. |
Paramètres d'optimisation dans configuration.txt
Afin de préserver les performances du serveur, faites attention aux variables suivantes du fichier de configuration :
deftemplatesuffix— suffixe de la qualité du rendu. Des valeurs commevlowres(qualité très basse) oulowres(qualité basse) permettent une génération de carte considérablement plus rapide et réduisent la taille des fichiers de 4 à 8 fois par rapport au standardhires.tilespath— permet de rediriger les sauvegardes de la carte vers un autre disque dur du serveur, protégeant ainsi le disque principal du sur-remplissage.webserver-port— port utilisé pour se connecter à la carte (au lieu de celui par défaut8123).
Commandes de gestion du rendu
La génération de la carte est contrôlée via la console du serveur par un opérateur de niveau 4 :
/dynmap fullrender <monde>— lance le rendu complet du monde spécifié. Il est recommandé de ne l'utiliser qu'après la pré-génération complète des chunks (chunk pre-generation) et pendant les périodes de faible affluence des joueurs./dynmap radiusrender <rayon>— actualise la carte uniquement dans un certain rayon autour du joueur, ce qui s'avère très pratique après la construction de grandes villes./dynmap cancelrender— met fin aux processus de rendu en cours en cas de surcharge du processeur./dynmap pause all— suspend temporairement tous les calculs de carte, ce qui aide à libérer des ressources pour stabiliser les TPS.
Conclusion
Le plugin Dynmap se révèle être un outil puissant pour visualiser le monde et améliorer les interactions entre les joueurs sur les grands serveurs Minecraft. Grâce à la création de modèles isométriques 3D et son intégration via une interface web, il transforme la carte en un portail d'information à part entière pour le projet.
Par rapport à des options alternatives, telles que BlueMap (qui fait grandement appel au WebGL pour un visionnage entièrement 3D) ou Squaremap (focalisé uniquement sur une carte 2D extrêmement rapide sans aucun modèle de volume), Dynmap offre l'équilibre fonctionnel le plus optimal. Cependant, ses besoins importants en espace disque et son occupation constante des entrées/sorties (I/O) du système exigeront des administrateurs une grande rigueur concernant la fixation des limites du monde et le choix adéquat de la résolution. Cette extension constitue un excellent choix pour les vastes serveurs de survie, d'anarchie ou de jeux de rôle (RP).
Installation
Une installation classique prend environ 5 minutes. Le déroulé est le même ; seuls le loader et le build correspondant changent.
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











