Dynmap: Minecraftin online-3D-karttaliitännäisen arvostelu
Yksityiskohtainen katsaus Minecraft-palvelimien Dynmap-liitännäiseen. Isometrinen 3D-kartan renderöinti, sisäänrakennetun verkkopalvelimen…
Yksityiskohtainen katsaus Minecraft-palvelimien Dynmap-liitännäiseen. Isometrinen 3D-kartan renderöinti, sisäänrakennetun verkkopalvelimen konfigurointi, yht...
Riippuvuudet:
Lataaja: Paper / Spigot / Fabric / Forge
Minecraft-versio: 1.20.x – 1.21.x
Moninpelissä Minecraftissa pelaajien välinen koordinaatio, vapaiden rakennusalueiden etsiminen ja toiminnan seuraaminen laajoilla alueilla aiheuttavat usein vaikeuksia. Perustyökalut tarjoavat vain paikallisia paperikarttoja, jotka eivät kata koko maailmaa eivätkä päivity reaaliajassa. Dynmap-työkalu ratkaisee tämän ongelman luomalla pelimaailmasta interaktiivisen kartan, johon pääsee käsiksi tavallisen verkkoselaimen kautta. Se toimii Google Mapsin kaltaisten paikkatietopalveluiden periaatteella ja näyttää yksityiskohtaisen maaston, pelaajien sijainnit, suojattujen alueiden rajat ja pelin sisäiset chat-viestit.
Renderöintimoottorin toiminta ja tiilien tallennus
Dynmapin toiminnallisuuden ytimessä on sen oma renderöintiliukuhihna, joka muuntaa kolmiulotteiset Minecraftin chunk-tiedot joukoksi kaksiulotteisia grafiikkatiedostoja (tiiliä tai tilejä).
Renderöintityypit ja projektiot
Liitännäinen tukee kolmea päävaihtoehtoa maailman näyttämiseen:
Litteä näkymä (Flat): Klassinen 2D-kartta ylhäältä alaspäin -näkymällä. Se kuluttaa vähiten levytilaa ja suorittimen resursseja luomisen aikana.
Isometrinen 3D-näkymä (Surface): Volumetrinen kolmiulotteinen projektio tietyssä kulmassa, jonka avulla voidaan arvioida maiseman korkeuseroja, rakennusten arkkitehtuuria ja veden syvyyttä.
Luolanäkymä (Cave): Renderöi maanalaiset onkalot ja kaivokset näyttäen luolien rakenteen pinnan alapuolella.
Tiedostojen tallennus ja levykuormitus
Kaikki luodut karttatiilet tallennetaan standardeina PNG- tai JPG-kuvina hakemistoon plugins/dynmap/web/tiles/. Jokaisen pelaajien tekemän lohkomuutoksen (rakentaminen, tuhoaminen, räjähdykset) yhteydessä Dynmap käynnistää inkrementaalisen päivitysprosessin — vain ne tiilet piirretään uudelleen, jotka osuvat suoraan päivitetylle chunk-alueelle.
Palvelimen levyalijärjestelmä kokee merkittävän kuormituksen (I/O-operaatiot) maailman alkuperäisen renderöinnin aikana. Korkeilla resoluutioilla suuren kartan tiilihakemisto voi nousta kymmeniin tai jopa satoihin gigatavuihin, mikä vaatii nopeiden SSD-asemien käyttöä ja maailmanrajojen (WorldBorder) asettamista.
alt: [Dynmap-verkkokartan käyttöliittymä selaimessa, jossa näkyy isometrinen 3D-näkymä spawn-pisteestä]
Verkkopalvelininfrastruktuuri: Jetty vs Nginx
Dynmap tarjoaa kaksi käyttöönottomallia verkkokäyttöliittymälle palvelimen mittakaavasta ja odotetusta kuormituksesta riippuen.
Sisäänrakennettu Jetty-verkkopalvelin
Oletuksena asennuksen jälkeen liitännäinen käynnistää automaattisesti integroidun Jetty-verkkopalvelimen portissa 8123. Tämä vaihtoehto ei vaadi lisäkonfiguraatioita: ylläpitäjän tarvitsee vain avata portti 8123 isännöintipalveluntarjoajalla, minkä jälkeen kartta on saatavilla osoitteessa http://Palvelimen_IP:8123/.

Integrointi ulkoisen palvelimen (Nginx tai Apache) kanssa
Julkisilla palvelimilla, joilla on suuri pelaajamäärä, sisäänrakennettu Jetty luo lisäkuormaa Java-peliprosessille, koska jokainen verkkokäyttäjä kuluttaa liikennettä suoraan pelipalvelimen kautta. Optimointia varten on suositeltavaa määrittää tiilien toimitus riippumattoman Nginx- tai Apache-verkkopalvelimen kautta.
Tässä asetuksessa Nginx on määritetty toimimaan suoraan web/tiles/ -hakemiston kanssa ohittaen Minecraftin pelimoottorin. Tällä on useita tärkeitä etuja:
Pelithreadin suojaus: Selainpyyntöjä käsittelee erillinen verkkopalvelin, mikä poistaa pelin mikrotakkuilut (TPS-pudotukset).
HTTPS-salaus: Mahdollisuus määrittää helposti ilmaiset Let's Encrypt SSL-sertifikaatit turvallista yhteyttä varten.
Offline-saatavuus: Maiseman verkkokartta on katseltavissa myös silloin, kun Minecraft-pelipalvelin käynnistetään uudelleen tai sammutetaan.
Konfiguraatioasetukset ja renderöinnin hallinta
Liitännäisen tärkeimmät parametrit muokataan tiedostossa plugins/dynmap/configuration.txt.

Yleiset renderöinti- ja tallennusasetukset
Parametri | Oletusarvo | Kuvaus |
|---|---|---|
|
| Määrittää renderöintimallien oletuslaadun ( |
|
| Karttatiilien tallennustavan valinta. Saatavilla olevat vaihtoehdot: |
|
| Intervalli (sekunteina) tiilien tarkistamiseen ja renderöintiin päivitysjonosta. |
|
| Tiilien määrä päivitysjonossa, jonka ylittämisen jälkeen renderöintiväliä nopeutetaan. |
|
| Nopeutettu renderöintiväli (sekunteina), kun jono ylittää kynnyksen. |
|
| Samanaikaisesti renderöitävien tiilien määrä (suositellaan asetettavaksi puoleen suorittimen ytimien määrästä). |
|
| Renderöintisäikeiden prioriteetti. Jos |
|
| Tallentaa keskeneräisten renderöintitehtävien jonon palvelimen sammutuksen tai uudelleenkäynnistyksen yhteydessä. |
|
| Viive (sekunteina) ennen muokattujen lohkojen renderöintiä. Estää tiilien jatkuvan uudelleenpiirtämisen automatisoitujen järjestelmien (redstone, männät jne.) vuoksi. |
|
| Ottaa käyttöön tiilien tarkistussumman (hashing). Jos tiilen kuva ei ole muuttunut renderöinnin jälkeen, levyllä olevaa tiedostoa ei korvata, mikä säästää aseman käyttöikää. |
|
| Pehmeän valaistuksen laskeminen (kuten pelissä) kartan luomisen aikana. |
|
| Tiilikuvien muoto ja laatu (oletuksena on JPG 90 % laadulla). Voidaan vaihtaa muotoon |
|
| Käyttää pelin luomia tekstuureja (vastaavat asiakkaan resurssipakettia) staattisten sijaan. |
|
| Resurssipakettien Connected Texture Mod -tuki. |
|
| Resurssipakettien mukautettujen biomi- ja lehtivärien tuki. |
|
| Luettelo pelin sisäisistä tapahtumista (lohkojen sijoittaminen/tuhoaminen, puiden kasvu, räjähdykset), jotka käynnistävät tiilien renderöintijonon. |
Verkkoinfrastruktuuri ja tiedostopolut
Parametri | Oletusarvo | Kuvaus |
|---|---|---|
|
| Polku liitännäishakemiston sisällä, johon graafiset tiedostot (karttatiilet) tallennetaan. |
|
| Polku kartan staattisiin verkkotiedostoihin (HTML, JS, CSS). |
|
| Staattisten tiedostojen automaattinen päivitys liitännäisen käynnistyessä (aseta arvoon |
|
| TCP-portti, jossa sisäänrakennettu Jetty-verkkopalvelin toimii. |
|
| Poistaa sisäänrakennetun verkkopalvelimen käytöstä (hyödyllinen, kun tiilien toimitus määritetään ulkoisen Nginx- tai Apache-verkkopalvelimen kautta). |
|
| Samanaikaisten istuntojen enimmäismäärä sisäänrakennetussa verkkopalvelimessa resurssien säästämiseksi. |
|
| Sallii verkkopalvelimen seurata symbolisia linkkejä. |
|
| Ottaakäyttöön käyttäjien todennusjärjestelmän kartan katselemista tai chatissa viestimistä varten. |
|
| Vaatii pakollisen tilille kirjautumisen verkkokartan katselua varten. |
|
| Luettelo luotetuista välityspalvelimista (proxies) pelaajien todellisten IP-osoitteiden määrittämiseksi oikein |
Verkkokäyttöliittymän komponenttien konfigurointi (Verkkochat, Merkit, Pelaajat)
Parametri / Luokka | Oletusarvo | Kuvaus |
|---|---|---|
| Komponenttiluokka | Vastaa tiedonsiirrosta pelaajien tilasta, chatista ja karttapäivityksistä. Huomaa: Kun käytetään ulkoista verkkopalvelinta (Nginx), tämä luokka on vaihdettava muotoon |
|
| Näyttää pelaajien terveysindikaattorit kartalla. |
|
| Näyttää pelaajien tarkan sijainnin kartalla. |
|
| Sallii viestien lähettämisen verkkokäyttöliittymästä Minecraftin pelinsisäiseen chattiin. |
|
| Viive (sekunteina) verkkochatin viestien välillä (roskapostisuojaus). |
|
| Piilottaa pelaajat kartalta, jos he hiipivät (kyykkivät). |
|
| Piilottaa pelaajat kartalta, jos he ovat katsojatilassa (spectator mode). |
|
| Piilottaa pelaajat kartalta, jos he ovat näkymättömyysjuoman vaikutuksen alaisena. |
| Komponenttiluokka | Hallitsee kartan merkkikerroksia. Mahdollistaa aloituspisteen ( |
|
| Näyttää pelaajien kasvot (skinit) karttamerkeissä. |
|
| Näyttää terveyspalkin suoraan pelaajan kuvakkeen yläpuolella kartalla. |
Optimointi ja suorittimen suorituskykyrajat (TPS/MSPT)
Parametri | Oletusarvo | Kuvaus |
|---|---|---|
|
| Taukojen pituus (sekunteina) täyden renderöinnin ( |
|
| Maksimimäärä chunkkeja, jotka Dynmap voi ladata muistiin yhden pelitickin (1/20 sekuntia) aikana. Tämän parametrin pienentäminen vähentää palvelimen viivettä (lageja). |
|
| Tavoiteaikaraja tickiä kohden renderöintisäikeelle (millisekunteina). |
|
| Jos palvelimen TPS-nopeus putoaa tämän arvon alle, Dynmap keskeyttää automaattisesti säännöllisten tiilipäivitysten renderöinnin. |
|
| Jos palvelimen TPS-nopeus putoaa tämän arvon alle, Dynmap lopettaa täyden maailmanluonnin ( |
|
| Pienin TPS, joka vaaditaan loitonnettujen (zoom-out) karttatasojen laskennan sallimiseen. |
|
| Maiseman tilannekuvavälimuistiin (snapshot cache) tallennettujen chunkkien määrä. |
|
| Pehmeiden viittausten (Soft References) käyttö chunk-välimuistille. Mahdollistaa JVM:n tyhjentää karttavälimuistin uhkaavan OutOfMemory-virheen sattuessa. |
Optimointiparametrit tiedostossa configuration.txt
Palvelimen suorituskyvyn ylläpitämiseksi kiinnitä huomiota seuraaviin konfiguraatiotiedoston muuttujiin:
deftemplatesuffix— renderöintilaadun jälkiliite. Arvot kutenvlowres(erittäin matala laatu) tailowres(matala) mahdollistavat merkittävästi nopeamman kartan luomisen ja pienentävät tiedostokokoa 4-8 kertaa verrattuna oletusarvoiseenhires-asetukseen.tilespath— mahdollistaa karttatallennusten ohjaamisen toiselle palvelimen kiintolevylle, mikä suojaa pääasemaa ylitäyttymiseltä.webserver-port— portti, johon karttaa varten yhdistetään (oletusportin8123sijaan).
Renderöinnin hallintakomennot
Kartan luontia ohjataan palvelinkonsolin kautta tason 4 operaattorilla:
/dynmap fullrender <maailma>— aloittaa määritetyn maailman täyden renderöinnin. On suositeltavaa käyttää tätä vasta chunkkien täyden ennakkoonluonnin (chunk pre-generation) jälkeen ja aikoina, jolloin pelaajia on vähän paikalla./dynmap radiusrender <säde>— päivittää kartan vain tietyllä säteellä pelaajan ympärillä, mikä on erittäin kätevää suurten kaupunkien rakentamisen jälkeen./dynmap cancelrender— lopettaa käynnissä olevat renderöintiprosessit suorittimen ylikuormittuessa./dynmap pause all— keskeyttää väliaikaisesti kaikki karttalaskelmat, mikä auttaa vapauttamaan resursseja TPS:n vakauttamiseksi.
Yhteenveto
Dynmap-liitännäinen on tehokas työkalu maailman visualisointiin ja pelaajien välisen vuorovaikutuksen parantamiseen suurilla Minecraft-palvelimilla. Isometristen 3D-mallien luomisen ja verkkokäyttöliittymän integroinnin ansiosta se muuttaa kartan projektin täysimittaiseksi tietoportaaliksi.
Verrattuna vaihtoehtoisiin vaihtoehtoihin, kuten BlueMap (joka käyttää voimakkaasti WebGL:ää täydelliseen 3D-katseluun) tai Squaremap (joka keskittyy yksinomaan erittäin nopeaan 2D-karttaan ilman volumetrisia malleja), Dynmap tarjoaa optimaalisimman tasapainon toiminnallisuudessa. Sen korkeat vaatimukset levytilalle ja jatkuva I/O-kuormitus vaativat kuitenkin ylläpitäjiltä tarkkaa huomiota maailmanrajojen asettamiseen ja oikean resoluution valintaan. Tämä laajennus on erinomainen valinta laajoille selviytymis-, anarkia- tai RP-palvelimille.
Asennus
Tyypillinen asennus vie noin 5 minuuttia. Kulku on sama; vain Loader ja sopiva build vaihtuvat.
- 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.











