important
Tato stránka neslouží jako dokumentace pluginu. Tato stránka obsahuje shrnutí, ujasnění určitých témat, části na které se často odkazuje apod. Pokud obecně hledáte, jak s pluginem zacházet, jak jej nastavit a jak funguje, vždy byste měli hledat v dokumentaci daného pluginu.
Plugin Dynmap
Dynmap je plugin (případně i mód), který umožňuje živé zobrazení Minecraft mapy v prohlížeči.
Nastavení Dynmapy
Chcete-li mít celou Dynmapu vyrenderovanou, prvně je třeba mít svět předgenerovaný. Dynmapa zobrazuje pouze vygenerované části světa, takže se v opačném případě vyrenderují pouze chunky, kde hráči již byli.
Plugin Dynmap nainstalujete jako každý jiný plugin, tedy nahráním pluginu do /plugins/ a následným restartem serveru.
Poté je třeba Dynmapu nastavit. V konfiguraci (/plugins/dynmap/configuration.txt) u webserver-port nastavte jeden z otevřených portů, v opačném případě nebude webová stránka Dynmapy dostupná “z venku”.
Dále v konfiguraci nastavte kvalitu Dynmapy - čím nižší kvalita, tím méně místa na disku Dynmapa zabere. Kvalitu určuje hodnota deftemplatesuffix (vlowres je nejnižší kvalita): https://github.com/webbukkit/dynmap/blob/v3.0/spigot/src/main/resources/configuration.txt#L16
Posledním krokem při úpravě configu je změna druhu úložiště z ‘filetree’ na SQLite.
Můžete tak provést zakomentováním řádku type: filetree a odkomentováním řadků type: sqlite a dbfile: dynmap.db:
# -- Původní config --
storage:
# Filetree storage (standard tree of image files for maps)
type: filetree
# SQLite db for map storage (uses dbfile as storage location)
#type: sqlite
#dbfile: dynmap.db
# -- Výsledný config --
storage:
# Filetree storage (standard tree of image files for maps)
#type: filetree
# SQLite db for map storage (uses dbfile as storage location)
type: sqlite
dbfile: dynmap.db
Tento krok není nutný, ale při použití ‘filetree’ můžou být u velkých map některé manuální operace se soubory (např. mazání) zbytečně dlouhé, jelikož Dynmapa při použití ‘filetree’ generuje obrovský počet souborů.
V moment, kdy jste config upravili jej můžete uložit a server restartovat. Po zapnutí serveru a pluginu by Dynmapa měla být dostupná na adrese http://<adresa serveru>:<otevřený port z Dynmap configu> (port v Dynmap configu je hodnota webserver-port), tedy např. http://node.myhost.com:5854 nebo http://22.33.42.15:5865.
Dynmapa v základu běží na http, https adresa fungovat nebude.
Po otevření Dynmapy bude pravděpodobně z většiny černá. Je ji totiž ještě potřeba vyrenderovat. Render Dynmapy zahájíte příkazem dynmap fullrender [world], což spustí render daného světa, nebo světa, ve kterém jste příkaz provedli, pokud jste argument ‘world’ neposkytli. Než se celá mapa vyrenderuje, nějakou chvíli to trvá.
Optimalizace
Místo na disku (SSD)
Je dobré mít na vědomí, že Dynmapa zabírá celkem velké množství místa na disku. Velikost zabraného místa se dá značně omezit snížením rozlišení (deftemplatesuffix v configu) Dynmapy případně i využitím jiného formátu obrázků viz https://github.com/webbukkit/dynmap/wiki/Configuration.txt#image-format (je-li Dynmapa už vygenerovaná, je třeba staré mapy smazat a provést render znovu, jinak se žádné místo neuvolní)
Zátěž na procesor (CPU)
Při renderu Dynmapa i při optimalizaci značně využívá CPU. Z toho důvodu může být vhodné render Dynmapy přes den pomocí plánovače v administračním panelu/CRONu pozastavit pomocí příkaz dynmap pause all a render pro načtení změn spustit přes noc (opět pomocí příkazu dynmap pause none).
Chcete-li výkon optimalizovat co nejvíce, použijte následující konfiguraci: https://www.spigotmc.org/threads/1-15-server-performance-help.431154/#post-3776848
Smazání světů
Chcete-li smazat určitý typ mapu jako například surface (3D), cave nebo flat, můžete tak učinit příkazem dmap mapdelete <názevsvěta>:<typmapy>. Veškeré typy u dané mapy zobrazíte příkazem dmap maplist <svět>.
Adresa Dynmapy bez portu
Pokud chcete, aby byla http adresa Dynmapy v prohlížeči bez portu, webserver musí běžet na portu 80 (pro https 443). To znamená: a) pokud můžete využít port 80 (pokud server neběží na stroji spravovaném Vámi, téměř jistě nemůžete), nastavte pro Dynmapu v configu (webserver-port) port 80 b) můžete využít reverzní proxy. Pokud využíváte služeb sdíleného hostingu, často funkci reverzní proxy poskytuje, takže se v administraci koukněte, jestli ji nenajdete. Pokud ne, nejčastěji se pro reverzní proxy využívá NGINX/Caddy, ale to si musíte hostnout na vlastním serveru (standardně VPS). Pokud nechcete reverzní proxy hostovat sami, můžete zkusit využít Cloudflare Workers, což je ale na nasavení trochu složitější, nicméně návody na internetu najdete.
Pokud máte doménu u Cloudflare, pomocí Redirect Rules můžete jednoduše vytvořit redirect, ale to uživatele pouze přesměruje z map.domena.tld na adresa:port.
Alternativy
Dynmapa má hned několik alternativ, mezi něž patří BlueMap, SquareMap a pl3xmap, která by ze všech měla být nejméně náročná.