Dynmap: recension av 3D-onlinekartpluginet för Minecraft
Detaljerad recension av Dynmap-pluginet för Minecraft-servrar. Rendering av isometriska 3D-kartor, konfiguration av inbyggd webbserver…
Detaljerad recension av Dynmap-pluginet för Minecraft-servrar. Rendering av isometriska 3D-kartor, konfiguration av inbyggd webbserver, kompatibilitet och Ng...
Beroenden:
Laddare: Paper / Spigot / Fabric / Forge
Minecraft-version: 1.20.x – 1.21.x
I flerspelarspelet Minecraft är koordination mellan spelare, sökande efter lediga zoner för bygge och övervakning av aktivitet över stora territorier ofta svårt. Grundverktyg erbjuder endast lokala papperskartor som inte täcker hela världen och inte uppdateras i realtid. Verktyget Dynmap löser detta problem genom att skapa en interaktiv karta över spelvärlden som är tillgänglig via en vanlig webbläsare. Den fungerar enligt samma princip som geoinformationstjänster som Google Maps, och visar detaljerat landskap, spelarpositioner, gränser för privata regioner och meddelanden från spelchatten.
Hur renderingsmotorn fungerar och hur plattor sparas
Kärnan i Dynmaps funktion är en egen renderingspipeline som omvandlar 3D-data från Minecraft-chunks till en uppsättning 2D-grafikfiler (plattor eller tiles).
Typer av rendering och projektioner
Pluginet stöder tre huvudalternativ för att visa världen:
Platt vy (Flat): En klassisk 2D-karta med en uppifrån-och-ner-vy. Den förbrukar minst diskutrymme och CPU-resurser vid generering.
Isometrisk 3D-vy (Surface): En volymetrisk 3D-projektion i vinkel som låter dig bedöma höjdskillnader i landskapet, byggnadsarkitektur och vattendjup.
Grottevy (Cave): Renderar underjordiska håligheter och gruvor och visar grottstrukturen under ytan.
Sparande av filer och diskbelastning
Alla genererade kartplattor sparas som standard PNG- eller JPG-bilder i mappen plugins/dynmap/web/tiles/. Vid varje blockändring av spelare (byggande, förstörelse, explosioner) startar Dynmap en inkrementell uppdateringsprocess — endast de plattor som direkt faller inom zonen för den uppdaterade chunken ritas om.
Serverns disk-delsystem upplever betydande belastning (I/O-operationer) under den initiala renderingen av världen. Vid hög upplösning kan mappen med plattor för en stor karta nå tiotals eller till och med hundratals gigabyte, vilket kräver användning av snabba SSD-enheter och begränsning av världens gränser (WorldBorder).
alt: [Gränssnitt för Dynmap-webbkartan i webbläsaren som visar en isometrisk 3D-vy över spawn]
Webbserverinfrastruktur: Jetty kontra Nginx
Dynmap erbjuder två layouter för webbgränssnittet, beroende på serverns storlek och förväntade belastning.
Inbyggd webbserver Jetty
Som standard, efter installationen, startar pluginet automatiskt den integrerade Jetty-webbservern på port 8123. Detta alternativ kräver inga ytterligare konfigurationer: administratören behöver bara öppna port 8123 på värden, varefter kartan blir tillgänglig på http://Serverns_IP:8123/.

Integration med en extern server (Nginx eller Apache)
För offentliga servrar med högt spelarantal skapar den inbyggda Jetty en ytterligare belastning på Java-spelprocessen, eftersom varje webbanvändare förbrukar trafik direkt via spelservern. För optimering rekommenderas det att konfigurera servering av plattor genom en oberoende Nginx- eller Apache-webbserver.
I den här installationen är Nginx konfigurerat att fungera direkt med mappen web/tiles/ och förbigår Minecraft-spelprocessens kärna. Detta har flera viktiga fördelar:
Skydd av speltråden: Webbläsarförfrågningar hanteras av en separat webbserver, vilket eliminerar mikro-frysningar (TPS-drops) i spelet.
HTTPS-kryptering: Möjligheten att enkelt konfigurera gratis Let's Encrypt SSL-certifikat för en säker anslutning.
Offline-tillgänglighet: Webbkartan över landskapet förblir tillgänglig för visning även under en omstart eller nedstängning av Minecraft-spelservern.
Konfigurationsinställningar och renderhantering
Pluginets huvudparametrar redigeras i filen plugins/dynmap/configuration.txt.

Allmänna inställningar för rendering och sparande
Parameter | Standardvärde | Beskrivning |
|---|---|---|
|
| Definierar kvaliteten på render-mallarna som standard ( |
|
| Val av lagring för kartplattor. Tillgängliga alternativ: |
|
| Intervall (i sekunder) för att kontrollera och rendera plattor från uppdateringskön. |
|
| Antalet plattor i uppdateringskön efter vilket renderintervallet accelereras. |
|
| Det accelererade renderintervallet (i sekunder) när kön överstiger tröskeln. |
|
| Antal plattor som renderas samtidigt (rekommenderas att ställas in på hälften av antalet CPU-kärnor). |
|
| Prioritet för render-trådar. Om |
|
| Sparande av kön med väntande renderingsuppgifter när servern stängs av eller startas om. |
|
| Fördröjning (i sekunder) innan rendering av ändrade block påbörjas. Förhindrar konstant omritning av plattor på grund av automatisering (redstone, kolvar, etc.). |
|
| Aktivering av platt-hashning. Om plattbilden inte har ändrats efter renderingen skrivs filen inte över på disken, vilket sparar diskresurser. |
|
| Beräkning av mjuk belysning (som i spelet) vid generering av kartan. |
|
| Format och kvalitet på plattbilder (som standard JPG med 90% kvalitet). Kan ändras till |
|
| Använd spelets genererade texturer (som matchar klientens resurspaket) istället för statiska. |
|
| Stöd för Connected Texture Mod (CTM) från resurspaket. |
|
| Stöd för anpassade biom- och lövfärger från resurspaket. |
|
| Lista över spelhändelser (placera/förstöra block, trädtillväxt, explosioner) som initierar platt-renderingskön. |
Webbinfrastruktur och filsökvägar
Parameter | Standardvärde | Beskrivning |
|---|---|---|
|
| Sökväg i plugin-katalogen där grafiska kartfiler (plattor) kommer att sparas. |
|
| Sökväg till de statiska kartwebbfilerna (HTML, JS, CSS). |
|
| Automatisk uppdatering av statiska filer när pluginet startar (sätt till |
|
| TCP-port som den inbyggda Jetty-webbservern körs på. |
|
| Inaktivera den inbyggda webbservern (användbart vid inställning av plattservering via en extern Nginx- eller Apache-webbserver). |
|
| Maximalt antal samtidiga sessioner på den inbyggda webbservern för att spara resurser. |
|
| Tillåt webbservern att följa symlänkar (symboliska länkar). |
|
| Aktivering av användarauktoriseringssystemet för att visa kartan eller chatta. |
|
| Kräv inloggning på konto för att se webbkartan. |
|
| Lista över betrodda proxyservrar för korrekt upptäckt av verkliga användares IP-adresser via headern |
Inställningar för webbgränssnittets komponenter (webbchatt, markörer, spelare)
Parameter / Klass | Standardvärde | Beskrivning |
|---|---|---|
| Komponentklass | Ansvarar för överföring av data om spelarstatus, chatt och kartuppdateringar. Obs! Om du använder en extern webbserver (Nginx) måste denna klass ändras till |
|
| Visa spelarnas hälsoindikatorer på kartan. |
|
| Visa spelarnas exakta position på kartan. |
|
| Tillåt att skicka meddelanden från webbgränssnittet till Minecraft-spelchatten. |
|
| Fördröjning (i sekunder) mellan meddelanden i webbchatten (spamskydd). |
|
| Dölj spelare från kartan om de smyger (sneaking). |
|
| Dölj spelare från kartan om de är i åskådarläge (spectator mode). |
|
| Dölj spelare från kartan om de är under påverkan av en osynlighetsdryck. |
| Komponentklass | Hanterar markörlager på kartan. Tillåter att visa spawn ( |
|
| Visa spelares ansikten (skins) på kartmarkörer. |
|
| Visa hälsofältet direkt ovanför spelarikonen på kartan. |
Optimering och CPU-prestandagränser (TPS/MSPT)
Parameter | Standardvärde | Beskrivning |
|---|---|---|
|
| Intervall (i sekunder) för pauser vid full rendering ( |
|
| Maximalt antal chunks som Dynmap kan ladda i minnet per spel-tick (1/20 av en sekund). Att minska denna parameter minskar serverlag. |
|
| Måltidsgräns per tick för render-tråden (i millisekunder). |
|
| Om serverns TPS faller under detta värde kommer Dynmap automatiskt att pausa renderingen av platt-uppdateringar. |
|
| Om serverns TPS faller under detta värde avbryter Dynmap den fullständiga världsrendering ( |
|
| Den minsta TPS för vilken det är tillåtet att utföra beräkningar av utzoomade (zoom-out) kartnivåer. |
|
| Antal chunks i landskapsögonblicksbildens cache. |
|
| Använd mjuka referenser (Soft References) för chunk-cachen. Tillåter JVM att rensa kartcachen om det finns en risk för OutOfMemory-fel. |
Optimeringsparametrar i configuration.txt
För att bibehålla serverns prestanda är det värt att uppmärksamma följande konfigurationsfilvariabler:
deftemplatesuffix— renderkvalitetssuffixet. Värdenavlowres(mycket låg kvalitet) ellerlowres(låg) gör det möjligt att avsevärt påskynda kartgenereringen och minska filstorleken med 4-8 gånger jämfört med standardhires.tilespath— låter dig omdirigera sparandet av kartan till en annan serverhårddisk för att skydda huvudenheten från att överfyllas.webserver-port— port för anslutning till kartan (istället för standard8123).
Kommandon för hantering av rendering
Genereringen av kartan hanteras via serverkonsolen av en operatör med nivå 4:
/dynmap fullrender <värld>— startar fullständig rendering av den angivna världen. Rekommenderas att utföras endast efter fullständig förgenerering av chunks (chunk pre-generation) och under perioder med lågt antal spelare inloggade./dynmap radiusrender <radie>— uppdaterar kartan endast inom en viss radie runt spelaren, vilket är bekvämt efter att ha byggt stora städer./dynmap cancelrender— stoppar pågående renderingsprocesser i händelse av CPU-överbelastning./dynmap pause all— pausar tillfälligt alla kartberäkningar och frigör resurser för att stabilisera TPS.
Slutsats
Dynmap-pluginet är ett kraftfullt verktyg för att visualisera världen och förbättra spelarinteraktionen på stora Minecraft-servrar. Med sin isometriska 3D-rendering och webbgränssnittsintegration förvandlar det kartan till en fullfjädrad informationsportal för projektet.
Jämfört med alternativ som BlueMap (som använder tung WebGL för full 3D-visning) eller Squaremap (som enbart erbjuder en snabb 2D-karta utan 3D-modeller), erbjuder Dynmap en optimal balans av funktioner. Höga krav på diskutrymme och den ständiga belastningen på I/O-systemet kräver dock att administratörer ägnar stor uppmärksamhet åt världens gränser och korrekt val av upplösning. Pluginet är ett utmärkt val för stora servrar med inriktning på överlevnad, anarki eller RP-världar.
Installation
En typisk installation tar ungefär 5 minuter. Flödet är detsamma; bara Loader och den matchande builden skiljer sig.
- 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.











