Když jsem začínal, návody byly hlavně videa a diskuzní vlákna stará několik let. Dost z nich si odporovalo a skoro všechny končily ve chvíli, kdy server poprvé naběhne. Přitom právě tam to začíná: restarty, zálohy, aktualizace, mody, které po patchi přestanou fungovat.
Takhle jsem začínal já. Dneska nám servery běží na Linuxu pod rozhraním, ale postup níž je pořád platný a pro první server je to nejjednodušší cesta. Včetně věcí, na kterých jsem se sám spálil.
Návod je pro PC. Na Xboxu ani PlayStationu vlastní server nerozjedete. Jde jen pronajmout u Nitrada, jediného poskytovatele s licencí od Bohemie. Nastavení si na něm upravíte, ale mody ze Steam Workshopu jsou jen pro PC.
Co budete potřebovat
DayZ koupené na Steamu. Serverové soubory jsou zdarma, ale jen pro majitele hry. Anonymní přihlášení do SteamCMD u DayZ nefunguje, potřebujete účet, který hru vlastní.


Počítač, který poběží pořád. Server vytíží jedno jádro procesoru naplno a ukousne si několik gigabajtů paměti. Hrát na stejné mašině, na které server běží, jde, ale kamarádi to poznají.
Zhruba 20 GB volného místa. Samotný server po stažení zabere okolo 4 GB, zbytek si vezmou mody a data hráčů. Náš server se čtyřiceti mody má dohromady kolem 25 GB, takže na vážněji míněný projekt počítejte s třiceti.
Veřejnou IP adresu a přístup k routeru. Bez přesměrování portů se k vám zvenčí nikdo nedostane a bez veřejné IP nepomůže ani to. Ověřte si ji dřív, než začnete cokoliv stahovat: porovnejte adresu, kterou má router na WAN, s tím, co ukáže web „jaká je moje IP“. Když se liší, sedíte za sdíleným NATem poskytovatele. Pomůže jedině požádat ho o veřejnou IP, bývá to pár korun měsíčně.
1. Stažení serverových souborů
Vedou k tomu dvě cesty a je jedno, kterou si vyberete, liší se jen prostředím. Obě stáhnou stejné soubory a všechno další pak probíhá úplně stejně. Zvolte jednu cestu a držte se jí. Když zkusíte obě, budete mít na disku dvě kopie a snadno se pak stane, že upravujete konfiguraci v jedné a spouštíte tu druhou.
Přes klienta Steam. V knihovně napište do vyhledávání DayZ. V sekci Nástroje se objeví DayZ Server. Nainstalujte ho jako běžnou hru.
Přes SteamCMD. Nutné na serveru bez plochy:
login vase_jmeno
force_install_dir C:\DayZ-Server
app_update 223350 validate
quit

Řádek force_install_dir nevynechávejte. Bez něj se server nainstaluje do složky SteamCMD, ne tam, kam chcete. V cestě nepoužívejte mezery, jinak ji musíte obalit uvozovkami. A počítejte s tím, že si Steam při prvním přihlášení vyžádá kód ze Steam Guardu, takže musíte být u počítače.
Vzniknou tím dvě oddělené složky a stojí za to je nepomíchat:
C:\
├─ SteamCMD\ ← samotný nástroj (steamcmd.exe)
└─ DayZ-Server\ ← server, který jste právě stáhli
├─ addons
├─ appcache
├─ config
└─ serverDZ.cfg
SteamCMD je jen stahovač. Se serverem samotným nemá nic společného a nikdy ho nespouštíte místo něj.
Serverová aplikace má ID 223350, mody se stahují pod ID klienta 221100. Pro pozdější aktualizaci serveru stačí spustit app_update 223350 znovu.
2. Konfigurace: serverDZ.cfg
V kořenu serveru najdete soubor serverDZ.cfg. Tohle jsou položky, které opravdu něco dělají:
| Položka | Co dělá | Doporučení |
|---|---|---|
| hostname | Název v prohlížeči serverů | Něco, co půjde najít |
| password | Heslo pro připojení | Prázdné = veřejný server |
| passwordAdmin | Heslo pro správu | Nastavte, a jiné než to první |
| maxPlayers | Počet hráčů | 60 běžně |
| verifySignatures | Kontrola podpisů modů | 2 |
| forceSameBuild | Vyžaduje shodnou verzi hry | 1 |
| steamQueryPort | Port pro prohlížeč serverů | 27016 |
| instanceId | Odděluje data více serverů | 1 |
| disableThirdPerson | Jen pohled z první osoby | Podle stylu serveru |
| respawnTime | Prodleva před oživením | 5 |
| serverTimeAcceleration | Zrychlení času, 1 až 64 | 1 = reálný čas |
| serverTimePersistent | Zachová herní čas přes restart | 1 |
Soubor upravujte v editoru, který nemění kódování. Doporučuju Notepad++, je zdarma a obarvuje syntaxi. Poznámkový blok taky projde, Word ne. Po každé změně se server musí restartovat, za běhu se konfigurace nenačte.
K položce steamQueryPort: narazíte na návody, které uvádějí 27016, i na takové, které trvají na 2305. Obojí funguje. Ta hodnota jen říká, na kterém portu server odpovídá na dotazy prohlížeče serverů. Podstatné je, aby seděla s portem, který otevřete v routeru a firewallu. Když se rozejdou, server běží, přes přímé připojení se na něj dostanete, ale v seznamu komunitních serverů ho nikdo neuvidí. To je vůbec nejčastější příčina neviditelného serveru. Výchozí hodnota je 27016 a není důvod ji měnit.
Mapa
Mapu určuje sekce Missions na konci serverDZ.cfg:
class Missions {
class DayZ {
template = "dayzOffline.chernarusplus";
};
};
Hodnota musí přesně odpovídat názvu složky ve mpmissions/. Oficiální mapy jsou tři:
| Mapa | template | Dostupnost |
|---|---|---|
| Chernarus | dayzOffline.chernarusplus | Součást hry |
| Livonia | dayzOffline.enoch | Zdarma od verze 1.25 |
| Sakhal | dayzOffline.sakhal | Vyžaduje DLC Frostline |
| Badlands | dayzOffline. | Vyžaduje DLC Badlands |



Pozor při změně mapy na běžícím serveru. Data se ukládají zvlášť pro každou misi, do vlastní složky:
mpmissions/ ├─ dayzOffline.chernarusplus/ │ └─ storage_1/ ← postavy a stavby na Chernarusu └─ dayzOffline.enoch/ └─ storage_1/ ← postavy a stavby na Livonii
Přepnutím mapy tedy hráči o nic nepřijdou, ale na nové mapě začnou od nuly. Zpátky se dostanou přepnutím na původní template, jejich původní storage_1 tam celou dobu čeká.
3. Porty
Tady končí většina pokusů. Potřebujete UDP, ne TCP. To je omyl číslo jedna:
- 2302 až 2305 pro herní provoz
- 27016 pro dotazy prohlížeče serverů, tedy hodnota, kterou máte v
steamQueryPort
Otevřít je musíte na dvou místech. Stačí zapomenout na jedno a server bude zvenčí neviditelný, i když vám na ploše normálně běží.
V routeru
Adresu routeru zjistíte v příkazovém řádku. Otevřete ho přes Win+R, napište cmd a potvrďte. Pak zadejte:
ipconfig
Zajímají vás dva řádky:
- Výchozí brána (v anglických Windows Default Gateway) je adresa routeru, obvykle
192.168.1.1nebo192.168.0.1. Tu zadáte do prohlížeče. - IPv4 Address je lokální adresa vašeho počítače. Na ni budete v routeru přesměrovávat porty a přes ni se na server poprvé připojíte.
Sekci hledejte pod názvy Přesměrování portů, Port forwarding, NAT nebo Virtuální server. Každý výrobce tomu říká jinak. Přesměrujte oba rozsahy na počítač se serverem.


Pravidla budete potřebovat dvě, obě na UDP: jedno pro rozsah 2302:2305, druhé pro 27016. Rozsah se u většiny routerů zapisuje s dvojtečkou a pole pro vnitřní port se u něj nechává prázdné, jinak by router všechno směroval na jediný port.
A nezapomeňte celou funkci zapnout. Předávání portů bývá hlavním přepínačem vypnuté a hotová pravidla v seznamu sama o sobě nic nedělají. Tohle je nejčastější důvod, proč má někdo všechno nastavené správně a stejně se k němu nikdo nedostane.
Ve firewallu Windows
Naklikat to jde přes Win+R → wf.msc → Příchozí pravidla → Nové pravidlo. Příkazem je to ale rychlejší.
Klikněte pravým tlačítkem na tlačítko Start a vyberte Terminál (správce), v anglických Windows Terminal (Admin). Na starších verzích to může být „Příkazový řádek (správce)“. Potvrďte dotaz Windows na povolení změn. V záhlaví okna pak musí být Správce, jinak příkazy neprojdou.
Vložte je po jednom, každý potvrďte Enterem:
netsh advfirewall firewall add rule name="DayZ Server" dir=in action=allow protocol=UDP localport=2302-2305 netsh advfirewall firewall add rule name="DayZ Query" dir=in action=allow protocol=UDP localport=27016
Obojí musí odpovědět hláškou Ok. Všimněte si, že netsh chce rozsah s pomlčkou, zatímco router ho výš bere s dvojtečkou. Každý to zapisuje po svém. Když jste okno neotevřeli jako správce, příkaz selže. Chybová hláška přitom vypadá, jako by byl špatně zapsaný.
Pravidla se objeví v seznamu příchozích pravidel pod zadanými názvy. Kdybyste je někdy potřebovali odebrat:
netsh advfirewall firewall delete rule name="DayZ Server" netsh advfirewall firewall delete rule name="DayZ Query"
Než to začnete testovat
Netestujte to z vlastní sítě. Většina routerů neumí připojení na vlastní veřejnou IP zevnitř domácnosti obsloužit, takže vám to vyhodí chybu, i když je všechno nastavené správně. Nechte to zkusit kamaráda nebo si to vyzkoušejte z mobilních dat.
4. Spuštění
Vedle souboru DayZServer_x64.exe si vytvořte start.bat s tímto obsahem:
start DayZServer_x64.exe -config=serverDZ.cfg -port=2302 -profiles=config -doLogs -adminLog -netLog -freezeCheck
Co je k čemu:
-configa-portříkají serveru, odkud si vzít nastavení a na kterém portu poslouchat.-profilesurčuje, kam se ukládají logy a data správy. Bez něj skončí rozházené v systémových složkách.-doLogs,-adminLog,-netLogzapisují chybové hlášky, připojení hráčů a síťový provoz. Bez nich při prvním sporu s někým nemáte v ruce vůbec nic.-freezeCheckserver po pěti minutách zamrznutí zastaví a uloží soubor s výpisem paměti. Pozor, sám ho nenastartuje. Jen ho korektně ukončí, aby neběžel dál v nepoužitelném stavu. O znovuspuštění se musí postarat něco dalšího, k tomu se dostaneme u restartů.
Velikost písmen v parametrech dodržte tak, jak je uvedená. Většinou to projde i jinak, ale u některých verzí ne a hledá se to blbě.
Dva volitelné parametry navíc. -cpuCount= omezí počet jader, která si server vezme. Hodí se to, když na stejném stroji běží ještě něco dalšího, a hodnota musí být nejvýš tolik, kolik má procesor jader. -limitFPS= sníží zátěž procesoru u serveru, kde je málo lidí. Ani jeden nepotřebujete, dokud vám něco nepřestane stačit.
Když se v okně objeví hlášky o načtené misi a výpis se zastaví, server běží.
První připojení
Server běží, takže si ho vyzkoušejte. Spusťte DayZ, v launcheru přejděte na kartu Servery a použijte přímé připojení.

Ze stejné sítě, kde server běží, zadejte jeho lokální adresu, tedy tu, kterou jste mu rezervovali v routeru. Například 192.168.1.10 a port 2302. Veřejnou IP zevnitř domácnosti nepoužívejte, většina routerů to neobslouží a vy budete zbytečně hledat chybu.
Zvenčí už se používá veřejná IP a stejný port.
Než začnete řešit mody, ověřte si, že se na server dostanete vy i někdo mimo vaši síť. Všechno další se staví na tomhle.
5. Mody
Tady se láme nejvíc serverů.
Stažení přes launcher. Nejjednodušší cesta, když server běží na počítači, kde máte i hru. Na Steam Workshopu se přihlásíte k odběru modu, launcher DayZ ho stáhne a v záložce Mody ho pak najdete v seznamu. Přes tlačítko ··· u modu vyberete Otevřít složku v Průzkumníku Windows, nebo rovnou Zkopírovat do složky… a nasměrujete to do kořene serveru.
Launcher u každého modu rovnou ukazuje, kdy vyšla poslední aktualizace a jestli je podepsaný pro hru více hráčů. To druhé je důležité: nepodepsaný mod na server nedávejte.
Stažení přes SteamCMD. Nutné na serveru bez plochy, kde launcher není:
login vase_jmeno
force_install_dir C:\DayZ-Server
workshop_download_item 221100 ID_MODU
quit
ID modu je číslo z adresy stránky na Workshopu. Všimněte si, že se mody stahují pod ID klienta 221100, ne serveru.
Mod se stáhne do podsložky pod cestou, kterou jste zadali v force_install_dir:
C:\DayZ-Server\steamapps\workshop\content\221100\ID_MODU\
Když force_install_dir vynecháte, skončí to ve složce SteamCMD a hledá se to pak blbě.
Složka se jmenuje číslem, ne názvem modu. Při kopírování do kořene serveru ji proto přejmenujte na @NazevModu. Jaký název zvolit, poznáte podle názvu modu na Workshopu, hlavně musí sedět s tím, co pak napíšete do -mod=.
Umístění. Každý mod je složka @NazevModu přímo vedle DayZServer_x64.exe. Zavináč na začátku musí zůstat a na velikosti písmen záleží.
Klíče. Tohle přeskočte a nepřipojí se nikdo. V každém modu je složka keys se souborem s příponou .bikey. Všechny zkopírujte do složky keys serveru. Když jeden chybí, kontrola podpisů hráče vyhodí s hláškou o vykopnutí ze hry. Na serveru přitom vypadá všechno v pořádku.
Načtení. Do start.bat přidejte parametr:
-mod=@MOD1;@Mod2;@Mod3
Pořadí se řídí tím, co si mody navzájem vyžadují. Knihovny jako CF nebo Dabs Framework patří dopředu. Klientské mody se načítají přes -mod, serverové přes -serverMod. Ty druhé si hráči stahovat nemusí.
Když mod vyjde v nové verzi, nestačí ho stáhnout. Musíte znovu zkopírovat celou složku do serveru a znovu i klíč, autor ho mohl vyměnit. Tohle je nejčastější důvod, proč po aktualizaci najednou nikdo nemůže dovnitř.
Když mod přidává předměty, samotné nainstalování nestačí. Musí se ještě zaregistrovat v ekonomice serveru, jinak se ve hře neobjeví vůbec nic. Popsané je to níž v části Ekonomika lootu je vlastní disciplína. Zbraně, oblečení a další věci z modů tam nespawnují proto, že by byl mod špatně nainstalovaný.
6. Když vyjde aktualizace DayZ
Ve chvíli, kdy Bohemia vydá aktualizaci, se hráčům aktualizuje klient sám. Server se ale neaktualizuje. A protože máte forceSameBuild = 1, přestane se na něj kdokoliv dostat.
Postup je vždycky stejný:
- Vypněte server a zazálohujte
storage_1. K zálohám se dostaneme na konci návodu. - Aktualizujte serverové soubory, přes Steam nebo příkazem
app_update 223350 validate. - Aktualizujte mody. Autoři je po velké aktualizaci opravují, někdy s několikadenním zpožděním. Neopravený mod poznáte snadno, server vůbec nenaběhne. V launcheru u každého modu vidíte datum poslední aktualizace.
- Přenačtěte klíče. Nová verze modu může mít nový
.bikey. Starý ve složcekeyshráče nepustí dovnitř. - Spusťte a zkuste se připojit sami, než to oznámíte lidem.
Počítejte s tím, že po větší aktualizaci nebude server chvíli běžet. Není to vaše chyba a hráči to znají, jen jim to řekněte dopředu.
A nespěchejte. Pustit server s modem, který ještě není opravený, je horší než ho nechat půl dne vypnutý. Hráči se připojí, přijdou o postup a vrátí se až po týdnu.
Zkratka pro pokročilé
Ve složce server_manager v kořeni serveru leží skript Server_manager.ps1 přímo od Bohemie. Umí aktualizovat server i mody jedním příkazem a stažené mody rovnou zkopíruje do serveru včetně klíčů.
Otevřete PowerShell ve složce server_manager. V Průzkumníku podržte Shift, klikněte pravým tlačítkem do prázdna a vyberte Otevřít okno PowerShellu zde. Pak spusťte nabídku:
powershell -ExecutionPolicy Bypass -File .\Server_manager.ps1
Nebo rovnou aktualizujte server i mody bez proklikávání:
powershell -ExecutionPolicy Bypass -File .\Server_manager.ps1 -u all
Přepínač -ExecutionPolicy Bypass je potřeba proto, že Windows standardně odmítají spouštět stažené skripty. Platí jen pro tohle jedno spuštění a systémové nastavení nemění.
Při prvním spuštění se skript zeptá na cestu ke SteamCMD, na přihlášení ke Steamu a na soubor se seznamem modů. Ten je textový, jedno ID z Workshopu na řádek, a předlohy example_mod_list.txt i example_server_mod_list.txt leží vedle skriptu. Zadané údaje si zapamatuje, takže podruhé už jen spustíte příkaz.
Než ho poprvé spustíte, upravte jeden řádek. Skript má cestu k serveru napevno a vždycky ji hledá uvnitř SteamCMD, ve složce steamapps\common\DayZServer. Tam ale váš server není. Kdybyste ho pustili jen tak, stáhne si vlastní kopii o velikosti skoro 4 GB a bude aktualizovat server, který nepoužíváte.
Otevřete Server_manager.ps1 v Notepadu++ a najděte řádky 1491 a 1644. Na obou stojí:
$appFolder = '\steamapps\common\DayZServer'
Přepište je na cestu ke svému serveru. Skript ji jen připojuje za cestu ke SteamCMD, takže dvě tečky ho pošlou o úroveň výš:
$appFolder = '\..\DayZ-Server'
Z C:\SteamCMD\..\DayZ-Server se stane C:\DayZ-Server a skript od té chvíle pracuje s vaší instalací. Kdybyste server měli jinde, dosaďte si vlastní cestu.
Složky modů navíc nechává pojmenované číslem místo @NazevModu, takže je pak do -mod= zapisujete čísly. Funguje to, zavináč je jen konvence.
Skript nese copyright z roku 2018 a Bohemia ho neaktualizuje. Než na něm postavíte provoz, vyzkoušejte si ho.
Správa serveru
Server běží, lidi se připojili. Dřív nebo později přijde večer, kdy někoho potřebujete vyhodit. Přes konzoli serveru to jde, ale je to nepohodlné a pokaždé u toho musíte sedět u počítače.
Většina českých i zahraničních komunit proto používá CFTools Cloud. Připojí se k vašemu serveru přes RCON a v prohlížeči pak vidíte, kdo je online, co se na serveru děje a kompletní historii připojení. Bezplatná úroveň stačí na jeden server a nechce platební kartu.
Co z toho oceníte nejdřív:
- Profily hráčů provázané se Steamem, takže vidíte historii i u někoho, kdo si dvakrát změnil jméno
- Bany napříč servery, případně sdílené s ostatními komunitami. Cheater vyhozený jinde se k vám nedostane
- Přístup pro adminy bez hesla RCON. Tohle je největší praktický přínos: můžete dát práva kamarádovi, aniž byste mu dali klíče od celého serveru. A když se rozejdete, jen mu je odeberete.
- Napojení na Discord, kde vám chodí oznámení o dění na serveru
Podmínkou je zapnutý RCON a server dostupný z internetu, což po předchozích kapitolách splňujete.
Pro server pro pět kamarádů je to zbytečnost. Ve chvíli, kdy začnete pouštět dovnitř cizí lidi, se to vyplatí od prvního dne.
Když server nikdo nevidí
Projděte to v tomhle pořadí:
- Zkontrolujte, že
steamQueryPortsedí s portem, který máte otevřený. Když se rozejdou, server běží, ale v seznamu ho nikdo neuvidí. Nejčastější příčina, viz výše. - Ověřte, že pravidla jsou pro UDP, ne TCP, a že jsou založená v routeru i ve firewallu Windows.
- Počkejte půl minuty. Prohlížeč serverů se obnovuje se zpožděním a spousta lidí to vzdá po deseti vteřinách.
- V launcheru na kartě Mody dejte „Nenahrávat nic“ a seznam obnovte. Načtené mody na straně klienta seznam filtrují.
- Zkuste přímé připojení na svou veřejnou IP a port 2302. Když to projde a v seznamu server pořád není, problém je v dotazovacím portu, ne v serveru.
Jednu věc dělejte až úplně nakonec: netestujte to z vlastní sítě. Většina routerů připojení na vlastní veřejnou IP zevnitř domácnosti neobslouží, takže vám to vyhodí chybu, i když je všechno správně. Nechte to zkusit někoho zvenčí nebo si to vyzkoušejte z mobilních dat.
Na tohle se přijde až za provozu
Ekonomika lootu je vlastní disciplína
Server naběhne s výchozím rozložením věcí a spousta lidí u toho zůstane. Přitom právě tohle řídí, jak se na serveru hraje. Soubor db/types.xml určuje, kolik kusů čeho je na mapě, kde se to objevuje a za jak dlouho se to vrací.
Věci z modů do vanilla souboru nepatří
Většina modů, které přidávají předměty, si s sebou nese vlastní types.xml. Nabízí se zkopírovat jeho obsah do db/types.xml. Nedělejte to.
Ten soubor je součástí hry a při aktualizaci se přepíše. Přijdete o všechno, co jste do něj přidali, a nejspíš to zjistíte až ve chvíli, kdy si hráči začnou stěžovat, že věci z modu nikde nejsou. A když někdy budete chtít mod odebrat, hledáte jeho položky mezi tisíci řádky.
Správně se to dělá tak, že si v adresáři mise založíte vlastní složku, třeba MODS, a do ní dáte samostatný soubor pro každý mod:
mpmissions/dayzOffline.chernarusplus/ ├─ db/ │ ├─ types.xml ← vanilla, do tohohle se nesahá │ └─ economy.xml ├─ cfgeconomycore.xml └─ MODS/ ├─ nazev_modu.xml ├─ jiny_mod.xml └─ dalsi_mod.xml
Pak už je jen zaregistrujete v cfgeconomycore.xml. Na konec souboru, za blok <defaults>, přidáte:
<ce folder="MODS">
<file name="nazev_modu.xml" type="types" />
<file name="jiny_mod.xml" type="types" />
<file name="dalsi_mod.xml" type="types" />
</ce>
</economycore>
Atribut folder je název vaší složky, name je konkrétní soubor v ní. Takových bloků <ce> můžete mít víc, každý pro jinou složku. Hodí se to, když si chcete oddělit třeba zbraně od oblečení.
Dvě věci, na kterých se to láme. Když soubor v seznamu uvedete a ve složce nebude, ekonomika se nenačte vůbec a server naběhne bez lootu. A jména musí sedět přesně, včetně velikosti písmen a mezer.
Odměnou je, že odebrání modu znamená smazat jeden řádek a jeden soubor. A aktualizace DayZ vám do toho už nesáhne.
Zálohujte, než o to přijdete
Všechno, co hráči postavili, a všechny jejich postavy leží v jediné složce:
mpmissions/<vaše_mise>/storage_1/
Zkopírovat ji jinam trvá pár vteřin. Až jednou přijde poškozený zápis nebo omyl v konfiguraci, je to rozdíl mezi „vrátíme to o hodinu zpátky“ a „začínáme znovu“.
Zálohujte při vypnutém serveru, ideálně hned po restartu. Kopie běžící databáze bývá nepoužitelná. A nenechávejte zálohy na stejném disku jako server, protože až odejde ten disk, odejdou s ním obě.
Restarty nejsou volitelné
DayZ server během provozu zpomaluje a potřebuje pravidelný restart. Dvakrát denně stačí i serveru s desítkami modů. Když si hráči začnou stěžovat, že se hra k večeru zadrhává, přidejte třetí.
Nestačí ale server zabít. Když ho vypnete bez varování, hráči přijdou o postup od posledního uložení a budou vám to mít za zlé.
Naštěstí na to DayZ nepotřebuje žádný cizí nástroj. Odpočet i vypnutí zvládne sám přes soubor mpmissions/<vaše_mise>/db/messages.xml. Pokud tam není, prostě si ho vytvořte:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<messages>
<!-- Odpočet a vypnutí serveru 720 minut (12 h) po spuštění.
Hráči vidí zprávu s ubývajícím časem, #name doplní název serveru. -->
<message>
<deadline>720</deadline>
<shutdown>1</shutdown>
<text>Server #name se restartuje za #tmin minut. Uložte se na bezpečném místě.</text>
</message>
<!-- Uvítání dvě minuty po připojení. -->
<message>
<delay>2</delay>
<onconnect>1</onconnect>
<text>Vítej na serveru #name. Restart probíhá dvakrát denně.</text>
</message>
</messages>
<deadline> je počet minut od spuštění serveru, ne čas na hodinách. Po každém restartu se odpočet rozjede znovu, takže jeden blok stačí. Dva bloky se <shutdown> by si šly do cesty. Pro restart dvakrát denně dejte 720, pro třikrát 480.
Server se tím ale jen vypne. Nastartovat ho musí něco dalšího, stejně jako u parametru -freezeCheck, který server při zamrznutí taky jen zastaví. Nejjednodušší je smyčka v dávkovém souboru:
@echo off
:start
start "DayZ Server" /wait DayZServer_x64.exe -config=serverDZ.cfg -port=2302 -profiles=config -doLogs -adminLog -netLog -freezeCheck
echo Server se ukoncil, restart za 10 sekund...
timeout /t 10 /nobreak >nul
goto start
Klíčový je přepínač /wait. Bez něj start server spustí a hned pokračuje dál, takže by se smyčka roztočila naprázdno. S ním dávka počká, až se server ukončí, a teprve pak ho spustí znovu. Odchytí tak všechny tři případy: plánované vypnutí, zamrznutí i obyčejný pád.
Dvě věci, které vás při tom překvapí. Zavřením okna serveru ho nezastavíte, dokud běží dávka, za deset vteřin ho spustí znovu. A když server padá hned po startu, typicky po aktualizaci s rozbitým modem, smyčka se roztočí donekonečna a v logu máte stovky záznamů. V takovém případě dávku zastavte a spusťte server jednou ručně, ať uvidíte skutečnou chybu.
Hráči tak mají čas se schovat na bezpečné místo. Server, který restartuje bez varování, přichází o lidi rychleji než server s chybami.
Rychlý checklist
- DayZ vlastněné na Steamu, serverové soubory přes Nástroje nebo
app_update 223350 - Ověřená veřejná IP adresa, bez ní přesměrování portů nepomůže
- V
serverDZ.cfg: hostname, passwordAdmin,verifySignatures=2,steamQueryPort=27016 - Mapa nastavená v
Missions→template - Router: pevná lokální IP a přesměrované UDP porty 2302–2305 a 27016
- Windows firewall: stejné porty
start.bats parametry-config,-port,-profiles,-doLogs,-adminLog,-netLog,-freezeCheck- Mody jako složky
@Nazevv kořeni serveru a načtené parametrem-mod= - Všechny soubory
.bikeyzkopírované do složkykeys - Odpočet a vypnutí nastavené v
messages.xml, spouštění zajištěné smyčkou v dávce - Zálohovaná složka
storage_1na jiném disku - Otestované připojení zvenčí, ne z vlastní sítě
Máte s vlastním serverem problém, který tu není popsaný? Napište do komentářů. Z opakujících se dotazů děláme samostatné návody.