Dedikovaný server 7 Days to Die potřebuje 8 GB paměti pro Navezgane nebo náhodný svět 6k a nejvýš čtyři hráče, 10 až 12 GB pro svět 8k se šesti až osmi hráči a 12 až 14 GB pro svět 10k s osmi a více hráči rozprostřenými po mapě. Overhaul módy přidají navrch dalších 2 až 4 GB. Jsou to špičkové hodnoty a ta špička má své datum: noc hordy, kdy všichni hráči naráz odrážejí vlnu zombie, po týdnu růstu paměti od posledního restartu. Dvě nastavení, která paměť ovlivňují nejvíc, jsou velikost světa, který vygeneruješ, a view distance, kterou povolíš. Obojí se snáz nastaví správně předtím, než svět vznikne, než potom.
Co server 7 Days to Die drží v paměti#
7 Days to Die je server na Unity, který simuluje voxelový svět, ve kterém hráči kopou, staví a vyhazují věci do vzduchu. Paměť se skládá ze čtyř částí.
- Načtené chunky. Svět je uložený po chunkech a server drží načtené a aktivní ty, které jsou kolem každého hráče. Víc hráčů rozptýlených dál od sebe znamená víc chunků; skupina v jedné základně jich načte jen zlomek oproti stejné skupině, která zkoumá mapu na čtyři strany.
- Entity. Zombie, zvířata, hráči, vozidla, odhozené batohy a loot bagy. Každá zombie je AI s hledáním cesty a to je ve zničitelném voxelovém světě drahé na paměť i na CPU.
- Statická data světa. Vygenerovaný terén, rozmístění POI, silniční síť a data prefabů pro každou budovu, která se může objevit. Větší vygenerovaný svět má všeho víc.
- Dynamic mesh. Systém, díky kterému hráči vidí vzdálená POI a hráčské stavby i s poškozením. Cachuje meshe pro oblasti, které sleduje, a řídí se klíčem
DynamicMeshEnableda souvisejícími.
Pod tím vším běží runtime Unity a managed heap a jako každý managed runtime potřebuje volné místo, aby v něm mohl uklízet. Server, jehož živá data zaplní celý kontejner, nechá garbage collectoru málo prostoru a právě tehdy začnou záseky, ještě než cokoli dojde.
RAM podle velikosti světa a počtu hráčů#
| Svět a skupina | RAM | vCPU | Poznámky |
|---|---|---|---|
| Navezgane nebo svět 6k, do 4 hráčů | 8 GB | 2 | Spodní hranice pro pohodlný server |
| Náhodný svět 8k, 6-8 hráčů | 10-12 GB | 2-3 | Běžná velikost komunitního serveru |
| Svět 10k, 8+ hráčů, rozptýlení | 12-14 GB | 3 | Rozptýlení rozhoduje víc než počet |
| Overhaul módy (Darkness Falls a podobné) | přidej 2-4 GB | přidej 0.5-1 | Víc zombie, víc itemů, víc bloků |
| Generování světa při prvním startu | špička nad všemi předchozími | - | Jednorázový skok |
7 Days to Die je jedna z mála her, kde je 8 GB spíš spodní hranice než pohodlný střed. Pod ní server nastartuje a klidné odpoledne vydrží, ale při první noci hordy spadne. Průvodce nastavením serveru 7 Days to Die používá stejná čísla a prochází celou konfiguraci.
Sloupec s hráči je poctivý v jedné věci, která lidi překvapuje: výchozí ServerMaxPlayerCount je 8 a hra je navržená pro skupiny této velikosti. Větší servery existují a běží, ale každý další hráč, který se vydá vlastní cestou, načte další oblast chunků a spustí další sadu spawnů zombie, takže paměť i CPU rostou po zhruba desítce hráčů rychleji než lineárně.
Nastavení, která hýbou pamětí#
Všechno jsou to properties v souboru serverconfig.xml. Výchozí hodnoty se mezi verzemi měnily, takže čti hodnoty ve svém vlastním souboru a nespoléhej na žádnou tabulku, včetně té tady.
<property name="GameWorld" value="RWG"/><property name="WorldGenSize" value="8192"/><property name="WorldGenSeed" value="tuesday-group"/><property name="ServerMaxPlayerCount" value="8"/><property name="ServerMaxAllowedViewDistance" value="10"/><property name="MaxSpawnedZombies" value="64"/><property name="MaxSpawnedAnimals" value="50"/><property name="BloodMoonEnemyCount" value="8"/><property name="DynamicMeshEnabled" value="true"/><property name="DynamicMeshLandClaimOnly" value="true"/><property name="DynamicMeshMaxItemCache" value="3"/>| Property | Typická výchozí hodnota | Vliv na paměť |
|---|---|---|
WorldGenSize | 6144 | Velikost náhodného světa; větší znamená víc statických dat a víc k prozkoumání |
ServerMaxAllowedViewDistance | 12 | Omezuje view distance každého klienta v chuncích; nižší znamená méně načtených chunků |
MaxSpawnedZombies | 64 | Zombie naživu na celé mapě najednou |
MaxSpawnedAnimals | 50 | Zvířata naživu najednou |
BloodMoonEnemyCount | 8 | Zombie z hordy na hráče najednou při blood moonu |
DynamicMeshEnabled | true | Meshe vzdálených POI a staveb; jejich cache stojí paměť |
DynamicMeshLandClaimOnly | true | Omezí dynamic mesh na oblasti s land claimem |
DynamicMeshMaxItemCache | 3 | Kolik mesh položek se drží v paměti |
Dvě, na která stojí za to sáhnout jako první:
`ServerMaxAllowedViewDistance`. Rozsah je 6 až 12 a určuje strop, který si může vyžádat kterýkoli klient. Snížení z 12 na 10 nebo 8 zmenší počet chunků, které server drží načtené pro každého hráče, a ve světě plném mlhy, stromů a budov si toho většina hráčů sotva všimne. Je to nejlevnější úspora paměti v celém seznamu.
`WorldGenSize`. Svět 10k není jen větší; má víc měst, víc POI a víc silnic a jeho první generování trvá tak dlouho, že lidé pojmou podezření, že se server zasekl. Pokud vás hraje čtyři, svět 6k nebo 8k jim nabídne víc než dost prostoru k průzkumu a stojí znatelně míň. Svět dimenzuj podle skupiny, ne podle největšího čísla v nabídce. Generování světa v 7 Days to Die podrobně popisuje velikosti RWG, seedy a dobu generování.
Noc hordy je zátěžový test#
Každý sedmý den ve výchozím nastavení pošle blood moon vlny zombie na každého hráče. BloodMoonEnemyCount říká, kolik jich je na hráče naživu najednou, takže osm hráčů s výchozí hodnotou znamená 64 zombie z hordy, které si hledají cestu k osmi pozicím, často skrz hráčské obrany, které se při tom ničí a přepočítávají. K tomu přibývají běžné spawny, načtené chunky kolem každé základny a zapisované poškození bloků.
Ten večer je špičkou paměti i CPU a přichází na konci týdne stálého růstu od posledního restartu. Tři návyky ho pomáhají zvládnout:
- Restartuj před nocí hordy, ne po ní. Restart odpoledne sedmého dne vrátí server na jeho základní hodnotu těsně před nejtěžší hodinou. Plány restartů, které pomáhají popisují, jak zvolit čas a varovat hráče.
- Braň se na méně místech. Čtyři oddělené základny s hordou jsou čtyři oddělené problémy s hledáním cesty a čtyři sady načtených chunků. Dvě společné základny jsou polovina.
- Nezvyšuj `BloodMoonEnemyCount` kvůli velké skupině. Hodnota platí na hráče. Server s dvanácti hráči při hodnotě 8 už je na 96 zombie najednou; obtížnost vychází z počtu na základnu, ne na hráče.
Blood moon a výkon rozebírá nastavení hord a jejich cenu hlouběji.
Řádek v logu, který říká pravdu#
Server 7 Days to Die zapisuje do logu stavový řádek zhruba jednou za minutu. Vypadá takto, přesná pole se mezi verzemi mírně liší:
Time: 412.03m FPS: 38.21 Heap: 3215.4MB Max: 4120.7MB Chunks: 612 CGO: 74 Ply: 6 Zom: 41 Ent: 63 (112) Items: 0 CO: 6 RSS: 9874.2MBPole, která stojí za čtení:
- `FPS` je rychlost simulace serveru. Závisí na CPU, ne na paměti. Trvalé hodnoty pod zhruba 20 jsou chvíle, kdy hráči začnou vidět teleportující se zombie.
- `Heap` a `Max` jsou použitý managed heap a největší hodnota, které dosáhl. Heap, který v průběhu dní pořád překonává vlastní maximum, je růst nebo únik paměti.
- `RSS` je rezidentní paměť celého procesu - číslo, které limit kontejneru skutečně počítá. Porovnej ho s limitem svého plánu. Pokud je
RSSna konci noci hordy do zhruba 10 % limitu, jsi jeden špatný večer od zastavení serveru. - `Chunks`, `Zom` a `Ent` ukazují, co ta čísla pohání: načtené chunky, živé zombie a entity celkem.
Vyfiltruj si tyto řádky z logu a máš historii paměti bez jakýchkoli dalších nástrojů. Příkaz mem v admin konzoli vypíše podobný souhrn na požádání a spustí garbage collection, což se hodí ke zjištění, jestli je vysoká hodnota živá data, nebo jen odpad čekající na úklid. Admin příkazy pro 7 Days to Die uvádějí zbytek konzole.
Generování světa a složka se savem#
Náhodný svět se generuje při prvním startu s daným názvem, seedem a velikostí. Generování staví terén, rozmisťuje města a POI, klade silnice a výsledek zapisuje do složky vygenerovaných světů. Je to těžká jednorázová práce: paměť během generování může přesáhnout to, co hotový svět potřebuje k běhu, a svět 10k může generování trvat dlouho. Na plánu, který ke spuštění světa stačí, může generování přesto selhat.
Dvě cesty, jak to obejít:
- Generuj na klidném serveru, kde není nikdo připojený a neběží nic dalšího, a hned po dokončení udělej backup.
- Generuj v herním klientu na vlastním PC se stejným názvem, seedem a velikostí a pak nahraj složku vygenerovaného světa na server. Server ji najde a generování přeskočí.
Potom save roste, jak hráči hrají. Každá oblast světa je soubor .7rg ve složce Region v savu a oblasti, kde se kopalo, stavělo nebo způsobilo poškození, ta data nesou. Region soubory dobře prochozeného světa 10k mohou dosáhnout několika gigabajtů, což je disk, ne paměť, ale jejich načítání a ukládání je součástí práce serveru pokaždé, když hráč vstoupí do nové oblasti.
Módy: modlety a overhauly#
Módy pro 7 Days to Die sahají od modletů o jednom souboru, které změní jeden recept, až po kompletní overhauly, které nahrazují většinu obsahu hry.
- Modlety upravující XML - recepty, loot, velikosti stacků - stojí v paměti skoro nic.
- Obsahové modlety, které přidávají bloky, itemy nebo typy zombie, přinášejí svá assety a svoje spawny.
- Overhauly jako Darkness Falls přidávají nové třídy zombie, spoustu nových bloků a itemů, nová POI a změněné spawnování. Jsou to prakticky jiná hra s jinými nároky: přidej 2 až 4 GB a půl jádra a počítej s pomalejším startem.
Overhauly následují hlavní verze základní hry se zpožděním, takže zkontroluj, že verze, kterou instaluješ, přesně odpovídá verzi hry na serveru; nesoulad obvykle zastaví server při načítání, místo aby spotřeboval víc paměti. Overhaul módy na serveru popisují instalaci a synchronizaci klientů.
Příklad z praxe: šest hráčů na světě 8k#
Skupina šesti lidí chce náhodný svět 8k, výchozí počty zombie, jeden balík modletů s vylepšeními pohodlí a blood moon každých sedm dní. Tabulka říká 10 až 12 GB. Takhle to ověříš na skutečných datech, místo abys věřil tabulce.
- Nejdřív vygeneruj, pak dimenzuj. Svět vygeneruj na klidném serveru nebo v klientu a nahraj ho, aby o plánu nerozhodoval skok při generování.
- Zaznamenej základní hodnotu. Spusť server bez připojených hráčů a po pěti minutách si přečti
RSSze stavového řádku. Na světě 8k je to engine, statická data světa a modlety. - Přečti si běžný večer. Se všemi šesti hráči online a rozptýlenými po mapě sleduj
RSS,ChunksaZomběhem nejvytíženější hodiny. Rozptýlení se projeví vysokou hodnotouChunks. - Přečti si noc hordy. Stejná pole na vrcholu blood moonu sedmého dne, bez předchozího restartu, ukážou skutečnou špičku týdne.
- Rozhodni. Pokud je ta špička pod zhruba 85 % plánu, vejde se. Pokud je blízko, nejlevnější opravy jsou restart před nocí hordy a
ServerMaxAllowedViewDistancesnížená o dva. Pokud nestačí ani to, přejdi o tarif výš.
Většina skupin tohoto tvaru pohodlně vystačí s 10 GB při restartu před hordou a s 12 GB bez něj. Rozdíl mezi těmi dvěma plány bývá jedna naplánovaná úloha.
Co se stane na limitu#
Když serveru 7 Days to Die dojde paměť uvnitř kontejneru, nezapíše přátelskou chybu. Proces se zastaví, log skončí uprostřed řádku a máš to, co se stihlo zapsat do posledních region souborů. Region soubory zachycené uprostřed zápisu jsou jedním ze způsobů, jak se save poškodí, a proto jsou backupy u této hry důležitější než u většiny jiných.
Na RE:NODE se server, který dosáhne limitu paměti, zastaví a čistě restartuje, místo aby se nechal swapovat; swapující server 7 Days je stejně nehratelný. Sloty pro backupy jsou součástí každého plánu a záložka Schedules umí spustit backup před restartem před nocí hordy. Plány pro 7 Days to Die začínají na 8 GB za 20 $ měsíčně a končí na 14 GB a Steam přihlášení, které instalace potřebuje, patří na záložku Setup. Přechod na vyšší tarif zvedne limit na serveru, který už máš, takže svět zůstane na místě.
FAQ#
Stačí 8 GB na server 7 Days to Die?
Na Navezgane nebo náhodný svět 6k s nejvýš čtyřmi hráči ano. Na svět 8k se šesti až osmi hráči poběží, ale na konci týdne bez restartu to bude při noci hordy těsné. Pod 8 GB se server nevyplatí provozovat.
Proč můj server 7 Days lagá při noci hordy?
Protože noc hordy je špičkou paměti i CPU: desítky zombie hledají cestu přes zničitelné bloky na několika základnách najednou. Podívej se na pole FPS v logu. Pokud se propadne, zatímco RSS je hluboko pod limitem, jde o CPU a víc pomůže méně základen s hordou než paměť. Pokud je RSS u limitu, restartuj před další hordou.
Potřebuje větší svět víc RAM?
Ano, víc než ve většině her. Větší náhodný svět nese víc statických dat a víc POI a hráči se po něm rozptýlí dál a načtou víc chunků. Svět 10k pro čtyři hráče znamená platit za mapu, kterou nikdy nenavštíví.
Kolik RAM potřebuje Darkness Falls?
Počítej s o 2 až 4 GB víc, než by stejný svět potřeboval ve vanille, a s půl jádra navíc. Overhauly přidávají typy zombie, bloky a itemy a mění spawny, takže zvyšují základní hodnotu i špičku noci hordy.
Pomůže restart paměti 7 Days to Die?
Ano. Paměť roste s dny uptimu a restart vrátí server na základní hodnotu. Načasuj ho před noc hordy, ne po ní, aby nejtěžší hodina týdne začínala z nejnižšího bodu.




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.