ARK cluster jsou dva nebo více dedikovaných serverů spuštěných se stejným -clusterid= a nasměrovaných na stejný adresář pomocí -ClusterDirOverride=. Když hráč nahraje postavu, tvora nebo předmět na obelisku nebo vysílači, server to zapíše do souboru v tomto adresáři; když dorazí na jinou mapu v clusteru, tamní server to přečte zpět. To je celý mechanismus. Žádná centrální služba ani síťové propojení mezi servery neexistuje - jen složka, do které mohou zapisovat oba. Všechno, co se u clusterů pokazí, se pokazí proto, že ta složka není sdílená, není zálohovaná, nebo ji čte server, jehož pravidla říkají ne.
Tento článek předpokládá, že každá mapa už běží samostatně. Jeden server popisuje návod na server ARK: Survival Ascended; tady jich spojujeme několik.
Co je cluster a kolik stojí#
Každá mapa v clusteru je samostatný, kompletní server: vlastní proces, vlastní instalace, vlastní save, vlastní porty, vlastní paměť. Cluster ze tří map jsou tři servery, které se shodují na adresáři. Nic se nesdílí kromě dat přenosů.
To má dva důsledky, které lidé podceňují.
- Cena roste s počtem map, ne hráčů. Deset hráčů rozprostřených na tři mapy spotřebuje zhruba třikrát víc paměti než deset hráčů na jedné mapě, protože každá mapa drží vlastní svět, vlastní divoké tvory a vlastní stavby bez ohledu na to, kdo na ní je. Klidná mapa bez hráčů stojí většinu toho, co rušná.
- Populace se rozředí. Server s dvanácti aktivními hráči působí živě. Týchž dvanáct na třech mapách působí jako tři servery po čtyřech lidech. Clustery se hodí komunitám, které jsou dost velké na to, aby zaplnily víc než jednu mapu, nebo skupinám, které chtějí projít příběhové mapy postupně a zachovat si tvory.
| Velikost clusteru | Paměť, všechny mapy dohromady | Vhodné pro |
|---|---|---|
| Jedna mapa, bez clusteru | 10-16 GB | Skupiny do zhruba patnácti lidí |
| Dvě mapy | 20-32 GB | Hlavní mapa a mapa pro postup nebo eventy |
| Tři až čtyři mapy | 30-64 GB | Komunity s 30+ pravidelnými hráči |
| Pět a více | od 50 GB | Velké veřejné komunity s týmem |
Tato čísla vycházejí z dimenzování jednoho serveru v článku Kolik RAM potřebuje server ARK; cluster hodnotu pro jednu mapu nemění, násobí ji. S CPU je to stejné - každá mapa chce pro své herní vlákno vlastní rychlé jádro.
Spouštěcí argumenty, které dělají cluster#
Zapojeny jsou tři spouštěcí argumenty a dva z nich musí být na každém serveru shodné.
TheIsland_WP?listen?SessionName=Longship Island?Port=7777?QueryPort=27015?RCONPort=27020 -clusterid=longship-c1 -ClusterDirOverride=/srv/ark/cluster -NoTransferFromFiltering -logScorchedEarth_WP?listen?SessionName=Longship Scorched?Port=7779?QueryPort=27017?RCONPort=27022 -clusterid=longship-c1 -ClusterDirOverride=/srv/ark/cluster -NoTransferFromFiltering -log| Argument | Musí se shodovat mezi servery | Co dělá |
|---|---|---|
-clusterid= | Ano | Pojmenuje cluster. Servery vidí data přenosů jen se stejným ID |
-ClusterDirOverride= | Ano, stejná fyzická složka | Kam se data přenosů zapisují a odkud se čtou |
-NoTransferFromFiltering | Měly by | Uvolní kontrolu, odkud nahraná data pocházejí |
Cluster ID je libovolný řetězec. Zvol ho jedinečné a trochu nenápadné - cluster ID, které používá i jiná komunita, je neškodné, jen dokud s nimi nesdílíš úložiště, a na hostingu, kde adresář clusteru leží na společném místě, je to kolize čekající na svou chvíli. longship-c1 je lepší než cluster.
-ClusterDirOverride určuje nadřazenou složku; server si data přenosů drží v podsložce pojmenované podle cluster ID. Pokud ho vynecháš, každý server použije výchozí místo uvnitř vlastní instalace, takže každý server má svou soukromou „cluster“ složku a nic se nepřenáší. Je to nejčastější důvod, proč čerstvě postavený cluster vypadá, že funguje - obelisk dovolí nahrát - a pak se na druhé mapě nic neobjeví.
Každý server také potřebuje vlastní herní port, dotazovací port a port RCON a vlastní SessionName. Dva servery na jedné adrese se stejným portem nenastartují oba. Veď si krátkou tabulku, která mapa má které porty; budeš ji potřebovat, až se někdo zeptá, proč nemůže v prohlížeči najít Scorched Earth. Proč dotazovací port rozhoduje o tom, jestli je server v seznamu, vysvětluje Porty herních serverů vysvětlené.
Pravidla uploadu a downloadu#
Zda něco může mapu opustit a zda může dorazit, jsou samostatné přepínače nastavované pro každý server v GameUserSettings.ini v sekci [ServerSettings].
| Klíč | Účinek při True |
|---|---|
NoTributeDownloads | Na tomto serveru se nedá stáhnout vůbec nic |
PreventDownloadSurvivors | Postavy sem nemohou dorazit |
PreventDownloadItems | Předměty se tu nedají stáhnout |
PreventDownloadDinos | Tvory se tu nedají stáhnout |
PreventUploadSurvivors | Postavy odsud nemohou odejít |
PreventUploadItems | Předměty se tu nedají nahrát |
PreventUploadDinos | Tvory se tu nedají nahrát |
Pro otevřený cluster nastav všech sedm na False na každém serveru. Omezení jsou ale to, co dělá cluster zajímavým, a návrh po jednotlivých serverech umožňuje stavět jednosměrná pravidla:
- Cluster s postupem, kde tvorové mohou jít dopředu na pozdější mapy, ale ne zpět na dřívější: povol upload tvorů na raných mapách a download tvorů na pozdějších, ale na raných mapách download zablokuj.
- Mapa pro eventy nebo arénu, kam lidé přinášejí postavy, ale ne tvory:
PreventDownloadDinos=Truejen na eventovém serveru. - Mapa „nového začátku“, která přijímá postavy, ale nic, co nesou: zablokuj tam download předmětů a tvorů.
Pravidla si nejdřív zapiš, než je nastavíš, a zveřejni je tam, kde je hráči přečtou. Tvor, který se z mapy nemůže vrátit, je tvor, o kterého někdo přijde, a server by to neměl být první, kdo jim to řekne.
[ServerSettings]NoTributeDownloads=FalsePreventDownloadSurvivors=FalsePreventDownloadItems=FalsePreventDownloadDinos=TruePreventUploadSurvivors=FalsePreventUploadItems=FalsePreventUploadDinos=TrueLimity přenosů a expirace#
Nahraná data nečekají věčně a jejich množství je omezené. Klíče níže to řídí. Výchozí hodnoty se mezi vydáními lišily, takže než se na číslo spolehneš, zjisti, co dělá tvůj build.
| Klíč | Co řídí |
|---|---|
MaxTributeDinos | Kolik tvorů může mít jeden hráč nahraných současně |
MaxTributeItems | Kolik stacků předmětů může mít jeden hráč nahraných současně |
TributeDinoExpirationSeconds | Jak dlouho nahraný tvor přežije, než se smaže |
TributeItemExpirationSeconds | Jak dlouho nahraný předmět přežije |
TributeCharacterExpirationSeconds | Jak dlouho nahraná postava přežije; 0 obvykle znamená nikdy |
Časovače expirace jsou ty, které bolí. Hráč v pátek nahraje svého nejlepšího tvora, zapomene na to a další týden zjistí, že je pryč - ne kvůli chybě, ale expirací podle plánu. Na nastavení ve stylu oficiálních serverů nahraní tvorové a předměty expirují zhruba za den. Na soukromém clusteru, kde lidé hrají pár večerů v týdnu, zvýšení časovačů pro tvory a předměty na týden a víc vyřeší celou tuto kategorii požadavků na podporu. Nenastavuj je na nulu, dokud nepotvrdíš, co nula na tvém buildu znamená; u některých klíčů znamená „nikdy neexpiruje“ a u jiných se nerespektuje.
Limity množství existují proto, aby se složka clusteru nestala skladem. Nahraná data jsou uložena mimo oba světy, což z nich dělá lákavé místo, kam věci uschovat před nájezdy, a na PvP clusteru přesně k tomu lidé budou sloužit. Na PvP drž limity skromné a na PvE je uvolni.
Tvorové a předměty vázané na mapu#
Ne každý tvor smí opustit svou domovskou mapu. Někteří tvorové a předměty jsou omezeni na mapy, odkud pocházejí, a to buď hrou, nebo pravidly přenosů mapy, na kterou by dorazili. Obvyklými příklady jsou tvorové z příběhových map, které hra považuje za součást postupu dané mapy. Serverové nastavení CrossARKAllowForeignDinoDownloads toto omezení uvolňuje pro tvory přicházející z jiných map v buildech, které ho respektují; chování se tu mezi Evolved a Ascended i mezi patchi měnilo, takže než hráčům řekneš, že je přenos bezpečný, vyzkoušej ho na jednom tvorovi, o kterého se můžeš připravit.
Element a některé předměty spojené s bossy byly také v různých dobách při přenosech omezeny. Pravidlo palce je stejné: pokud by přenos někomu umožnil přeskočit postup na mapě, předpokládej, že ho hra může zablokovat, a vyzkoušej to.
Mody a clustery#
U modů jsou clustery křehké. Tvor nebo předmět z modu je odkaz na něco, co mod definuje. Pokud cílová mapa nespouští stejný mod, odkaz míří do prázdna:
- Předmět z modu, který cílový server nenačítá, se při stažení smaže, nebo se vůbec neobjeví.
- Tvor z chybějícího modu nedorazí.
- Postava v modované zbroji může dorazit bez ní.
Bezpečné pravidlo je spouštět na každém serveru v clusteru stejný seznam modů ve stejném pořadí. Kde to nejde - například mod mapy, který potřebuje jen jeden server - Ascended podporuje uvedení modů jako pasivních na ostatních serverech přes -passivemods=, což načte data modu bez jeho obsahu, takže jeho předměty přenos přežijí. Chování pasivních modů se s aktualizacemi měnilo; po každé změně modů ověř zkušebním přenosem. Samotný seznam modů popisuje ARK mody z CurseForge na serveru.
Aktualizuj mody v celém clusteru současně. Cluster, kde jedna mapa spouští verzi 1.4 modu a jiná 1.5, může přenášet data, která starší verze nepřečte. Zastav všechny mapy, aktualizuj a spusť je společně.
Kde musí sdílený adresář ležet#
Tohle je poctivé omezení clusterů a ono rozhoduje, kde ho můžeš provozovat.
Adresář musí být jedna fyzická složka, do které zapisují všechny servery. Na jednom stroji je to triviální: nasměruj všechny servery na stejnou cestu. Mezi stroji to znamená síťový souborový systém, což funguje, ale přidává latenci a nový způsob selhání - síťové sdílení, které vypadne uprostřed zápisu, může poškodit soubor přenosu a server ti to neřekne.
U hostingů s panelem, včetně Pterodactylu a všeho, co na něm stojí, je každý server vlastní kontejner s vlastními soubory. Dva servery na jednom účtu nevidí složky toho druhého a sdílený adresář clusteru mezi nimi musí hosting nastavit záměrně, pokud to vůbec dělá. Zeptej se dřív, než koupíš druhý server, a pokud je odpověď vágní, předpokládej, že ne. Jednoduchý způsob, jak cluster provozovat, je jeden stroj, který ovládáš - dedikovaný server nebo VDS - protože všechny mapy mohou sdílet jednu lokální cestu. Rozdělení jednoho stroje mezi několik serverů, což je přesně to, čím cluster je, popisuje Více herních serverů na jednom VDS.
Zálohy, restarty a data clusteru#
Adresář clusteru není součástí savu žádné mapy. Zálohuj ho samostatně, ve stejném rozvrhu jako mapy. Pokud obnovíš mapy, ale ne složku clusteru, každý předmět a tvor, který byl v době zálohy na cestě, je pryč, a pokud obnovíš složku clusteru bez map, můžeš vytvořit duplikáty: tvor nahraný po záloze mapy existuje jak v obnovené mapě, tak ve složce clusteru.
Bezpečný postup pro úplný návrat je:
- Zastav všechny servery v clusteru.
- Obnov save každé mapy i adresář clusteru ze záloh pořízených ve stejnou dobu.
- Spusť servery.
Na rušnějším clusteru si restarty zaslouží stejnou koordinaci. Restartovat všechny mapy ve stejnou naplánovanou minutu je pro hráče jednodušší a vyhne se krajnímu případu, kdy někdo nahraje na mapě A, mapa B se restartuje a on dorazí na server, který ještě neběží. Denní restart je pro ARK stejně běžný; kdy a jak hráče varovat, popisuje Restartovací plány, které pomáhají.
Správa napříč clusterem#
Admin příkazy platí pro jednotlivé servery. Bany, kicky a oznámení na jedné mapě se nešíří na ostatní; hráč zabanovaný na The Island se může připojit na Scorched Earth. Banuj na každé mapě, nebo použij nástroj, který posílá příkazy RCON na všechny. Jak udržet víc portů RCON použitelných bez jejich vystavení, popisuje RCON bezpečně, a každá mapa by měla mít vlastní ServerAdminPassword jen tehdy, pokud k tomu máš důvod - jedno heslo pro cluster se snáze mění.
Herní nastavení drž stejná, pokud se nemá nějaká mapa lišit. Hráči přesunou chov na mapu s nejrychlejšími rychlostmi a farmení na mapu s nejlepší sklizní. Pokud rozdíl chceš, udělej ho záměrně a oznam ho. Klíče najdeš v průvodci nastavením ARK.
Řešení potíží s přenosy#
Upload funguje, ale na druhé mapě se nic neobjeví. Servery nesdílejí adresář. Ověř, že -ClusterDirOverride je nastavený na obou a že ukazuje na stejnou fyzickou složku, ne na dvě složky se stejným názvem.
Druhá mapa není v seznamu přenosů. Ověř, že se hodnoty -clusterid shodují přesně, včetně velikosti písmen, a že oba servery běží.
Tvor se nahrál v pořádku, ale nešel stáhnout. PreventDownloadDinos na cílovém serveru, tvor vázaný na mapu, nebo chybějící mod.
Předměty zmizely ze seznamu nahraných po pár dnech. Časovače expirace. Zvyš TributeItemExpirationSeconds a TributeDinoExpirationSeconds.
Postava dorazila bez vybavení. Předměty z modu, který cílový server nespouští. Sjednoť seznamy modů nebo použij pasivní mody.
Po obnově mají hráči duplicitní tvory. Mapy a složka clusteru byly obnoveny z různých časových bodů. Obnov obojí ze stejné sady záloh.
FAQ#
Musí být všechny mapy ARK clusteru na jednom stroji?
Ne, ale všechny musí číst a zapisovat stejnou složku clusteru. Na jednom stroji je to sdílená cesta. Mezi stroji je potřeba síťový souborový systém, který je pomalejší a přidává způsoby selhání.
Mohu provozovat cluster s různými mody na každé mapě?
Můžeš, ale modované předměty a tvorové nepřežijí přenos na mapy bez modu. Spouštěj všude stejný seznam, nebo uveď chybějící mody jako pasivní na mapách, které jejich obsah nepotřebují.
Jak zabránit hráčům, aby na novou mapu přinášeli ochočené tvory?
Nastav PreventDownloadDinos=True v GameUserSettings.ini toho serveru. Postavy a předměty mohou stále dorazit, pokud je nezablokuješ také.
Proč zmizel můj nahraný dino?
Nejspíš expiroval. Nahraní tvorové se mažou po TributeDinoExpirationSeconds, což je na nastavení ve výchozím stylu zhruba den. Na soukromém clusteru to zvyš.
Vyplatí se cluster pro šest hráčů?
Zřídka. Platíš za každou mapu, ať na ní někdo je, nebo ne, a šest lidí na dvou mapách působí prázdně. Hrajte jednu mapu a pak udělejte wipe a přesuňte se na další, až bude skupina připravená.




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.