Server DayZ potřebuje 4 až 6 GB paměti pro soukromou skupinu deseti až dvaceti hráčů na vanille, 6 až 8 GB pro běžný veřejný server s 30 až 40 sloty, 8 až 10 GB pro vytížený vanilla server se 40 až 60 sloty a 10 až 12 GB pro silně modovaný server s módy velikosti Expansion, obchodníky a AI. Paměť roste s počtem módů a s tím, co na mapě přetrvává, mnohem víc než s počtem hráčů: server s 30 sloty a velkým balíkem módů spotřebuje víc než vanilla server se 60 sloty. Prostředek, kterého se na DayZ obvykle nedostane první, není vůbec paměť, ale FPS serveru - jedno vytížené jádro - takže si nejdřív dokaž, čeho máš opravdu málo, než koupíš víc kteréhokoli z nich.
Co server DayZ drží v paměti#
Server DayZ simuluje mapu o rozloze 225 čtverečních kilometrů (Chernarus; Livonia je menší) s perzistentní ekonomikou. Jeho paměť má čtyři velké části.
- Mapa a základ enginu. Terén, budovy, navigační data pro nakažené a zvířata a samotný engine. Platí se to ještě předtím, než se kdokoli připojí, a záleží to na mapě.
- Central economy. Každý předmět, který na mapě existuje, je objekt. Úkolem ekonomiky je držet počet každého typu předmětu poblíž cíle, takže server s vanilla
types.xmldrží v každém okamžiku desítky tisíc předmětů - v budovách, na nakažených, na zemi, v inventářích hráčů. - Perzistentní objekty. Stany, barely, bedny, zdi a brány z base buildingu, zakopané stashe a vozidla přežívají restarty díky systému persistence. Přetrvává i všechno, co je uvnitř. Tato část roste po celý život serveru.
- Módy. Skripty, konfigurace a assety každého módu načtené do serveru a každý předmět, který módy přidávají do ekonomiky.
Samotní hráči stojí poměrně málo: jejich postava, inventář a síťový stav. Nepřímo ale stojí všechno, co postaví, nahromadí a nechají ležet.
RAM podle slotů a seznamu módů#
| Server | RAM | vCPU | Poznámky |
|---|---|---|---|
| 10-20 slotů, vanilla | 4-6 GB | 2 | Pohodlné pro soukromou skupinu |
| 30-40 slotů, vanilla | 6-8 GB | 2-3 | Běžný veřejný server |
| 40-60 slotů, vanilla | 8-10 GB | 3+ | Limitem se stává FPS serveru, ne paměť |
| 30-50 slotů, silně modovaný | 10-12 GB | 3+ | Seznamy velikosti Expansion, obchodníci, AI |
| Komunitní mapa (Namalsk, Deer Isle a podobné) | přidej 1-2 GB | - | Podle velikosti a hustoty mapy |
Jak to číst:
- Módy tě posouvají v tabulce dolů rychleji než sloty. Server s Expansion, jeho moduly pro market, vozidla a AI a k tomu balíky base buildingu a zbraní je jiný stroj než vanilla server se stejným počtem slotů.
- Posouvá tě dolů i stáří. Server, který nikdy nemaže persistentní úložiště, hromadí základny, stashe a jejich obsah. Server po třech měsících od wipu spotřebuje znatelně víc než v prvním týdnu.
- Sloupec CPU je stejně důležitý jako sloupec RAM. Simulace DayZ běží na hlavním vlákně. Server se 60 sloty je limitovaný FPS serveru dlouho předtím, než mu dojde paměť.
Průvodce serverem DayZ a módy používá stejná čísla a provede instalací od začátku do konce.
Central economy je nastavení paměti#
Loot v DayZ řídí soubory central economy ve složce mise, pro vanilla Chernarus je to mpmissions/dayzOffline.chernarusplus/. Dva z nich nastavují čísla, na kterých záleží pro paměť.
types.xml
Každý typ předmětu má cílový počet (nominal), minimum (min), lifetime v sekundách, po kterých se nedotčený předmět ztratí, a čas restock:
<type name="AKM"> <nominal>8</nominal> <lifetime>14400</lifetime> <restock>0</restock> <min>4</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost></type>Součet nominal přes všechny typy je zhruba počet předmětů, které se ekonomika snaží udržet ve světě. Zdvojnásobení lootu vynásobením nominalů - na komunitních serverech velmi běžná úprava - zhruba zdvojnásobí tuto část paměti a přidá CPU, aby ji ekonomika zvládala. Dlouhé hodnoty lifetime znamenají, že zahozené a opuštěné předměty zůstávají déle. Módy, které přidávají zbraně a vybavení, přinášejí vlastní záznamy a některé balíky mají štědré nominaly. types.xml a ekonomika lootu vysvětluje každé pole.
globals.xml
Globální limity a časovače úklidu jsou v db/globals.xml. Pro paměť jsou důležité tyto:
| Proměnná | Typická výchozí hodnota | Efekt |
|---|---|---|
ZombieMaxCount | 1000 | Nakažení naživu na celé mapě najednou |
AnimalMaxCount | 200 | Zvířata naživu najednou |
CleanupLifetimeDeadPlayer | 3600 | Sekundy, po které zůstává tělo hráče |
CleanupLifetimeDeadInfected | 330 | Sekundy, po které zůstává tělo nakaženého |
CleanupLifetimeDeadAnimal | 1200 | Sekundy, po které zůstává mršina zvířete |
CleanupLifetimeRuined | 330 | Sekundy, po které zůstává zničený předmět |
Zvýšení ZombieMaxCount pro těžší server je běžné a stojí paměť i CPU v poměru. Prodloužení časů úklidu nechává těla a zničené vybavení na mapě déle a na vytíženém PvP serveru to jsou stovky objektů navíc s plnými inventáři. Zkontroluj hodnoty ve svém souboru; soubory misí se aktualizují s hrou a některé komunitní mise je mění.
Persistence: část, která roste#
Perzistentní úložiště je ve složce storage_1 mise (číslo je instanceId v serverDZ.cfg). Každý stan, barel, zeď, brána, zakopaný stash a vozidlo se zapisuje sem a při každém startu se načítá i s obsahem.
Díky tomu má DayZ stejný pomalý růst jako každá survival hra s budováním základen:
- První týden je většinou ekonomika a základ mapy.
- Druhý měsíc přidá každou základnu na mapě, každý stash, na který si nikdo nepamatuje, že ho zakopal, a každé vozidlo, které někdo zaparkoval ve stodole.
- Opuštěné základny samy nezmizí, pokud nejsou v provozu vlajky území a pravidla jejich obnovy. Na vanille nechá neobnovená vlajka základnu nakonec zchátrat; na serverech, kde se vlajky nepoužívají, se perzistentní předměty spoléhají na vlastní lifetime.
Úplný wipe persistence to všechno vynuluje a obvykle se dělá s aktualizací mapy nebo v pevném rozvrhu. Wipy serveru DayZ a persistence popisují, co může odstranit částečný wipe a co úplný.
Doložení čísel z vlastních logů serveru#
DayZ umí logovat vlastní paměť a FPS do souboru .RPT serveru, což je nejsnazší způsob, jak získat skutečná čísla za celou session. Přidej do serverDZ.cfg:
logAverageFps = 60;logMemory = 60;logPlayers = 60;Každá hodnota je interval v sekundách. S tímto nastavením přibudou do RPT logu pravidelné řádky s průměrným FPS serveru, využitou pamětí a počtem hráčů. Nech to běžet přes celý restartovací cyklus ve vytížený večer a máš přesně data, která rozhodnutí o dimenzování potřebuje.
Na co se dívat:
- Paměť během cyklu. Od startu roste, jak se plní ekonomika a hráči se rozptylují. Pokud je před dalším plánovaným restartem do zhruba 10 % svého limitu, máš jí málo.
- FPS serveru pod zátěží. Pokud FPS klesá k jednociferným hodnotám, jak se server plní, zatímco paměti je dost, limitem je CPU. Víc paměti nepomůže; pomůže méně nakažených, méně lootu, méně AI a méně těžkých módů.
- Vztah mezi nimi. Server, jehož FPS během session soustavně klesá spolu s rostoucí pamětí, je klasický případ pro kratší interval restartu místo většího plánu.
CPU nebo RAM: co brzdí tvůj server vysvětluje obecnou metodu a požadavky herních serverů na CPU popisují, co dělat, když je úzkým místem jádro.
Parametry spuštění, které se dotýkají paměti a CPU#
Příkazový řádek serveru DayZ nese několik parametrů, které stojí za znalost při dimenzování:
$ ./DayZServer -config=serverDZ.cfg -port=2302 -profiles=profiles \ -cpuCount=2 -limitFPS=60 -dologs -adminlog -freezecheck \ "-mod=@CF;@Dabs Framework;@DayZ-Expansion-Core"Co dělá každý z relevantních:
- `-cpuCount` říká enginu, kolik jader má počítat při plánování svých pracovních vláken. Nastav hodnotu podle jader, která skutečně máš; vyšší hodnota než přidělení jen vytvoří vlákna, která spolu soutěží.
- `-limitFPS` omezuje snímkovou frekvenci simulace serveru. Strop zabrání serveru pálit CPU na snímcích, ze kterých nikdo nic nemá, a zůstane rezerva na chvíle, které ji potřebují.
- `-mod` a `-serverMod` uvádějí módy načítané na obou stranách a jen na serveru. Každý záznam je paměť při startu; ani módy jen pro server (admin nástroje, logování, pomocníci proti cheatům) nejsou výjimkou.
- `-freezecheck` způsobí, že se server při zamrznutí sám zastaví, což je lepší než zmrzlý proces, který drží hráče minutami.
Na hostingu s panelem jsou tohle proměnné záložky Startup, ne řádek, který píšeš, a seznam módů bývá samostatné pole.
Módy: největší jednotlivá proměnná#
Komunita modderů DayZ je velká a její velké frameworky jsou rozsáhlé. Cena závisí na tom, co mód dělá:
- Frameworky a admin módy - Community Framework, admin nástroje, logování - přidávají střední paměť a často jsou závislostí všeho ostatního.
- Obsahové balíky - zbraně, oblečení, vozidla - přidávají assety a záznamy do ekonomiky. Každý nový typ předmětu, který se spawnuje, je víc objektů na mapě.
- Módy se systémy - market, AI, questy, území a vozidla z Expansion; módy s obchodníky; přepracování base buildingu - přidávají nejvíc, protože přidávají běžící systémy a perzistentní stav, nejen předměty.
Expansion je modulární, takže server může provozovat jeho jádro a moduly base buildingu bez AI a marketu a rozdíl v paměti a CPU je podstatný. Instaluj moduly, které opravdu použiješ. Průvodce serverem s módem DayZ Expansion popisuje moduly a pořadí jejich nastavení.
Příklad z praxe: 40 slotů s Expansion#
Komunita chce server Chernarus se 40 sloty, s moduly core, base building, vozidla a market z Expansion, balíkem zbraní, balíkem oblečení a hrstkou admin módů a vylepšení pohodlí. Loot mají vanilla, zbraně zvýšené o polovinu. Takhle ho dimenzovat bez hádání.
- Začni tabulkou. Čtyřicet slotů vanilla je 6 až 8 GB. Systémy Expansion a dva obsahové balíky ho posunou do řádku pro modované servery, 10 až 12 GB. Začni s 10 GB a s tím, že počítáš s přechodem výš.
- Změř základ. Spusť server s celým seznamem módů, bez připojených hráčů a se zapnutým
logMemory. Počkej, až ekonomika dokončí spawnování lootu - po startu to chvíli trvá - a zapiš si hodnotu. To je základ pro tento seznam módů a nastavení lootu. - Změř celý večer. Nech server běžet celý restartovací cyklus ve špičce s třiceti a více hráči. Zapiš paměť na konci cyklu, těsně před plánovaným restartem, a nejnižší FPS serveru.
- Rozhodni. Pokud je hodnota na konci cyklu pod zhruba 85 % plánu a FPS zůstává zdravé, plán je správný. Pokud je paměť blízko limitu, buď přejdi o tarif výš, nebo zkrať interval restartu ze čtyř hodin na tři. Pokud FPS klesá a paměť je v pořádku, odpovědí je méně AI, méně nakažených nebo lehčí market, ne víc paměti.
- Zopakuj po prvním měsíci. Persistence bude narostlá o každou základnu, takže pro dlouhodobý provoz je rozhodující hodnota na konci cyklu v pátém týdnu.
V praxi se takový server obvykle ustálí ve druhém měsíci mezi 9 a 11 GB na konci cyklu, a proto je 12 GB pohodlný plán a 10 GB těsný. Čísla na tvém serveru se budou lišit; metoda ne.
Restarty jsou součástí návrhu#
Servery DayZ se restartují podle rozvrhu, obvykle každé tři až čtyři hodiny. Není to přiznání selhání: FPS serveru se během dlouhé session zhoršuje, paměť roste, jak se ekonomika a hráči rozptylují po mapě, a restart čistě zapíše persistenci a vrátí server na základní hodnotu. Při restartu se také znovu rozdělí loot a nakažení a hráči to čekají.
Soubor db/messages.xml v misi umí hlásit restarty a vypnout server po nastaveném uptimu a plán v panelu umí spustit restart a backup podle výrazu cron. Plány restartů, které pomáhají popisují, jak zvolit interval. Na RE:NODE je tlačítko Restart čisté zastavení, takže se persistence zapíše dřív, než proces skončí; server, který narazí na limit paměti, se zastaví a čistě restartuje, místo aby se nechal swapovat. Pro node je to bezpečné, pro hráče náhlé, a to je další důvod držet rezervu pod limitem, místo abys jel na hraně.
Plány DayZ na RE:NODE začínají na 6 GB se třemi přidělenými porty od 19 $ měsíčně a nahoře žebříčku končí na 12 GB - správný tvar pro vanilla server se 40 sloty dole a velký server s Expansion nahoře. Instalace potřebuje Steam přihlášení, které vlastní hru, zadané na záložce Setup; rozumná volba je záložní účet.
FAQ#
Stačí 6 GB na server DayZ?
Na vanilla server s 30 až 40 sloty nebo lehce modovaný ano. Na silně modovaný server se systémy Expansion, obchodníky a AI počítej s 10 až 12 GB. Zapni logMemory v serverDZ.cfg a přečti si celý cyklus, než se rozhodneš.
Používá DayZ víc RAM s víc hráči?
Přímo ne moc. Každý hráč stojí nějaký síťový a inventářový stav. Nepřímo víc hráčů staví víc základen, hromadí víc předmětů a rozptyluje se po mapě a tam paměť mizí. Módy mají větší vliv než sloty.
Proč se můj server DayZ před každým restartem zpomaluje?
FPS serveru se během dlouhé session zhoršuje, jak se hromadí objekty, těla a aktivita hráčů, a paměť roste s ním. Proto se servery DayZ restartují každých pár hodin. Pokud je to zlé už hodinu po restartu, podívej se na multiplikátory lootu, počet nakažených a těžké módy.
Spotřebuje dvojnásobný loot víc paměti?
Ano. Central economy drží počty předmětů poblíž jejich cílů nominal, takže zdvojnásobení nominalů zhruba zdvojnásobí počet objektů s lootem na mapě. Přidá to i práci pro ekonomiku a persistenci. Zvyšuj typy předmětů, které hráči chtějí, ne všechno.
Kolik RAM potřebuje DayZ Expansion?
Pro server s většinou modulů Expansion a 30 až 50 hráči počítej s 10 až 12 GB. Nejvíc přidávají moduly AI, marketu a vozidel. Když provozuješ jen moduly, které používáš, a držíš rozumné zásoby obchodníků a počty AI, vyjdeš blíž dolní hranici.




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.