Svět/Světy
Složka světa
Složka s názvem světa obsahuje veškeré informace nejen o samotném světě, jako chunky (/region/), entity (/entities/) a podobně, ale i “nepluginové” informace o hráčích jako inventáře, lokace (/playerdata/), statistiky (/stats/), nebo advancementy (/advancements/), které se ve složce hlavního světa nacházejí.
Když někdo tedy mluví o světě (např. “smaž svět”), myslí tím smazání složky světa. Složka světa je totiž samotný svět.
level.dat
Informace o samotném světě, jako seed, počasí, spawn lokace či game rules, jsou uloženy v souboru level.dat, což je NBT soubor.
Druhy světů
Hlavní svět
Hlavní svět serveru je svět, který je v server.properties nastaven u level-name. Do tohoto světa se neukládají pouze data samotného světa (jeho chunky, obtížnost, spawn lokace, …), ale i “nepluginová” data hráčů (inventáře, advancementy, statistiky, …). Na platformách kromě Spigotu a jeho forků, tedy Vanilla, Fabric, Forge, apod. je ve složce DIM1 a DIM-1 uložen nether a end. Na Spigotu a jeho forcích má svět nether a end samostatnou složku jmenoSveta_nether a jmenoSveta_the_end.
Hlavní svět tedy bývá svět, který má k sobě nether a end (v případě potřeby se však dají vypnout, samotný overworld nikoli) a hráči v něm běžně hrají. Použít hlavní svět např. jako svět určený pouze pro spawn se nehodí, v takovém případě je vhodnější využít svět vedlejší (v případě, kdy to není jediný svět, tzn. není na serveru pouze spawn).
Každý server má svět hlavní. V případě, kdy je smazán, je při startu serveru automaticky vygenerován nový.
Vedlejší svět(y)
Za vedlejší světy se považují světy, které nejsou hlavní. V těchto světech je uložen pouze samotný svět, data hráčů se do něj neukládají. Pro správu (vytváření, importování, pohybu v nich) takových světů se nejčastěji využívá plugin Multiverse-Core.
Nahrání světa/Importování světa
caution
Veškeré akce je nutno provádět při vypnutém serveru!
Nahrání hlavního světa
V případě, kdy chcete svět nahrát jako hlavní svět, stačí složku (případně složky v případě, kdy má nether a end samostatnou složku) světa nahrát do kořenové složky serveru a buď
-
v
server.propertiesnastavitlevel-namena jméno světa (= jméno složky), nebo -
složku/složky světa přejmenovat na hodnotu
level-namezserver.properties(tj. pokud jelevel-namenastaveno naworldd, tak složku světa přejmenovat naworldda eventuelně nether a end naworldd_netheraworldd_the_end)
Pokud svět nahráváte jako archiv (tzn. soubor ve formátu .zip, .tar, .tar.gz apod.), soubor je potřeba extrahovat (rozbalit). Svět musí být složka, nikoli soubor.
Nahrání vedlejšího světa
V případě, kdy chcete svět nahrát jako svět vedlejší, nejjednodušším řešením je využití pluginu Multiverse-Core. Svět nahrajte do kořenové složky serveru a importujte příkazem mv import <NAZEV_SVETA> <TYP_SVETA> viz https://github.com/Multiverse/Multiverse-Core/wiki/Command-Reference#import-command
Název světa je název složky a typ světa NORMAL, NETHER, END, FLAT, LARGEBIOMES a AMPLIFIED.
Do světa se teleportujete příkazem mv tp <NAZEV_SVETA>.
Pokud svět nahráváte jako archiv (tzn. soubor ve formátu .zip, .tar, .tar.gz apod.), soubor je potřeba extrahovat (rozbalit). Svět musí být složka, nikoli soubor.
Smazání světa
caution
Veškeré akce je nutno provádět při vypnutém serveru!
Smazání světa je jednoduchý proces. V souborech serveru stačí smazat složku s názvem světa (v základu world). Pokud je svět velký, tento proces může trvat déle.
Pozor - hlavní svět neobsahuje pouze samotný svět, ale i data hráčů (pokud na ukládání těchto dat není využíván plugin, např. Multiverse-Inventories), jako jejich inventáře, advancementy a statistiky (viz zde část Složka světa), tudíž smazáním hlavního světa budou smazána i tato data.
Generátor světa
Vanilla Generátor hlavního světa jde nastavit pomocí generator-settings v server.properties.
Generátor v podobě pluginu lze nastavit v souboru bukkit.yml, případně v pluginu Multiverse-Core při vytváření světa pomocí parametru -g. Ku příkladu při vytváření světa s generátorem VoidGen např. příkazem mv create <worldname> <env> -g VoidGen -t FLAT, nebo při importu mv import <worldname> <env> -g VoidGen -t FLAT (viz dokumentace pluginu).
Resetování světa
caution
Veškeré akce je nutno provádět při vypnutém serveru!
Pro resetování (= smazání dat světa a hráčů při zachování stejného seedu) světa stačí postupovat stejně jako u smazání světa, jen v případě, kdy není v server.properties nastaven seed, před vypnutím serveru a smazání světa získejte seed světa příkazem seed a v server.properties jej u level-seed nastavte.
Obtížnost
Obtížnost světa, který bude vytvořen, určuje hodnota difficulty v server.properties. Možné hodnoty obtížnosti jsou peaceful, easy, normal, hard.
Pokud svět již existuje, změna obtížnosti v server.properties nestačí. Je zapotřebí obtížnost změnit příkazem difficulty <obtížnost>. Obtížnost je změněna ve světě, ve kterém je příkaz vykonán. Pokud je příkaz vykonán z konzole, změní se obtížnost hlavního světa.
U verzí starších než 1.14 vyjadřuje obtížnost v server.properties číslo 0 do 3 (0 = peaceful, 3 = hard) (tato čísla fungují i na nových verzích, což se ale v budoucnu může změnit). U příkazu difficulty však používáme obtížnost v podobě textu a ne čísla.
Název světa
Název hlavního světa určuje hodnota level-name v server.properties (v základu world).
Název světa nesmí být prázdný. V opačném případě se server zhroutí. Taktéž by měl obsahovat pouze znaky z anglické abecedy a čísla tzn. bez diakritiky a speciálních znaků včetně mezer. V opačném případě server fungovat může, ale nejspíš narazíte na problémy, a to zejména u některých pluginů.
Nastavení seedu světa
Abychom mohli změnit seed světa, je zapotřebí server vypnout, existující svět smazat (pokud byl už server alespoň jednou zapnut, takže svět existuje), a poté nastavit seed u level-seed v souboru server.properties.
Po zapnutí serveru se vytvoří svět s nově nastaveným seedem. V případě, kdy žádný seed nastavený není, použije se náhodně generovaný.
Poznámka: Technicky vzato je možné změnit seed světa bez mazání již vygenerovaných chunků. V takovém případě již vygenerované chunky zůstanou, a nově vygenerované chunky budou mít nový seed. To se ale nedoporučuje. Přechody mezi novými a starými chunky budou rozbité. Pokud byste to i přesto chtěli z nějakého důvodu udělat, můžete tak učinit dle návodu níže.
caution
Veškeré akce je nutno provádět při vypnutém serveru!
- Server vypněte
- V
server.propertiesulevel-seedzměntě seed světa - Ve složce světa smažte soubor
level.datalevel.dat_old(v těchto souborech je seed světa uložen)
Pozor! Soubor level.dat obsahuje i další informace (viz zde), jako např. spawn lokaci. Pokud byste v level.dat a level.dat_old chtěli upravit pouze seed, návod jak obsah takového souboru upravit naleznete zde.
Vypnutí generace netheru a/nebo endu
Generování netheru lze vypnout nastavením hodnoty allow-nether v server.properties na false.
Generování endu lze vypnout nastavením hodnoty allow-end v bukkit.yml na false (pouze na Spigotu a jeho forcích).
Statistiky
Ve složce /<hlavní svět>/stats/ jsou pro každého hráče automaticky ukládány statistiky, jako například odehraný čas, počet smrtí, nebo počet připojení do hry. Jelikož se jedná o Vanilla funkci, statistiky jsou sbírány od úplného startu serveru. Proto se data z těchto statistik často pomocí placeholderů používají pro zobrazení odehraného času.
Převod světa
caution
Veškeré akce je nutno provádět při vypnutém serveru!
ze Spigotu na Vanillu/Fabric/Forge
Pokud chcete přejít ze Spigotu na platformu nezaloženou na Spigotu (Vanilla, Fabric, Forge, …), je zapotřebí světy manuálně převést. Jak na to se dočtete na následujícím odkaze: https://docs.papermc.io/paper/migration#to-vanilla
z Vanilly/Fabric/Forge na Spigot
Pokud chcete přejít na Spigot či jeho fork, při zapnutí serveru budou světy překonvertovány do Spigot (resp. CraftBukkit) formátu automaticky.
Poznámky
Při změně generátoru (v důsledku změny jeho nastavení/pluginů/verze serveru) vygenerované chunky zůstanou stejné a nově vygenerované chunky budou vygenerovány pomocí nového generátoru. Není možné aplikovat nový generátor na již vygenerované chunky, aniž by došlo k jejich smazání.
Minecraft světy jsou uloženy v tzv. Anvil formátu. Pro specifické případy se ale takový formát nevyplatí využívat, jelikož je neefektivní (zejména u velkých serverů s minihrami). Proto vznikl formát Slime vytvořen týmem Hypixel, který využívá pro své minihry. Více se můžete dočíst na následujícím odkaze: https://hypixel.net/threads/dev-blog-5-storing-your-skyblock-island.2190753/
Ačkoli existují pluginy, které tento formát implementují a umožňují využívat (např. AdvancedSlimePaper nebo Advanced SlimeWorldManager), budou pro vás nejspíše zbytečné, nebo dokonce kontraproduktivní.