Strategie zálohování herního serveru se scvrkává na čtyři rozhodnutí: které složky obsahují svět a nastavení, jak donutit hru, aby před zálohou zapsala čistou kopii, kolik kopií držet a jak dlouho, a kde leží alespoň jedna z nich, která není na serveru. U většiny her je svět jedna nebo dvě složky, dobrý plán je denní záloha držená týden plus zamčená kopie před každým updatem a kopie mimo server je stažení, které si děláš sám jednou týdně. Zbytek článku je přesně tohle, hra po hře, protože složka, na které záleží v Minecraftu, není ta, na které záleží v Palworldu, a zálohování špatné složky je nejčastější způsob, jak se záloha ukáže jako prázdná.
Obecná teorie - co dělá kopii obnovitelnou, myšlenka 3-2-1, konzistence - je v článku zálohy, které opravdu obnovíš. Tento článek je aplikovaná verze pro herní servery: skutečné cesty, skutečné příkazy pro uložení a politika uchovávání, která odpovídá tomu, jak se který druh hry hraje.
Tři druhy dat na každém herním serveru#
Než vybereš, co zálohovat, pomůže rozdělit soubory na herním serveru do tří skupin, protože si zaslouží zcela odlišné zacházení.
- Stav - svět, postup hráčů, základny, zůstatky v ekonomice, databáze oprávnění. Mění se každou minutu, kdy server běží, nedá se odnikud stáhnout znovu a je to jediná věc, jejíž ztráta je trvalá. Každá záloha ho musí obsahovat.
- Konfigurace -
server.properties,serverDZ.cfg,PalWorldSettings.ini, konfigurace pluginů, seznamy adminů, seznamy banů. Malá, mění se zřídka a je otravné ji znovu vytvořit, protože si nikdo nepamatuje čtyřicet hodnot, které ladil. Zálohuj ji se stavem; nestojí nic. - Reprodukovatelné soubory - binárky hry, runtime Steamu, stažené věci z Workshopu, běhové prostředí Javy. Gigabajty a každý bajt lze znovu stáhnout přes SteamCMD nebo přeinstalováním z panelu. Když je vynecháš, zálohy zůstanou malé a rychlé.
Past leží na hranici mezi skupinami jedna a tři. Mody jsou teoreticky reprodukovatelné, ale jen ve verzi, kterou jsi provozoval, a autor modu může starou verzi smazat. Pokud tvůj server závisí na modu v konkrétní verzi, soubor modu patří do zálohy, i když by se v principu dal stáhnout znovu. Totéž platí pro vlastní mapu: reprodukovatelná, dokud ten, kdo ji vytvořil, nezmizí.
Co zálohovat, hra po hře#
Toto jsou složky, které drží stav a konfiguraci u her, které lidé hostují nejčastěji. Cesty jsou relativní ke kořeni serveru, pokud nezačínají ~, a několik z nich se přesune, pokud při spuštění předáš argument s adresářem pro ukládání, takže před důvěrou v tabulku zkontroluj startovací řádek na svém serveru.
| Hra | Svět a stav | Konfigurace, která stojí za uchování |
|---|---|---|
| Minecraft (Paper) | world, world_nether, world_the_end | server.properties, plugins/, ops.json, whitelist.json |
| Valheim | worlds_local/<World>.db a .fwl | adminlist.txt, bannedlist.txt, permittedlist.txt |
| Palworld | Pal/Saved/SaveGames/0/<id>/ | Pal/Saved/Config/LinuxServer/PalWorldSettings.ini |
| Project Zomboid | Zomboid/Saves/Multiplayer/<name>/, Zomboid/db/<name>.db | Zomboid/Server/<name>.ini, <name>_SandboxVars.lua |
| 7 Days to Die | složka s uloženými daty pro tvůj svět a název hry | serverconfig.xml, serveradmin.xml |
| Terraria | soubor .wld a jeho .twld (tModLoader) | serverconfig.txt, tshock/ |
| Factorio | saves/*.zip | data/server-settings.json, server-adminlist.json, mods/ |
| DayZ | mpmissions/<mission>/storage_1/ | serverDZ.cfg, soubory db/ mise |
| Unturned | Servers/<id>/Level/, Servers/<id>/Players/ | Commands.dat, Config.json |
| Don't Starve Together | <Cluster>/Master/save/, <Cluster>/Caves/save/ | cluster.ini, server.ini každého shardu |
| Garry's Mod | garrysmod/sv.db, garrysmod/data/ | garrysmod/cfg/, addons/ |
| Counter-Strike 2 | žádné - žádný trvalý svět | game/csgo/cfg/, game/csgo/addons/ |
Pár z nich vyžaduje vysvětlení.
Minecraft drží na Paperu a Spigotu tři dimenze ve třech složkách. Vanilla drží Nether a End uvnitř hlavní složky world jako DIM-1 a DIM1, takže skript napsaný pro vanillu vynechá dvě třetiny světa na Paperu. Data pluginů leží v plugins/<Plugin>/ a část z nich je stav - claimy, zůstatky v ekonomice, skupiny LuckPerms, pokud jsou uložené ve výchozím souboru H2. Příkazy pro uložení a rollback na úrovni regionů podrobně popisuje záloha a obnova světa v Minecraftu.
Project Zomboid je ta, kterou lidé dělají špatně nejčastěji. Mapa je v Saves/Multiplayer/<servername>, ale hráčské účty a hesla jsou v db/<servername>.db. Obnov jen mapu a každý hráč se musí registrovat znovu; obnov jen databázi a přihlásí se do světa, který je nezná.
7 Days to Die ukládá savy do složky s uživatelskými daty, která je na Linuxu ve výchozím stavu ~/.local/share/7DaysToDie/Saves/, pokud UserDataFolder nebo SaveGameFolder v serverconfig.xml neukazuje jinam. Svět s náhodnou generací má také vygenerovanou mapu v GeneratedWorlds/ - z hlediska konfigurace malou, ale generování trvalo deset minut i déle a uložení je bez ní k ničemu.
DayZ zapisuje persistenci do složky mise. storage_1 drží objekty světa, hráče a vozidla; číslo je ID instance nastavené v serverDZ.cfg. Soubory ekonomiky vedle (types.xml, events.xml) jsou konfigurace a jsou to přesně ty, které upravuješ, takže se mění víc, než bys čekal.
Counter-Strike 2 a další zápasové střílečky nemají co ztratit kromě konfigurace. Jejich „záloha“ je kopie cfg/ a složek pluginů, ideálně v git repozitáři, a denní snapshot neměnné složky je jen spotřeba disku.
Konzistentní kopie: nejdřív ulož, pak kopíruj#
Většina her drží svět v paměti a zapisuje ho na disk podle časovače. Kopie souborů pořízená uprostřed zápisu ti dá svět, který vypadá úplný a nenačte se. Oprava je v každé hře stejná: řekni serveru, ať všechno zapíše, počkej, až skončí, a pak pořiď kopii.
| Hra | Příkaz pro uložení | Poznámky |
|---|---|---|
| Minecraft | save-off, save-all flush, potom save-on | save-off zastaví autosave během kopírování |
| Valheim | save (admin, konzole ve hře) | Ve vanille žádný příkaz konzole serveru; uloží i čisté zastavení |
| Palworld | Save přes RCON nebo jako adminský příkaz | Adminské příkazy ve hře vyžadují nejdřív /AdminPassword |
| Project Zomboid | save v konzoli serveru | |
| 7 Days to Die | saveworld (také sa) | Funguje z konzole a z telnetu |
| Factorio | /server-save | Zapíše aktuální soubor uložení |
| Terraria | save v konzoli serveru | |
| Unturned | save v konzoli serveru | |
| DayZ | žádný | Persistence se zapisuje při vypnutí a podle časovače |
V panelu je pro to správným místem záložka Schedules. Plány na RE:NODE spouští uspořádané úlohy se zpožděním - příkaz konzole, zálohu, akci napájení - takže sekvence je příkaz pro uložení, třicet až šedesát sekund čekání, až se na velkém světě zápis dokončí, a pak úloha zálohy. Řádky cron a celou noční sekvenci najdeš v článku naplánované úlohy, které stojí za to mít.
Task 1 command say Backup in 1 minute - expect a short pauseTask 2 command save-off (delay 60 s)Task 3 command save-all flush (delay 5 s)Task 4 backup (delay 45 s)Task 5 command save-on (delay 120 s)U hry bez příkazu pro uložení jsou bezpečnými možnostmi stop, záloha a start, nebo smířit se s tím, že kopie pochází z posledního autosavu. DayZ patří do druhé skupiny: kopie storage_1 pořízená pár minut po naplánovaném zápisu persistence je v praxi v pořádku. Zastavit server před zálohou není nikdy špatně - je to jen nepohodlné, a proto to obvykle žije uvnitř okna nočního restartu.
Kolik záloh držet a jak dlouho#
Uchovávání závisí na tom, jak se hra hraje, ne na tom, kolik je volného disku. Téměř každý server pokryjí tři vzorce.
Perzistentní světy
Survival a sandbox servery - Minecraft SMP, Valheim, Palworld, Project Zomboid, 7 Days to Die bez wipů, Factorio, Satisfactory - každým dnem nabírají hodnotu a nikdy se neresetují. Rozumná rotace je:
- Denní zálohy držené sedm dní. To pokryje griefing, kterého si všimneš o pár dní později, a poškozený chunk, který zůstal bez povšimnutí, dokud do něj někdo nevešel.
- Týdenní zálohy držené čtyři týdny. Sloty záloh v panelu se takhle daleko natahují zřídka, a proto je tu stažení (další oddíl).
- Zamčené zálohy před každým updatem hry, každou změnou modů a každou operací s úpravou světa, držené, dokud si nejsi jistý, že změna fungovala - obvykle týden.
Servery s cyklem wipů
Rust, servery DayZ, které se wipují v cyklu, a cokoli se sezónami. Záloha starší než poslední wipe je pro živý server bezcenná. Drž denní zálohy v rámci aktuálního cyklu a jednu archivovanou kopii konečného stavu před každým wipem, pokud ji chceš později ukázat nebo vyřešit spor. Zajímavá konfigurace - nastavení pluginů, tabulky kořisti, ekonomika - je to, co wipe přežije a co nejvíc potřebuješ verzovat.
Zápasové servery
Counter-Strike 2, Team Fortress 2, Insurgency: Sandstorm a podobné. Drž konfiguraci ve verzovacím systému a zálohuj databáze pluginů (sourcemod-local.sq3 ze SourceModu, pokud pro adminy nebo statistiky používáš SQLite). Denní plná záloha je zbytečně obsazený slot.
Na RE:NODE zahrnuje každý herní tarif dva sloty pro zálohy a zálohu lze zamknout, aby ji rotace nikdy nesmazala. Dva sloty stačí pro „včerejší noc“ a „před updatem“, což je dvojice, na které záleží nejvíc; cokoli delšího žije ve tvých stažených souborech.
Kopie mimo server a proč panel nestačí#
Zálohy v panelu na RE:NODE se ukládají mimo stroj, který chrání, což řeší selhání disku. Neřeší všechno:
- Smazání serveru smaže jeho zálohy, i ty zamčené. Zrušený tarif, nezaplacená faktura, která doběhla, nebo omylem provedené smazání odstraní kopie spolu se serverem.
- Sloty jsou konečné. Denní plán přepíše kopii z minulého týdne, což je právě ta, kterou chceš, pokud problém začal před šesti dny.
- Přihlašovací údaje jsou jediný bod selhání. Kdokoli s plným přístupem k účtu v panelu může smazat server i všechny jeho zálohy. To je důvod pro dvoufázové ověření na účtu v panelu a pro podúčty s nejmenšími nutnými oprávněními a důvod držet jednu kopii někde, kam žádné přihlášení do panelu nedosáhne.
Praktická odpověď pro většinu malých serverů je týdenní stažení. Zálohy lze z panelu stáhnout jako archiv; ulož ho na stroj, který vlastníš, nebo do úložiště s verzováním, pojmenovaný podle data. Pro větší komunitu to zautomatizuj: naplánovaná úloha na domácím stroji nebo levném VDS, která stáhne složku se světem přes SFTP.
# Weekly pull of a Valheim world over SFTP, run from your own machine$ sftp -P 2022 user.abc123@panel.example:/worlds_local/Midgard.* \ ~/backups/valheim/$(date +%F)/Přesný hostitel, port a uživatelské jméno jsou v údajích SFTP serveru v panelu; kde je najít, popisuje SFTP a správce souborů. Stahuj z kopie, ne z živého souboru, pokud to jde - záložní archiv, který stáhneš, je konzistentní, zatímco živé .db uprostřed ukládání není.
Velikost, četnost a co to stojí#
Velikost zálohy rozhoduje, zda je plán praktický. Hrubé velikosti u dlouho žijících světů, bez binárek:
| Hra | Typická velikost světa | Co ji zvětšuje |
|---|---|---|
| Valheim | 20-150 MB | Prozkoumaná oblast, stavební prvky, úpravy terénu |
| Minecraft SMP | 1-20 GB | Prozkoumané chunky; předgenerování ji znásobí |
| Palworld | 50-500 MB | Základny, pali, počet hráčů |
| Project Zomboid | 1-10 GB | Navštívené buňky; každý navštívený chunk se ukládá |
| 7 Days to Die | 200 MB-3 GB | Velikost mapy a stavby hráčů |
| Factorio | 5-200 MB | Velikost továrny; komprimovaný zip |
| Terraria | 5-50 MB | Jeden .wld na svět |
| DayZ | 50-500 MB | Perzistentní objekty, stany a základny |
Plynou z toho dvě věci. Malé světy (Valheim, Terraria, Factorio) lze zálohovat každou hodinu, aniž si toho někdo všimne. Velké (svět Minecraftu s předgenerovanou hranicí 10 000 bloků, vytížená mapa Zomboidu) se archivují tak dlouho, že hodinová záloha je k disku i hře nešetrná, a správná kadence je denně v klidné hodině. Vynechání toho, co nepotřebuješ, tu záleží nejvíc: záloha Minecraftu, která zahrnuje cache dlaždic Dynmapu nebo BlueMapu, může být pětkrát větší než svět, který mapuje. Stranu dimenzování disku, včetně rezervy, kterou zálohy potřebují při svém vytváření, najdeš v článku kolik úložiště potřebuje herní server.
Vynechání složek na panelu postaveném na Pterodactylu používá ignorovací soubor .pteroignore v kořeni serveru, psaný jako .gitignore (je to funkce původního Pterodactylu, takže se zeptej hostingu, pokud si nejsi jistý, že ji respektuje):
# rebuilt on demand, no need to back them upplugins/dynmap/web/tiles/bluemap/web/maps/logs/crash-reports/cache/*.log.gzVyzkoušej to jednou tak, že pořídíš zálohu a porovnáš její velikost s velikostmi složek ve správci souborů. Ignorovací pravidlo, které omylem zasáhne složku se světem, je tichá katastrofa.
Obnova: pořadí, které to nezhorší#
Až přijde ten den, právě při obnově vzniká většina škod, protože lidé jednají rychle na serveru, který pořád běží.
- Zastav server. Obnova přes běžící svět se při dalším autosavu přepíše.
- Pořiď zálohu rozbitého stavu a zamkni ji. Můžeš z ní později něco potřebovat - stavbu vytvořenou po poslední dobré záloze nebo důkaz o tom, kdo škodu způsobil.
- Obnov celou zálohu, nebo extrahuj jen složku se světem, pokud jsi od té doby změnil konfiguraci a chceš ji ponechat. Na RE:NODE panel obnoví zálohu tlačítkem; pro částečnou obnovu stáhni archiv a nahraj potřebnou složku přes správce souborů, který archivy rozbaluje na místě.
- Zkontroluj, že se verze shodují. Svět z doby před updatem hry se v nové verzi načte téměř vždy; svět z doby po updatu se ve staré verzi načte zřídka. Pokud vracíš samotnou hru, viz připnutí verzí a rollbacky.
- Spusť a přečti si log, kde je řádek říkající, který svět se načetl. Server, který svět nenajde, obvykle vygeneruje nový se stejným názvem a vypadá naprosto zdravě.
- Řekni hráčům, k jakému času byl svět obnoven, aby věděli, o co přišli.
Pak si to v klidné chvíli nacvič. Vyzkoušej obnovu dřív, než ji budeš potřebovat je třicetiminutové cvičení a právě tak zjistíš, že záloha nikdy neobsahovala složku db.
Časté mezery, hra po hře#
Zálohy, které v ten den selžou, obvykle selžou z jednoho z těchto důvodů:
- Svět byl jinde. Argument s adresářem pro ukládání při spuštění (
-savedirve Valheimu,UserDataFolderve 7 Days to Die,-cachedirv Project Zomboid) přesunul svět ze zálohované složky. - Databáze nebyla soubor. Pluginy a frameworky, které drží stav v databázi - frameworky FiveM přes oxmysql, pluginy Minecraftu nastavené na externí databázi - potřebují i dump té databáze. V panelu je slot pro databázi oddělený od zálohy souborů; pořízení dumpu popisují zálohy a obnovy databází.
- Změnil se název serveru. Zomboid a Don't Starve Together odvozují své složky od názvu. Přejmenuj server a začne zapisovat do nové prázdné složky, zatímco plán záloh dál archivuje tu starou.
- Záloha běžela během ukládání. V plánu chyběl příkaz pro uložení, nebo bylo zpoždění příliš krátké pro velký svět.
- Obsah z Workshopu se aktualizoval. Svět odkazuje na verzi modu, která už na Workshopu neexistuje. U všeho, o co si nemůžeš dovolit přijít, drž kopii souborů modů spolu se savem.
- Vestavěné zálohy zaměněné za skutečné.
-backupsve Valheimu, zálohovací pluginy Minecraftu a vlastní složka záloh ve 7 Days to Die leží na stejném disku jako svět. Chrání před poškozeným savem, ne před smazaným serverem.
FAQ#
Jak často mám zálohovat herní server?
Denně u perzistentního světa, v hodinu, kdy nikdo nehraje, plus ruční záloha před každým updatem nebo změnou modů. Hodinově to má smysl jen u malých světů, kde by ztráta hodiny z večerní hry způsobila skutečné rozladění, a jen pokud záloha trvá sekundy.
Musím server pro zálohu zastavit?
Ne, pokud hra má příkaz pro uložení. Spusť ho, počkej, až zápis skončí, a pak kopíruj. U her bez něj je zastavení jediný způsob, jak zaručit konzistentní kopii, a proto mnoho lidí zálohu zapojí do nočního restartu.
Vyplatí se zálohovat i samotné herní soubory?
Obvykle ne. Vrátí se s přeinstalováním nebo aktualizací přes SteamCMD. Výjimkou je, když závisíš na přesné verzi - modovaný server připnutý na starý build - a pak drž jednu kopii funkční instalace zvlášť od denních záloh světa.
Jaký je rozdíl mezi zálohou v panelu a stažením?
Záloha v panelu žije s tvým účtem a zmizí, když se server smaže. Stažení je kopie, kterou držíš sám, mimo dosah panelu. Chceš obojí: zálohu v panelu pro rychlou obnovu, stažení pro den, kdy kopie v panelu zmizí.
Proč můj obnovený svět vypadá úplně nový?
Server nenašel svět pod názvem, který měl načíst, a vygeneroval nový. Porovnej název světa nebo serveru ve startovacím nastavení s obnovenou složkou nebo souborem, včetně velkých písmen, a restartuj.




Komentáře
Zcela anonymně: žádný účet, žádný e-mail, žádné cookie. Ukládáme jen jméno, které napíšeš, text a čas - nic dalšího. Počet odkazů je omezený a značkování se nevykresluje.