Dynmap: Übersicht des 3D-Online-Karten-Plugins für Minecraft
Detaillierte Überprüfung des Dynmap-Plugins für Minecraft-Server. Isometrisches 3D-Karten-Rendering, Konfiguration des integrierten…
Detaillierte Überprüfung des Dynmap-Plugins für Minecraft-Server. Isometrisches 3D-Karten-Rendering, Konfiguration des integrierten Webservers, Kompatibilitä...
Abhängigkeiten:
Loader: Paper / Spigot / Fabric / Forge
Minecraft-Version: 1.20.x – 1.21.x
Im Multiplayer-Spiel Minecraft bereitet die Koordination zwischen den Spielern, das Finden freier Bauzonen und die Verfolgung von Aktivitäten auf großen Gebieten oft Schwierigkeiten. Grundlegende Werkzeuge bieten nur lokale Papierkarten, die nicht die gesamte Welt abdecken und nicht in Echtzeit aktualisiert werden. Das Tool Dynmap löst dieses Problem, indem es eine interaktive Karte der Spielwelt erstellt, die über einen normalen Webbrowser zugänglich ist. Es funktioniert nach dem Prinzip geografischer Informationsdienste wie Google Maps und zeigt die detaillierte Landschaft, Standorte von Spielern, Grenzen geschützter Regionen und In-Game-Chat-Nachrichten an.
Funktionsweise der Rendering-Engine und Kachelspeicherung
Im Kern der Funktionalität von Dynmap liegt die eigene Rendering-Pipeline, die dreidimensionale Minecraft-Chunk-Daten in eine Reihe von zweidimensionalen Grafikdateien (Kacheln oder Tiles) umwandelt.
Rendering-Typen und Projektionen
Das Plugin unterstützt drei Hauptanzeigeoptionen für die Welt:
Flache Ansicht (Flat): Eine klassische 2D-Karte mit Ansicht von oben. Sie verbraucht bei der Generierung am wenigsten Speicherplatz und CPU-Ressourcen.
Isometrische 3D-Ansicht (Surface): Eine volumetrische dreidimensionale Projektion in einem bestimmten Winkel, die es ermöglicht, Höhenunterschiede der Landschaft, Gebäudearchitektur und Wassertiefen zu bewerten.
Höhlenansicht (Cave): Rendert unterirdische Hohlräume und Minen und zeigt die Struktur von Höhlen unterhalb der Oberflächenebene.
Dateispeicherung und Festplattenbelastung
Alle generierten Kartenkacheln werden als standardmäßige PNG- oder JPG-Bilder im Ordner plugins/dynmap/web/tiles/ gespeichert. Bei jeder Blockänderung durch Spieler (Bauen, Zerstörung, Explosionen) löst Dynmap einen inkrementellen Aktualisierungsprozess aus – nur die Kacheln, die sich direkt in der aktualisierten Chunk-Zone befinden, werden neu gezeichnet.
Das Festplattensubsystem des Servers erfährt während des anfänglichen Renderns der Welt eine erhebliche Auslastung (I/O-Operationen). Bei hoher Auflösung kann der Kachelordner einer großen Karte Dutzende oder sogar Hunderte Gigabyte erreichen, was schnelle SSD-Laufwerke und die Festlegung einer Weltgrenze (WorldBorder) erfordert.
alt: [Webkarten-Schnittstelle von Dynmap in einem Browser mit einer isometrischen 3D-Ansicht des Spawns]
Webserver-Infrastruktur: Jetty vs. Nginx
Dynmap bietet zwei Bereitstellungsschemata für die Webschnittstelle, abhängig von der Größe des Servers und der erwarteten Auslastung.
Integrierter Jetty-Webserver
Standardmäßig startet das Plugin nach der Installation automatisch den integrierten Jetty-Webserver auf Port 8123. Diese Option erfordert keine zusätzliche Konfiguration: Der Administrator muss lediglich Port 8123 beim Hosting-Anbieter öffnen, wonach die Karte unter http://Server_IP:8123/ zugänglich wird.

Integration mit einem externen Server (Nginx oder Apache)
Für öffentliche Server mit hoher Spieleranzahl erzeugt der integrierte Jetty einen zusätzlichen Overhead für den Java-Spielprozess, da jeder Web-Benutzer Traffic direkt über den Gameserver verbraucht. Zur Optimierung wird empfohlen, die Auslieferung der Kacheln über einen unabhängigen Nginx- oder Apache-Webserver zu konfigurieren.
Bei diesem Setup wird Nginx so konfiguriert, dass er direkt mit dem Ordner web/tiles/ arbeitet und die Spiel-Engine von Minecraft umgeht. Dies hat mehrere wichtige Vorteile:
Schutz des Spielthreads: Browseranfragen werden von einem separaten Webserver verarbeitet, wodurch Mikroruckler (TPS-Drops) im Spiel eliminiert werden.
HTTPS-Verschlüsselung: Die Möglichkeit, kostenlose Let's Encrypt SSL-Zertifikate für eine sichere Verbindung einfach zu konfigurieren.
Offline-Verfügbarkeit: Die Webkarte der Landschaft bleibt zur Ansicht zugänglich, selbst wenn der Minecraft-Spieleserver neu gestartet oder ausgeschaltet wird.
Konfigurationseinstellungen und Rendering-Verwaltung
Die Hauptparameter des Plugins werden in der Datei plugins/dynmap/configuration.txt bearbeitet.

Allgemeine Rendering- und Speichereinstellungen
Parameter | Standardwert | Beschreibung |
|---|---|---|
|
| Definiert die Standardqualität der Rendering-Vorlagen ( |
|
| Speicherauswahl für Kartenkacheln. Verfügbare Optionen: |
|
| Intervall (in Sekunden) zur Überprüfung und zum Rendern von Kacheln aus der Aktualisierungswarteschlange. |
|
| Anzahl der Kacheln in der Warteschlange, nach deren Überschreiten das Rendering-Intervall beschleunigt wird. |
|
| Beschleunigtes Rendering-Intervall (in Sekunden), wenn die Warteschlange den Schwellenwert überschreitet. |
|
| Anzahl der gleichzeitig gerenderten Kacheln (es wird empfohlen, die Hälfte der CPU-Kerne einzustellen). |
|
| Priorität für Rendering-Threads. Bei |
|
| Speichert die Warteschlange der noch nicht abgeschlossenen Rendering-Aufgaben beim Herunterfahren oder Neustart des Servers. |
|
| Verzögerung (in Sekunden) vor dem Rendern veränderter Blöcke. Verhindert ständiges Neuzeichnen von Kacheln aufgrund von Automatisierungssystemen (Redstone, Kolben usw.). |
|
| Aktiviert das Hashing von Kacheln. Wenn sich das Kachelbild nach dem Rendern nicht geändert hat, wird die Datei auf der Festplatte nicht überschrieben, wodurch Laufwerksressourcen geschont werden. |
|
| Berechnung einer weichen Beleuchtung (wie im Spiel) während der Kartengenerierung. |
|
| Format und Qualität der Kachelbilder (Standard ist JPG mit 90 % Qualität). Kann auf |
|
| Verwendet vom Spiel generierte Texturen (entsprechend dem Texture-Paket des Clients) anstelle statischer Texturen. |
|
| Unterstützung für Connected Texture Mod aus Ressourcenpaketen. |
|
| Unterstützung für benutzerdefinierte Biom- und Blattfarben aus Ressourcenpaketen. |
|
| Eine Liste von In-Game-Ereignissen (Setzen/Zerstören von Blöcken, Baumwachstum, Explosionen), die die Rendering-Warteschlange für Kacheln initiieren. |
Webinfrastruktur und Dateipfade
Parameter | Standardwert | Beschreibung |
|---|---|---|
|
| Pfad innerhalb des Plugin-Verzeichnisses, in dem Grafikdateien (Kartenkacheln) gespeichert werden. |
|
| Pfad zu den statischen Web-Dateien der Karte (HTML, JS, CSS). |
|
| Automatische Aktualisierung statischer Dateien beim Start des Plugins (auf |
|
| Der TCP-Port, auf dem der integrierte Jetty-Webserver betrieben wird. |
|
| Deaktivierung des integrierten Webservers (nützlich bei der Konfiguration der Kachelauslieferung über einen externen Nginx- oder Apache-Webserver). |
|
| Maximale Anzahl gleichzeitiger Sitzungen auf dem integrierten Webserver zur Ressourcenschonung. |
|
| Erlaubt dem Webserver, symbolischen Links zu folgen. |
|
| Aktivierung des Benutzerauthentifizierungssystems zum Anzeigen der Karte oder zur Kommunikation im Chat. |
|
| Erfordert eine obligatorische Kontoanmeldung, um die Webkarte anzuzeigen. |
|
| Eine Liste vertrauenswürdiger Proxyserver, um echte IP-Adressen der Benutzer korrekt über den |
Konfiguration der Web-Interface-Komponenten (Web-Chat, Marker, Spieler)
Parameter / Klasse | Standardwert | Beschreibung |
|---|---|---|
| Komponentenklasse | Verantwortlich für die Übertragung von Daten zu Spielerstatus, Chat und Kartenaktualisierungen. Hinweis: Bei Verwendung eines externen Webservers (Nginx) muss diese Klasse in |
|
| Anzeige der Gesundheitsindikatoren von Spielern auf der Karte. |
|
| Anzeige der genauen Position der Spieler auf der Karte. |
|
| Ermöglicht das Senden von Nachrichten über die Weboberfläche in den In-Game-Chat von Minecraft. |
|
| Verzögerung (in Sekunden) zwischen Nachrichten im Web-Chat (Spam-Schutz). |
|
| Verbirgt Spieler auf der Karte, wenn sie schleichen (sich ducken). |
|
| Verbirgt Spieler auf der Karte, wenn sie sich im Zuschauermodus befinden. |
|
| Verbirgt Spieler auf der Karte, wenn sie unter dem Effekt des Unsichtbarkeitstranks stehen. |
| Komponentenklasse | Verwaltet die Markerebenen auf der Karte. Ermöglicht die Anzeige von Spawn ( |
|
| Anzeige der Gesichter (Skins) von Spielern auf Kartenmarkierungen. |
|
| Anzeige der Gesundheitsleiste direkt über dem Spielersymbol auf der Karte. |
Optimierung und CPU-Leistungsgrenzen (TPS/MSPT)
Parameter | Standardwert | Beschreibung |
|---|---|---|
|
| Intervall (in Sekunden) von Pausen während der Durchführung eines vollständigen Renderns ( |
|
| Maximale Anzahl an Chunks, die Dynmap in einem Spiel-Tick (1/20 Sekunde) in den Speicher laden kann. Eine Verringerung dieses Parameters reduziert Lags auf dem Server. |
|
| Zeitlimit pro Tick für den Rendering-Thread (in Millisekunden). |
|
| Wenn die TPS-Rate des Servers unter diesen Wert fällt, pausiert Dynmap automatisch das Rendern regelmäßiger Kachelaktualisierungen. |
|
| Wenn die TPS-Rate des Servers unter diesen Wert fällt, stoppt Dynmap die Ausführung der vollständigen Weltgenerierung ( |
|
| Mindest-TPS, bei dem Berechnungen für verkleinerte (zoom-out) Kartenstufen zugelassen sind. |
|
| Anzahl der Chunks im Snapshot-Cache der Landschaft. |
|
| Nutzung von Soft References für den Chunk-Cache. Ermöglicht der JVM, den Karten-Cache im Falle einer drohenden OutOfMemory-Fehlermeldung zu leeren. |
Optimierungsparameter in configuration.txt
Um die Serverleistung aufrechtzuerhalten, sollten folgende Variablen in der Konfigurationsdatei beachtet werden:
deftemplatesuffix— Rendering-Qualitätssuffix. Werte wievlowres(sehr niedrige Qualität) oderlowres(niedrig) ermöglichen eine deutlich schnellere Kartengenerierung und reduzieren die Dateigröße um das 4- bis 8-fache im Vergleich zum Standardhires.tilespath— ermöglicht die Umleitung der Kartenspeicherung auf eine andere Server-Festplatte, wodurch der Hauptspeicher vor Überfüllung geschützt wird.webserver-port— Port zur Verbindung mit der Karte (anstelle des Standard-Ports8123).
Rendering-Verwaltungsbefehle
Die Kartengenerierung wird über die Serverkonsole durch einen Operator mit Level 4 gesteuert:
/dynmap fullrender <welt>— startet das vollständige Rendern der angegebenen Welt. Es wird empfohlen, dies nur nach einer vollständigen Vorab-Generierung der Chunks (Chunk-Pregeneration) und in Zeiten geringer Online-Aktivität auszuführen./dynmap radiusrender <radius>— aktualisiert die Karte nur in einem bestimmten Radius um den Spieler herum, was nach dem Bau großer Städte nützlich ist./dynmap cancelrender— stoppt laufende Rendering-Prozesse bei einer CPU-Überlastung./dynmap pause all— pausiert vorübergehend alle Kartenberechnungen, um Ressourcen für die Stabilisierung der TPS freizugeben.
Fazit
Das Dynmap-Plugin ist ein leistungsstarkes Tool zur Visualisierung der Welt und zur Verbesserung der Interaktion von Spielern auf großen Minecraft-Servern. Dank des isometrischen 3D-Renderings und der Integration in ein Web-Interface verwandelt es die Karte in ein vollwertiges Informationsportal für das Projekt.
Im Vergleich zu Alternativen wie BlueMap (das für die vollständige 3D-Ansicht schweres WebGL nutzt) oder Squaremap (das ausschließlich eine schnelle 2D-Karte ohne volumetrische Modelle bietet) stellt Dynmap eine optimale Balance an Funktionen dar. Allerdings erfordern hohe Speicheranforderungen und ständige I/O-Belastung eine besondere Aufmerksamkeit der Administratoren in Bezug auf Weltengrenzen und die richtige Wahl der Auflösung. Das Plugin ist eine ausgezeichnete Wahl für große Survival-Server, Anarchie- oder RP-Welten.
Installation
Eine typische Installation dauert etwa 5 Minuten. Der Ablauf ist gleich; nur Loader und der passende Build unterscheiden sich.
- 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.











