RE:NODE

Návody12 min čtení

Abiotic Factor: nastavení sandboxu a savy

Všechny klíče SandboxSettings.ini s výchozími hodnotami a rozsahy, recepty nastavení pro různé party a přenos hostovaného světa na dedikovaný server.

1 čtenář

Svět v Abiotic Factor je jedna složka a ta obsahuje všechno: stav zařízení, každý postavený objekt, postavu každého hráče v podsložce PlayerData a pravidla světa v SandboxSettings.ini. Na dedikovaném serveru jsou tyto složky v AbioticFactor/Saved/SaveGames/Server/Worlds/ a spouštěcí argument -WorldSaveName určuje, která se načte. Díky tomuto návrhu jsou snadné dvě věci, které jsou u většiny survival her krkolomné. Přesunout svět, který jsi hostoval ze hry, na server je nahrání složky a jeden argument. A protože sandbox soubor leží uvnitř světa, pravidla putují s ním. Tento návod projde každý klíč sandboxu s výchozí hodnotou a rozsahem, navrhne nastavení pro různé druhy skupin a popíše přesun, zálohování a obnovu světů.

Instalaci, spouštěcí argumenty, porty a adminy najdeš v návodu na dedikovaný server pro Abiotic Factor. Tento článek předpokládá, že server běží, a soustředí se na svět.

Kde leží sandbox soubor#

V aktuálních buildech nese každý svět svůj vlastní sandbox soubor:

code
AbioticFactor/Saved/SaveGames/Server/Worlds/<WorldSaveName>/SandboxSettings.ini

Starší buildy a starší návody uvádějí jediný sandbox soubor v AbioticFactor/Saved/Config/WindowsServer/ a spouštěcí argument -SandboxIniPath= umí nasměrovat server na libovolný soubor. Pokud se zdá, že tvoje úpravy nic nedělají, server čte jiný soubor, než který upravuješ. Začátek serverového logu ukazuje, které soubory se načetly; přečti si ho jednou a už se nebudeš ptát. Jak ten řádek rychle najít, popisuje Čtení konzole.

Soubor musí začínat hlavičkou [SandboxSettings], u klíčů záleží na velikosti písmen a booleany se píšou True a False. Upravuj ho při zastaveném serveru. Změny se projeví při dalším startu.

SandboxSettings.ini klíč po klíči#

Hodnoty níže pocházejí z oficiální dokumentace dedikovaného serveru. Rozsahy odpovídají tomu, co povolují posuvníky ve hře; hodnoty mimo ně mohou být ořezány nebo se chovat zvláštně.

Obtížnost a smrt

KlíčVýchozíRozsahCo dělá
GameDifficulty11-3Normální, Těžká, Apokalyptická
HardcoreModeFalseJeden život na postavu
AllowIronModeTruePovolí postavy v iron módu
DeathPenalties10-5Od ponechání všeho po zničení předmětů
DurabilityLossOnDeathMultiplier0.10-1Poškození vybavení při smrti
HostAccessPlayerCorpsesTrueZda host může lootovat těla ostatních hráčů
ShowDeathMessagesTrueOznámení o smrti v chatu
FirstTimeStartingWeapon00-6Od žádné po náhodnou

Nepřátelé

KlíčVýchozíRozsahCo dělá
EnemySpawnRate1.00.5-3Jak často se nepřátelé objevují
EnemyHealthMultiplier1.00.75-3Zdraví nepřátel
EnemyPlayerDamageMultiplier1.00.25-3Poškození hráčů
EnemyDeployableDamageMultiplier1.00-5Poškození tvé základny. 0 ji činí nezničitelnou
DetectionSpeedMultiplier1.00.1-3Jak rychle si tě nepřátelé všimnou
EnemyAccuracy20-4Přesnost střelby, od žalostné po přesnou
ApocalypticAbilitiesFalseSchopnosti nepřátel z apokalyptické obtížnosti i na nižší
MaximizeEnemySpawnsFalseSpawny na maximální hustotu
DamageToAlliesMultiplier0.50-3Friendly fire. 0 ho vypne

Potřeby přežití

KlíčVýchozíRozsahCo dělá
HungerSpeedMultiplier1.00-2Úbytek sytosti
ThirstSpeedMultiplier1.00-2Úbytek hydratace
FatigueSpeedMultiplier1.00-2Únava
ContinenceSpeedMultiplier1.00-2Potřeba toalety
FoodSpoilSpeedMultiplier1.00-2Kažení jídla
RefrigerationEffectivenessMultiplier1.00-2Jak dobře lednice zpomalují kažení
SinkRefillRate1.00-10Rychlost doplňování vody
TaintedSinkWaterFalseVoda z umyvadla se musí upravit
RadiationDealsDamageFalseRadiace přímo ubližuje

Předměty, postup a stavění

KlíčVýchozíRozsahCo dělá
PlayerXPGainMultiplier1.00-3Rychlost levelování dovedností
BonusPerkPoints0celé čísloBody perků navíc při tvorbě postavy
ItemStackSizeMultiplier1.01-30Velikosti stacků
ItemWeightMultiplier1.00-5Váha předmětů při nošení
ItemDurabilityMultiplier1.00.1-10Jak dlouho vybavení vydrží
BaseInventorySize12celé čísloPočáteční sloty inventáře
AllowRecipeSharingTrueRecepty, které se naučí jeden, se naučí všichni
AllowPagersTrueKomunikace přes pagery
AllowTransmogTrueKosmetické změny vzhledu
DisableResearchMinigameFalsePřeskočí minihru s výzkumem
AllowCharacterResetTrueHráči si mohou přerozdělit perky
StructuralSupportLimit5celé čísloJak daleko můžeš stavět bez podpěry
PlayerFurnitureDestructionFalseZda hráči mohou ničit nábytek

Svět a prostředí

KlíčVýchozíRozsahCo dělá
LootRespawnEnabledFalseLoot se časem vrací
PowerSocketsOffAtNightTrueNapájení zařízení v noci vypadává
DayNightCycleState00-2Normální, stále den, stále noc
DayNightCycleSpeedMultiplier1.00.1-3Délka dne
WeatherFrequency31-5Od žádného počasí po každodenní

Existuje ještě několik klíčů - StorageByTag (výchozí True), BridgeSupports (2, rozsah 0-2), HomeWorlds (True) a InvisibleRadiation (False) - a jejich přesný účinek si nejlépe přečteš z popisů na obrazovce sandboxu ve hře, která používá stejné názvy. S aktualizacemi obsahu také přibývají nové klíče. Pokud server zakládáš měsíce poté, co tohle vzniklo, jednou vygeneruj čerstvý svět a porovnej jeho sandbox soubor se svým; cokoli, co ve tvém chybí, je prostě na výchozí hodnotě.

Jak se nastavení ovlivňují#

Většina hodnot sandboxu je jednotlivě snadno pochopitelná a v kombinaci překvapivá. Několik dvojic stojí za to promyslet dohromady, než změníš jednu z nich.

Potřeby a kažení. Když snížíš hlad a žízeň a nesáhneš na FoodSpoilSpeedMultiplier, jídlo shnije v lednici dávno předtím, než ho někdo potřebuje, a parta přestane vařit. Pokud potřeby zpomalíš, zpomal o podobnou míru i kažení, nebo zvyš RefrigerationEffectivenessMultiplier, aby kuchyně zůstala součástí hry a ne místem, kde zásoby umírají.

Tresty za smrt a odolnost. DeathPenalties určuje, co upustíš; DurabilityLossOnDeathMultiplier určuje, co se stane s tím, co ti zůstane. Tvrdé první nastavení s mírným druhým pořád trestá hráče, který zemře daleko od základny, protože se musí vrátit pro své tělo. Mírné první nastavení s tvrdou ztrátou odolnosti promění každou smrt v účet za opravy. Vyber si zážitek, který chceš - návrat pro vybavení, nebo pomalé vyčerpávání zdrojů - a obě hodnoty nastav tak, aby ho podporovaly.

Četnost spawnů a respawn lootu. Víc nepřátel při konečném lootu znamená, že parta spálí munici, kterou nemá jak nahradit. Pokud na serveru, který má vydržet, zvýšíš EnemySpawnRate, zapni zároveň LootRespawnEnabled, jinak se server každým týdnem ztěžuje z důvodů, které nikdo nezvolil.

Velikost stacků a váha. Zvýšení ItemStackSizeMultiplier bez zásahu do ItemWeightMultiplier udělá plný stack těžší, což může působit jako nerf. Skupiny, které chtějí pohodlí, obvykle mírně sníží i váhu.

Napájení v noci. PowerSocketsOffAtNight je jeden ze zajímavějších tlaků ve hře - noci znamenají generátory a plánování. Jeho vypnutí je pro partu, která hraje jen občas, velké zlepšení pohodlí a pro všechny ostatní odstraní celou vrstvu návrhu základny. Rozhodněte se jako skupina, ne jako admin sám.

Obecný zvyk: měň jedno nastavení po druhém, zapiš si do Discordu serveru co a proč a po týdnu hraní se na to podívej znovu. Soubor s nastavením, který čtyři lidé tři měsíce upravovali bez poznámek, je soubor, o kterém nikdo nedokáže uvažovat.

Recepty nastavení pro různé skupiny#

Jsou to výchozí body, ne odpovědi. Změň dvě nebo tři hodnoty, týden hraj a uprav.

Kamarádi, kteří hrají jen občas

Výchozí potřeby jsou stavěné na lidi, kteří hrají několik hodin v kuse. Parta, která hraje hodinu po práci, stráví polovinu času jídlem.

SandboxSettings.ini
[SandboxSettings]GameDifficulty=1HungerSpeedMultiplier=0.6ThirstSpeedMultiplier=0.6FatigueSpeedMultiplier=0.6ContinenceSpeedMultiplier=0.5FoodSpoilSpeedMultiplier=0.7AllowRecipeSharing=TrueDeathPenalties=1DamageToAlliesMultiplier=0.0

Sdílení receptů tu záleží nejvíc. Bez něj je ten, kdo hraje jen o víkendech, v každé session pozadu za všemi ostatními. Vypnutý friendly fire zabrání tomu, aby večer skončil hádkou o zbloudilou střelu.

Dlouho běžící veřejný server

Zařízení je konečné. S vypnutým respawnem lootu je server otevřený měsíce vyrabovaný dočista a noví hráči přijdou k prázdným skříňkám.

ini
[SandboxSettings]LootRespawnEnabled=TrueEnemySpawnRate=1.25EnemyDeployableDamageMultiplier=0.5PlayerFurnitureDestruction=FalseHostAccessPlayerCorpses=FalseDeathPenalties=2

Poloviční poškození objektů zabrání nájezdům, aby zničily týden stavění, a zároveň zachová smysl obrany základny. Vypnutý přístup hosta k tělům je na veřejném serveru důležitý, kde „host“ může být někdo, koho žádný hráč nezná.

Tvrdá kampaň

ini
[SandboxSettings]GameDifficulty=2EnemyHealthMultiplier=1.25DetectionSpeedMultiplier=1.25EnemyAccuracy=3ItemDurabilityMultiplier=0.8DeathPenalties=3

HardcoreMode nech vypnutý, pokud se na něm všichni předem nedohodli. Jeden život na postavu na serveru, kde tě může zabít odpojení, je méně zábavný, než to zní.

Větší skupiny, než hra čeká

Výchozí limit je šest hráčů a ekonomika je na to stavěná. Pokud zvýšíš -MaxServerPlayers, vykompenzuj to: zapni respawn lootu, zvyš ItemStackSizeMultiplier na 2 a zvaž EnemySpawnRate nad 1, aby tucet lidí pořád našel s čím bojovat. Proč skutečným limitem bývá herní design a ne hardware, rozebírá Kolik hráčů se vejde na server.

Uvnitř složky světa#

code
Worlds/  Cascade/    SandboxSettings.ini    PlayerData/    (world save files)

PlayerData obsahuje jednu postavu pro každého hráče, který se do daného světa připojil. Postavy nejsou přenositelné mezi světy - vědec patří do jednoho světa - a když se někdo poprvé připojí na tvůj server, jeho postava se vytvoří tady, ne na jeho PC. Je to opak her jako Terraria nebo Valheim a stojí za to to lidem říct dřív, než investují večer do testovacího světa.

Se složkou zacházej jako s jednou jednotkou. Kopírování jednotlivých souborů savu mezi světy vytvoří svět, který odkazuje na věci, které neexistují.

Přesun hostovaného světa na server#

Svět, který jsi hostoval ze hry, leží na PC hostitele:

code
%LocalAppData%\AbioticFactor\Saved\SaveGames\<SteamID64>\Worlds\<WorldName>\
  1. Nech hostitele zavřít hru, aby byl svět plně uložený.
  2. Zkopíruj celou složku světa, včetně PlayerData a SandboxSettings.ini.
  3. Zastav server.
  4. Nahraj složku do AbioticFactor/Saved/SaveGames/Server/Worlds/. Přes SFTP je to jedno přetažení; podrobnosti o připojení má SFTP a správce souborů.
  5. Nastav -WorldSaveName= přesně na název složky, včetně velkých písmen. Případně složku přejmenuj na název aktuálního světa - ale až poté, co existující složku tohoto jména přesuneš stranou.
  6. Spusť server a sleduj v logu, že se načítá svět, a ne že se vytváří nový.

Postavy skupiny přijdou uvnitř PlayerData, včetně postavy hostitele. Každý hráč naváže tam, kde skončil, pokud se připojí se stejným účtem, se kterým hrál. Pravidla sandboxu přijdou také, protože soubor je uvnitř složky - po přesunu je zkontroluj, protože svět vytvořený v singleplayerovém sandboxu může mít nastavení, která bys pro server nezvolil.

plánovanězkušební obnovastažení pro hru offlineWorlds na serveru-WorldSaveNamePC hostiteleWorlds/WorldNameZálohamimo strojNahrání přes SFTPcelá složkaRezervní světtestovací název
Přesun světa Abiotic Factor

Opačným směrem

Chceš-li vzít svět ze serveru zpět na PC - abys mohl hrát dál, až server skončí, nebo ho dát někomu jinému k hostování - zastav server, stáhni složku světa a vlož ji do lokální složky Worlds hostitele. Objeví se v seznamu světů ve hře. Udělej to dřív, než jakýkoli server zrušíš: u většiny hostingů smazání serveru smaže i jeho savy.

Mezi servery a nový začátek

Přesun od jednoho hostingu k jinému je stejné nahrání s předřazeným stažením: zastav starý server, stáhni složku světa, nahraj ji na nový, nastav -WorldSaveName a spusť. Nejdřív ověř verzi hry na obou stranách - svět uložený novějším buildem se na starším nemusí načíst.

Začít novou kampaň nikdy nevyžaduje nic mazat. Nastav -WorldSaveName na nový název a spusť; vedle starého se vytvoří nový svět s čerstvým sandbox souborem na výchozích hodnotách. Jakmile složka existuje, zastav server, zkopíruj do ní svůj oblíbený SandboxSettings.ini a spusť znovu dřív, než se skupina připojí, aby se první session nehrála na nastavení, které jsi chtěl změnit. Starý svět zůstane na disku a přepnutí zpět je jeden argument.

Zálohy a obnova#

Hra uchovává průběžné zálohy lokálních světů ve složce se zálohami vedle světů, což už zachránilo mnoho hostovaných kampaní. Nespoléhej na to, že server dělá totéž; zjisti, jestli to tvůj build zapisuje, a i když ano, leží na stejném disku jako svět.

Rozumný postup:

  • Noční záloha složky `Worlds`, uložená mimo server, dokud je skupina aktivní.
  • Ruční záloha před každou aktualizací hry. Abiotic Factor je v aktivním vývoji a aktualizace obsahu jsou přesně chvíle, kdy se kompatibilita savů testuje v produkci.
  • Ruční záloha před změnou hodnot sandboxu, které mění stav, například zapnutím respawnu lootu, abys mohl rozhodnutí vrátit.
  • Zkušební obnova. Obnov zálohu pod jiným názvem světa, nasměruj na něj -WorldSaveName, připoj se a ověř, že tvoje postava existuje. Pak ho nasměruj zpět.

Zálohy, které se opravdu obnoví je dlouhá verze toho, proč je poslední krok ten důležitý.

Na RE:NODE jsou -WorldSaveName a další spouštěcí argumenty pole na záložce Startup, takže nasměrovat server na testovací svět a zpět jsou dvě úpravy. Zálohy se dělají na požádání nebo podle plánu, ukládají se mimo stroj, dají se stáhnout a obnovují se jedním tlačítkem. Položka v Schedules může spustit noční zálohu a následně restart jako seřazené úlohy a tlačítko Restart pošle čisté zastavení, takže se svět nejdřív uloží. Pokud server dosáhne limitu paměti, zastaví se a čistě znovu nastartuje místo swapování, což je neuložené zastavení - další důvod, proč se noční záloha vyplatí.

Řešení potíží#

Změny sandboxu nic nedělají. Server čte jiný soubor. Podívej se do logu na cestu k sandboxu, zkontroluj argument -SandboxIniPath a ověř, že hlavička [SandboxSettings] je napsaná přesně.

Nahraný svět se ignoruje a začíná nový. -WorldSaveName neodpovídá názvu složky přesně, nebo jsou soubory zanořené o úroveň hlouběji - složka pojmenovaná v argumentu musí obsahovat soubory světa přímo.

Hráči začínají na přesunutém světě s novými postavami. PlayerData se nenahrála, nebo se hráči připojili s jiným účtem, než s jakým hráli.

Hodnota nemá v extrému žádný účinek. Je mimo rozsah posuvníku a byla ořezána. Použij rozsahy z tabulek výše.

Svět se načte, ale zařízení je prázdné. Loot se ve výchozím stavu nevrací. Zapni LootRespawnEnabled pro dlouho běžící servery a počítej s tím, že se existující prázdné kontejnery plní postupně, ne okamžitě.

Server padá při načítání starého světa po aktualizaci. Obnov zálohu před aktualizací do rezervního názvu světa a zjisti, jestli se načte; pokud ne, počkej na patch místo opakovaného načítání originálu.

FAQ#

Kde je SandboxSettings.ini na dedikovaném serveru Abiotic Factor?

V aktuálních buildech uvnitř složky světa: AbioticFactor/Saved/SaveGames/Server/Worlds/<WorldSaveName>/SandboxSettings.ini. Argument -SandboxIniPath může ukazovat jinam a starší buildy používaly Saved/Config/WindowsServer/.

Mohu měnit nastavení sandboxu u existujícího světa?

Ano. Zastav server, uprav soubor a znovu ho spusť. Nastavení, která ovlivňují budoucí události, například respawn lootu nebo četnost spawnů nepřátel, se projeví od té chvíle a nepřepíšou to, co se už stalo.

Přenesou se postavy, když přesunu svět na server?

Ano, pokud s ním přijde složka PlayerData a hráči se připojí se stejnými účty. Postavy patří světu, ne PC hráče.

Mohu použít svou postavu na cizím serveru?

Ne. Postava existuje jen v jednom světě. Připojení na jiný server znamená začít tam s novým vědcem.

Jak držet dva světy na jednom serveru?

Dej každému vlastní složku v Worlds a přepínej pomocí -WorldSaveName. Běží vždy jen jeden a ten druhý zůstává při hraní nedotčený.

Co změnit pro server, který poběží měsíce?

Zapni LootRespawnEnabled, jinak se zařízení vyprázdní nadobro. Zvaž snížení poškození objektů, aby nájezdy nezničily dlouho budovanou základnu.


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.

0/2000