Dynmap: Gjennomgang av online 3D-kart-plugin for Minecraft
Detaljert gjennomgang av Dynmap-pluginen for Minecraft-servere. Isometrisk 3D-kartgjengivelse, konfigurasjon av den innebygde webserveren…
Detaljert gjennomgang av Dynmap-pluginen for Minecraft-servere. Isometrisk 3D-kartgjengivelse, konfigurasjon av den innebygde webserveren, kompatibilitet og ...
Avhengigheter:
Laster: Paper / Spigot / Fabric / Forge
Minecraft-versjon: 1.20.x – 1.21.x
I flerspillerspillet Minecraft skaper koordinering mellom spillere, det å finne ledige byggesoner og sporing av aktivitet over store områder ofte vanskeligheter. De grunnleggende verktøyene tilbyr kun lokale papirkart som ikke dekker hele verden og ikke oppdateres i sanntid. Verktøyet Dynmap løser dette problemet ved å lage et interaktivt kart over spillverdenen, tilgjengelig via en vanlig nettleser. Det fungerer etter prinsippet for geografiske informasjonstjenester som Google Maps, og viser detaljert landskap, spillerplasseringer, grenser for beskyttede regioner og chatmeldinger i spillet.
Hvordan gjengivelsesmotoren og lagring av fliser (tiles) fungerer
Kjernen i Dynmaps funksjonalitet ligger i dens egen gjengivelsespipeline, som konverterer tredimensjonale Minecraft chunk-data til et sett med todimensjonale bildefiler (fliser eller tiles).
Gjengivelsestyper og projeksjoner
Pluginen støtter tre hovedvisningsalternativer for verdenen:
Flat visning (Flat): Et klassisk 2D-kart med visning ovenfra og ned. Det bruker minst diskplass og prosessorressurser under genereringen.
Isometrisk 3D-visning (Surface): En volumetrisk tredimensjonal projeksjon i en bestemt vinkel, som gjør det mulig å vurdere høydeendringer i landskapet, bygningsarkitektur og vanndybde.
Hulevisning (Cave): Gjengir underjordiske hulrom og gruver, og viser strukturen til huler under overflatenivået.
Fillagring og diskbelastning
Alle genererte kartfliser lagres som standard PNG- eller JPG-bilder i mappen plugins/dynmap/web/tiles/. Ved hver blokkendring gjort av spillere (bygging, ødeleggelse, eksplosjoner) utløser Dynmap en inkrementell oppdateringsprosess – bare de flisene som faller direkte inn i den oppdaterte chunk-sonen tegnes på nytt.
Serverens diskundersystem opplever en betydelig belastning (I/O-operasjoner) under den første gjengivelsen av verdenen. Ved høye oppløsninger kan flisemappen til et stort kart nå opp i titalls eller hundrevis av gigabyte, noe som krever bruk av raske SSD-stasjoner og at det settes en verdensgrense (WorldBorder).
alt: [Grensesnittet for Dynmap-webkartet i en nettleser som viser en isometrisk 3D-visning av spawn]
Webserverinfrastruktur: Jetty vs Nginx
Dynmap tilbyr to distribusjonsskjemaer for webgrensesnittet, avhengig av serverens skala og forventet belastning.
Innebygd Jetty webserver
Som standard, etter installasjonen, starter pluginen automatisk den integrerte Jetty-webserveren på port 8123. Dette alternativet krever ingen ekstra konfigurasjon: administratoren trenger bare å åpne port 8123 hos hostingleverandøren, hvoretter kartet blir tilgjengelig på http://Server_IP:8123/.

Integrasjon med en ekstern server (Nginx eller Apache)
For offentlige servere med høyt antall spillere skaper den innebygde Jetty en ekstra overhead for Java-spillprosessen, da hver nettbruker forbruker trafikk direkte gjennom spillserveren. For optimalisering anbefales det å konfigurere levering av fliser via en uavhengig Nginx- eller Apache-webserver.
I dette oppsettet konfigureres Nginx til å fungere direkte med mappen web/tiles/, og omgår Minecrafts spillmotor. Dette har flere viktige fordeler:
Beskyttelse av spilltråden: Nettleserforespørsler håndteres av en separat webserver, noe som eliminerer mikrolag (TPS-fall) i spillet.
HTTPS-kryptering: Muligheten til å enkelt konfigurere gratis Let's Encrypt SSL-sertifikater for en sikker tilkobling.
Offline tilgjengelighet: Webkartet over landskapet forblir tilgjengelig for visning, selv ved omstart eller avslutning av Minecraft-spillserveren.
Konfigurasjonsinnstillinger og gjengivelsesstyring
Hovedparametrene for pluginen redigeres i filen plugins/dynmap/configuration.txt.

Generelle innstillinger for gjengivelse og lagring
Parameter | Standardverdi | Beskrivelse |
|---|---|---|
|
| Definerer standardkvaliteten på gjengivelsesmaler ( |
|
| Valg av lagring for kartfliser. Tilgjengelige alternativer: |
|
| Intervall (i sekunder) for å kontrollere og gjengi fliser fra oppdateringskøen. |
|
| Antallet fliser i oppdateringskøen før gjengivelsesintervallet akselereres. |
|
| Akselerert gjengivelsesintervall (i sekunder) når køen overskrider grensen. |
|
| Antall fliser som gjengis samtidig (det anbefales å sette det til halvparten av prosessorkjernene). |
|
| Prioritet for gjengivelsestråder. Hvis satt til |
|
| Lagrer køen av uferdige gjengivelsesoppgaver ved serveravslutning eller omstart. |
|
| Forsinkelse (i sekunder) før gjengivelse av modifiserte blokker. Forhindrer konstant gentegning av fliser på grunn av automatiserte systemer (redstone, stempler osv.). |
|
| Aktiverer flise-hashing. Hvis flisebildet ikke er endret etter gjengivelse, overskrives ikke filen på disken, noe som sparer stasjonens levetid. |
|
| Beregning av myk belysning (som i spillet) under kartgenerering. |
|
| Format og kvalitet på flisebildene (standard er JPG ved 90 % kvalitet). Kan endres til |
|
| Bruker spillgenererte teksturer (som samsvarer med klientens ressurspakke) i stedet for de statiske. |
|
| Støtte for Connected Texture Mod fra ressurspakker. |
|
| Støtte for tilpassede biom- og bladfarger fra ressurspakker. |
|
| En liste over hendelser i spillet (plassering/ødeleggelse av blokker, trevekst, eksplosjoner) som starter gjengivelseskøen for fliser. |
Webinfrastruktur og filbaner
Parameter | Standardverdi | Beskrivelse |
|---|---|---|
|
| Banen innenfor plugin-katalogen der grafiske filer (kartfliser) vil bli lagret. |
|
| Bane til kartets statiske webfiler (HTML, JS, CSS). |
|
| Automatisk oppdatering av statiske filer når pluginen starter (sett til |
|
| TCP-porten som den innebygde Jetty-webserveren vil operere på. |
|
| Deaktiverer den innebygde webserveren (nyttig når du konfigurerer levering av fliser via en ekstern Nginx- eller Apache-webserver). |
|
| Maksimalt antall samtidige økter på den innebygde webserveren for å spare ressurser. |
|
| Tillater webserveren å følge symbolske lenker. |
|
| Aktiverer brukerautentiseringssystemet for å se kartet eller kommunisere i chatten. |
|
| Krever obligatorisk kontopålogging for å se webkartet. |
|
| En liste over pålitelige proxyserver for å korrekt bestemme spillernes sanne IP-adresser via |
Konfigurasjon av webgrensesnittkomponenter (Webchat, Markører, Spillere)
Parameter / Klasse | Standardverdi | Beskrivelse |
|---|---|---|
| Komponentklasse | Ansvarlig for overføring av data om spillerstatus, chat og kartoppdateringer. Merk: Ved bruk av en ekstern webserver (Nginx), må denne klassen endres til |
|
| Viser spilleres helseindikatorer på kartet. |
|
| Viser den nøyaktige plasseringen til spillerne på kartet. |
|
| Tillater sending av meldinger fra webgrensesnittet til Minecraft-chatten i spillet. |
|
| Forsinkelse (i sekunder) mellom meldinger i webchatten (spambeskyttelse). |
|
| Skjuler spillere fra kartet hvis de sniker seg (crouch). |
|
| Skjuler spillere fra kartet hvis de er i tilskuermodus. |
|
| Skjuler spillere fra kartet hvis de er under påvirkning av usynlighetsdrikken. |
| Komponentklasse | Administrerer markørlagene på kartet. Gjør det mulig å vise spawn ( |
|
| Viser spilleres ansikter (skins) på kartmarkører. |
|
| Viser en helsebar direkte over spillerikonet på kartet. |
Optimalisering og grenser for CPU-ytelse (TPS/MSPT)
Parameter | Standardverdi | Beskrivelse |
|---|---|---|
|
| Intervall (i sekunder) for pauser under utførelsen av en full gjengivelse ( |
|
| Det maksimale antallet chunks som Dynmap kan laste inn i minnet i løpet av ett spill-tick (1/20 av et sekund). Å redusere denne parameteren minsker forsinkelser (lag) på serveren. |
|
| Måltidsgrense pr. tick for gjengivelsestråden (i millisekunder). |
|
| Hvis serverens TPS-rate faller under denne verdien, vil Dynmap automatisk sette gjengivelsen av vanlige fliseoppdateringer på pause. |
|
| Hvis serverens TPS-rate faller under denne verdien, stopper Dynmap utførelsen av hele verdensgenereringen ( |
|
| Den minste TPS-en som kreves for å tillate beregning av utzoomede (zoom-out) kartnivåer. |
|
| Antall chunks lagret i landskapets øyeblikksbildebuffer (snapshot cache). |
|
| Bruken av myke referanser (Soft References) for chunk-cachen. Lar JVM tømme kartcachen ved fare for en forestående OutOfMemory-feil. |
Optimaliseringsparametere i configuration.txt
For å bevare serverytelsen, vær oppmerksom på følgende variabler i konfigurasjonsfilen:
deftemplatesuffix— suffiks for gjengivelseskvalitet. Verdier somvlowres(svært lav kvalitet) ellerlowres(lav) gir betydelig raskere kartgenerering og reduserer filstørrelsen med 4 til 8 ganger sammenlignet med standardenhires.tilespath— gir muligheten til å omdirigere kartlagringene til en annen serverharddisk, noe som beskytter hovedstasjonen mot overfylling.webserver-port— porten for å koble til kartet (i stedet for standarden8123).
Kommandoer for styring av gjengivelse
Kartgenerering styres via serverkonsollen av en operatør på nivå 4:
/dynmap fullrender <verden>— starter full gjengivelse av den spesifiserte verdenen. Det anbefales å bruke dette bare etter full pre-generering av chunks (chunk pre-generation) og i perioder med lav online aktivitet./dynmap radiusrender <radius>— oppdaterer bare kartet innenfor en bestemt radius rundt spilleren, noe som er svært nyttig etter bygging av store byer./dynmap cancelrender— avslutter pågående gjengivelsesprosesser ved overbelastning av prosessoren./dynmap pause all— setter midlertidig alle kartberegninger på pause, noe som hjelper til med å frigjøre ressurser for å stabilisere TPS-en.
Konklusjon
Dynmap-pluginen er et kraftig verktøy for å visualisere verden og forbedre spillerinteraksjonen på store Minecraft-servere. Takket være opprettelsen av isometriske 3D-modeller og integrasjonen via et webgrensesnitt, forvandles kartet til en fullverdig informasjonsportal for prosjektet.
Sammenlignet med alternative alternativer som BlueMap (som bruker mye WebGL for full 3D-visning) eller Squaremap (fokusert utelukkende på et veldig raskt 2D-kart uten volumetriske modeller), tilbyr Dynmap den mest optimale balansen i funksjonalitet. De høye kravene til diskplass og konstant I/O-belastning vil imidlertid kreve at administratorer er nøye med å fastsette verdensgrenser og det riktige valget av oppløsning. Denne utvidelsen er et utmerket valg for store overlevelses-, anarki- eller RP-servere.
Installasjon
En typisk installasjon tar omtrent 5 minutter. Flyten er den samme; bare Loader og den matchende builden er forskjellige.
- 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.











