Když Valheim dostane patch a tvůj server běží s módy, bezpečný postup je tento: server neaktualizuj, zálohuj ho a tuto zálohu zamkni, na stránce každého modu zkontroluj, jestli vyšla aktualizace nebo poznámka „pořád funguje“, novou verzi hry s aktualizovanými módy otestuj na kopii světa a teprve pak aktualizuj server a nový profil rozešli partě najednou. Většina patchů je zase hratelná do dne nebo dvou; velký patch, který mění verzi Unity, může trvat týden, než obsahové módy dožene. Z patche ztracený svět nedělá čekání, ale to, že někdo ve spěchu aktualizuje půlku sestavy a pak na ní hraje.
Tento článek popisuje jeden den patche na serveru podobném skutečnému - šest hráčů, tucet modů, jeden obsahový mod - od okamžiku, kdy Steam stáhne aktualizaci, do večera, kdy všichni zase hrají.
Proč patch hry rozbije modovaný server#
Když Iron Gate vydá aktualizaci, dějí se tři oddělené věci a pomáhá je držet od sebe.
Hra se aktualizuje sama na PC každého hráče. Steam patch nasadí hned, jak vyjde. Můžeš hru nastavit na aktualizaci jen při spuštění, ale r2modman spouští Valheim přes Steam, takže spuštění modovaného profilu patch stejně stáhne. Podporovaný způsob, jak udržet klienty party na staré verzi na delší dobu, neexistuje.
Dedikovaný server ne. Je to samostatná aplikace Steamu, 896660, a aktualizuje se jen tehdy, když proti ní někdo spustí SteamCMD. Starý server a nový klient spolu nemluví: hráč dostane „Incompatible version“. Ne každý malý patch mění to, co server a klient kontrolují, takže některé hotfixy se mezi buildy připojí bez potíží - chyba, nebo její absence, ti řekne, o který druh jde.
Módy patch mohou, ale nemusí přežít. Módy pro BepInEx fungují tak, že za běhu patchují kód samotné hry. Pokud patch přejmenoval nebo změnil metodu, kterou mod patchuje, mod selže - někdy s jasnou chybou v BepInEx/LogOutput.log, někdy tiše, někdy pádem při startu. Malé QoL módy často přežijí drobný patch beze změny. Knihovny jako Jotunn a velké obsahové módy jako Epic Loot nejspíš aktualizaci potřebovat budou, protože sahají na nejvíc kódu hry.
Důsledek: nějakou dobu po patchi mají hráči novou hru, server starou hru a módy jsou někde mezi tím. Tvým úkolem je dostat všechny tři na stejnou verzi jedním krokem místo třemi.
Před dnem patche: co by mělo být už připravené#
Postup je mnohem klidnější, pokud byly čtyři věci nastavené dlouho před jakýmkoli patchem.
- Připnutý soubor profilu. Sada modů party jako exportovaný
.r2zs názvem, který nese datum nebo číslo, připnutý v kanálu party. Pokud máš jen kód profilu, mohl do té doby vypršet. Vytvoření a připnutí popisuje článek Profily r2modman pro party. - Žádné automatické aktualizace na serveru. Pokud si server stahuje nový build hry při každém startu, plánovaný restart v noci patche aktualizuje hru pod tvými módy, aniž by se zeptal. Na vlastním stroji to znamená, že řádek se SteamCMD není ve startovacím skriptu. U hostingu s panelem zkontroluj, co dělá start - mnoho z nich spouští SteamCMD při každém startu, některé mají proměnnou, kterou to vypneš - a ověř, že žádný plán server během pozastavení přes noc nerestartuje.
- Čerstvá záloha celého serveru. Soubory světa a složka
BepInExspolečně, ne jen svět. - Jeden vlastník. Ten, kdo vlastní profil, vlastní i den patche. Všichni ostatní čekají na jeho zprávu.
Hodina nula: podrž server#
Patch je venku. Steam na tvém PC ho stahuje. Co dělat v první hodině:
- Server neaktualizuj. Nech ho na staré verzi. Pokud se měl při startu aktualizovat, zastav ho hned.
- Udělej zálohu a zamkni ji. Je to kopie světa předtím, než na novém buildu hry s módy hraje kdokoli. Pojmenuj ji tak, abys ji poznal, třeba
pre-patch-0.2xx, a zamkni ji, aby ji noční rotace nevytlačila. - Řekni to partě. Jedna zpráva: server je pozastavený, dokud se módy nedoženou, nemačkejte „Update all“ v r2modman, neinstalujte ručně žádné módy, napíšeš, až bude hotovo.
- Poznamenej si novou verzi hry. Najdeš ji v poznámkách k patchi a v hlavním menu hry. Budeš ji potřebovat při čtení stránek modů.
Zatím je to vše. Hráči, kteří chtějí během pozastavení hrát, mohou spustit hru bez modů na lokálním světě pro jednoho hráče. K serveru se připojit nemohou: ten je na staré verzi a oni na nové.
Valheim patched today. Server is on hold until the mods update.Do NOT press "Update all" in r2modman. Do NOT add mods.I will post a new profile file when it is ready. Probably 1-3 days.Na RE:NODE lze zálohu vytvořit a zamknout z panelu za pár sekund a zamčené zálohy rotace nesmaže, takže krok 2 nepřeskakuj proto, že je zdlouhavý. Zamčená záloha se ale smaže, pokud smažeš samotný server, takže si stáhni kopii, pokud má server přežít.
Kontrola stránky každého modu#
Teď projdi profil balíček po balíčku. U každého otevři jeho stránku na Thunderstore a podívej se na tři věci: nejnovější verzi a její datum, changelog a případnou poznámku autora k nové verzi hry. Mnoho autorů má také Discord nebo stránku issues na GitHubu, kde se na „funguje to na novém patchi“ odpovídá během hodin.
Postupuj od spodu stromu závislostí nahoru:
- BepInExPack Valheim. Obvykle beze změny. Nové vydání potřebuje hlavně tehdy, když hra změní verzi Unity, což se děje u velkých aktualizací.
- Knihovny - Jotunn, HookGenPatcher a cokoli dalšího, na čem závisí jiné módy. Ty se obvykle aktualizují první, protože na ně čeká všechno ostatní.
- Obsahové módy. Tyhle trvají nejdéle. Sleduj aktualizaci nebo výslovnou poznámku „funguje na novém patchi“.
- QoL módy. Často stále fungují. Chybějící aktualizace není důkaz poruchy.
Průběžně veď malou tabulku; z „je to už hotové“ udělá seznam místo pocitu.
| Balíček | Stav po patchi | Akce |
|---|---|---|
| BepInExPack Valheim | Žádná nová verze, žádná není potřeba | Ponechat |
| Jotunn | Aktualizováno týž den | Aktualizovat |
| PlantEverything | Aktualizováno další den | Aktualizovat |
| AzuCraftyBoxes | Bez aktualizace, autor říká, že funguje | Ponechat, testovat |
| Epic Loot | Aktualizace se připravuje | Čekat |
| Discord Connector | Bez aktualizace | Ponechat, testovat |
Tabulka výše je příklad, ne zpráva o nějakém konkrétním patchi. Tvoje skutečná tabulka závisí na patchi a na módech.
Mod označený na Thunderstore jako deprecated, nebo takový, jehož autor oznámil, že skončil, vyžaduje rozhodnutí, ne trpělivost. Nahrazení nebo vyřazení řeší článek Co dělat, když aktualizace modu něco rozbije.
Pokud chceš varování před příchodem patche, Iron Gate velké aktualizace testuje nejdřív na veřejné testovací větvi a mnoho autorů modů testuje tam také. Provoz kopie serveru na této větvi popisuje server na veřejné testovací větvi.
Testování na kopii#
Jakmile tabulka říká, že každý potřebný mod je aktualizovaný nebo se tvrdí, že funguje, otestuj to, než se serveru dotkneš. Nejlevnější test je na PC vlastníka profilu, s kopiemi všeho:
- Zkopíruj profil. V r2modman exportuj aktuální profil do souboru a importuj ho jako nový profil s testovacím názvem, například
Longship-test. Nikdy netestuj na profilu, který parta používá. - Aktualizuj testovací profil. Aktualizuj jen balíčky, které ti tabulka určila - ne „Update all“, které by natáhlo verze, o kterých jsi nečetl.
- Zkopíruj svět. Stáhni
.dba.fwlsvěta ze zálohy serveru a vlož je do lokální složkyworlds_local: ve Windows%USERPROFILE%\AppData\LocalLow\IronGate\Valheim\worlds_local\. Pokud tam svět stejného jména už existuje, dvojici přejmenuj, ale oba soubory nech pod stejným názvem. - Spusť modovaně a načti kopii. Spusť testovací profil, nastartuj zkopírovaný svět a vstup do něj s postavou, kterou nebudeš litovat - módy umí inventáře sežrat, a občas to opravdu dělají, když selžou.
- Proveď kontroly. Dojdi k hlavní základně. Otevři bedny. Craftuj u každé stanice, včetně všeho, co přidávají obsahové módy. Ověř, že modované předměty jsou pořád v bednách a mají své vlastnosti. Něco zasaď. Prospi noc. Pak hru korektně ukonči a podívej se na log.
# In the test profile's folder after quitting$ grep -E 'Error|Exception' BepInEx/LogOutput.log | sort | uniq -c | sort -rn | headHrstka varování je ve většině modovaných logů normální. Opakovaná výjimka jmenující některý z tvých modů, nebo cokoli při startu, normální není. Jak takové řádky číst a jak sadu půlením zúžit na viníka, vysvětluje řešení problémů s logem BepInEx.
Tento lokální test nedokazuje, že dedikovaný server nastartuje - server běží na Linuxu bez obrazovky a některé chyby se objeví jen tam. Pokud máš záložní server nebo můžeš spustit druhou kopii na vlastním stroji, nastartuj tam aktualizovanou sadu modů i proti kopii světa. Zabere to půl hodiny a odhalí zbylá překvapení.
Postupné nasazení#
Test prošel. Teď skutečný server, ve striktním pořadí, aby selhání v kterémkoli kroku zanechalo stav, ze kterého se dá vrátit. Aktualizace hry v kroku 4 je na Linuxovém serveru, který provozuješ sám, jeden řádek SteamCMD:
$ steamcmd +force_install_dir /home/valheim/server +login anonymous \ +app_update 896660 validate +quitvalidate se nedotkne BepInEx/, doorstop_libs ani start_server_bepinex.sh, protože nejsou součástí souborů hry. U hostingu s panelem použij to, čím host aktualizuje - často restart se zapnutou aktualizací, někdy tlačítko přeinstalace. S tlačítky přeinstalace buď opatrný: než ho na modovaném serveru použiješ, zjisti, co přeinstalace hostingu maže.
- Oznam čas. „Server nedostupný dvacet minut od 19:00.“ Během toho se nikdo nepřipojuje.
- Zastav server korektně a počkej na řádek o uložení světa v logu.
- Udělej druhou zálohu. První byla před patchem; tato zachytí vše, co se hrálo od té doby, pokud server zůstal na starém buildu.
- Aktualizuj soubory hry příkazem výše nebo způsobem aktualizace tvého hostingu.
- Aktualizuj BepInExPack, pokud to tabulka říkala, nahráním obsahu nového balíčku přes kořen serveru.
- Vyměň módy. Smaž na serveru
BepInEx/pluginsaBepInEx/patchersa nahraj na jejich místo složky z testovacího profilu. Klientské módy znovu odstraň. UBepInEx/confignech soubory ze serveru, pokud changelog neříká, že se změnil formát konfigurace - kopie na serveru obsahuje tvá nastavení jen pro server. - Spusť a přečti si log. Každý mod vypsaný s novým číslem verze,
Chainloader startup complete, pak načítání světa. Modovaný start může trvat pár minut. - Vlastník se připojí první, na testovacím profilu, a zopakuje rychlé kontroly z testu.
- Exportuj a pošli nový profil. Exportuj testovací profil jako soubor s novým názvem -
Longship-2026-10b- a pošli ho. Všichni ho importují před další session.
Pokud selže krok 7 nebo 8, zastav server a obnov zálohu z kroku 3. Nic neztratíš, server je zpět ve známém stavu a můžeš zkoumat, aniž by parta čekala na rozbitý svět.
Když jeden mod není hotový#
Patche málokdy rozbijí všechny módy. Obvykle jsou to jeden dva, které drží partu, a máš tři možnosti.
Počkat. U obsahového modu, na kterém svět závisí, je to téměř vždy správně. Dva tři dny bez hraní stojí míň než předměty a stavby, které ten mod drží.
Dočasně vyřadit klientský nebo QoL mod. Pokud je AzuCraftyBoxes jediný mod, který není hotový, a parta týden vydrží bez craftění z beden, odeber ho z profilu i ze serveru, exportuj, nasaď a vrať ho, až se aktualizuje. QoL módy ve světě málokdy něco ukládají, takže je to nízké riziko - ale pro jistotu zkontroluj stránku modu.
Vyřadit obsahový mod. To je ta drahá možnost. Předměty a stavební prvky, které obsahový mod přidal, se bez něj nenačtou a předměty v inventářích hráčů se mohou ztratit, když se postava uloží bez nich. Část se může vrátit, pokud mod znovu nainstaluješ dřív, než se svět a postavy znovu uloží, ale nespoléhej na to. Pokud jdeš touto cestou, nejdřív udělej zamčenou zálohu a smiř se s tím, že se svět nemusí vrátit přesně do původního stavu.
Upřímná verze: pokud je obsahový mod opuštěný, dlouhodobým řešením může být nový svět na sadě modů, která se udržuje. Hledání náhrad, které dělají totéž, popisuje konflikty a závislosti modů.
Příklad průběhu patche#
Takto proběhl jeden patch u party šesti lidí, s ukázkovou sadou z návodu k modovanému serveru. Podrobnosti se u vás budou lišit; tvar bývá podobný.
| Kdy | Co se stalo | Co udělal vlastník |
|---|---|---|
| Den 1, 14:00 | Vyšel patch, Steam aktualizuje klienty | Zastavil server, zamkl zálohu, poslal zprávu o pozastavení |
| Den 1, 18:00 | Aktualizován Jotunn | Poznamenal si to, nic dalšího |
| Den 2, 10:00 | Aktualizován PlantEverything, QoL módy beze změny | Aktualizoval tabulku |
| Den 2, 21:00 | Aktualizován Epic Loot | Zkopíroval profil, aktualizoval uvedené módy, otestoval kopii světa |
| Den 2, 22:00 | Test čistý kromě jednoho varování | Přečetl varování, usoudil, že je neškodné |
| Den 3, 19:00 | Oznámeno nasazení | Druhá záloha, aktualizace přes SteamCMD, nové módy, kontrola logu |
| Den 3, 19:25 | Vlastník se připojil, kontroly prošly | Poslal nový soubor profilu |
| Den 3, 20:00 | Parta zpátky ve hře | O týden později odemkl nejstarší zálohu z doby před patchem |
Celková odstávka asi dva dny, což je u středně velkého patche s jedním obsahovým modem typické. Patch, který mění verzi Unity, je pomalejší; hotfix se často vyřeší během hodin.
Řešení problémů po patchi#
„Incompatible version“ po nasazení. Někdo si neaktualizoval hru, nebo se aktualizace serveru neprovedla. Log serveru vypisuje verzi hry při startu; porovnej ji s verzí v hlavním menu na PC hráče.
Vyhození při připojení se jménem modu ve zprávě. Ten hráč je na starém profilu, nebo stiskl „Update all“ a je před serverem. Ať naimportuje nový soubor. Vyhazování kvůli neshodě verzí modů vysvětluje jednotlivé zprávy.
Server naběhne, ale módy se nenačtou. Běží vanilkový start, často poté, co aktualizace nebo přeinstalace na straně hostingu resetovala startovací příkaz. Zkontroluj, že je BepInEx pořád zapnutý a že se BepInEx/LogOutput.log při posledním startu přepsal.
Server padá při startu. Selhává jeden plugin. Přečti poslední řádky LogOutput.log, přesuň jmenovaný mod ze složky plugins a zkus to znovu. Na RE:NODE tři pády s restartem během hodiny vyvolají varování na stránce serveru a otevřou ticket, takže smyčka nezůstane bez povšimnutí, ale server zastav sám, ať necyklí.
Předměty ztratily enchanty nebo zmizely. Obsahový mod se během session nenačetl na serveru nebo na klientovi. Zastav server, obnov zálohu před nasazením a oprav sadu modů, než kdokoli znovu hraje - každé uložení na rozbité sadě ztrátu zpečetí.
Ve světě chybí obsah nových biomů. To není problém modů: nový obsah se generuje jen v zónách, které nikdo neprozkoumal. Co patch dokáže a nedokáže přidat do už prozkoumaného světa, vysvětluje staré světy a nové biomy a pády Valheim serveru při startu pokrývají chyby při startu, které s módy nesouvisejí.
FAQ#
Můžu nechat server na staré verzi, dokud módy nebudou hotové?
Ano, a právě o to při pozastavení jde. Co nemůžeš, je udržet hru kamarádů na staré verzi, takže během pozastavení nemůže na serveru hrát nikdo. Pozastavení chrání svět; partu ve hře neudrží.
Mám vypnout módy a hrát vanilku, dokud se neaktualizují?
Jen pokud jsou všechny tvé módy QoL a nic neukládají do světa. S obsahovými módy vanilková session načte svět plný věcí, které hra nezná, a znovu ho uloží, čímž se předměty ztrácejí. Raději počkej.
Jak poznám, že mod funguje, když ho autor neaktualizoval?
Nepoznáš, dokud ho nevyzkoušíš. Zkontroluj komentáře, Discord nebo issue tracker, jestli tam nejsou hlášení k nové verzi, a pak ho spusť v testovacím profilu na kopii světa. Čistý log a fungující funkce jsou nejblíž důkazu, jak se dostaneš.
Musím BepInExPack aktualizovat po každém patchi?
Ne. Aktualizaci potřebuje hlavně tehdy, když hra přejde na novou verzi Unity, což se děje u velkých aktualizací. Kdy je potřeba nové vydání, říká jeho stránka na Thunderstore a changelog.
Jak dlouho mám schovávat zálohu z doby před patchem?
Dokud parta týden bez problémů nehraje na nové sadě. Některé poruchy se projeví, až když někdo otevře bednu, na kterou od doby před patchem nesáhl.
Je bezpečné plánovat automatické aktualizace na modovaném serveru?
Ne u aktualizací hry. Plánovaná záloha i plánovaný restart jsou dobré nápady, pokud restart zároveň nestahuje nový build hry. Na modovaném serveru by aktualizace hry měla být něco, o čem rozhoduje člověk.


