Tento průvodce pokrývá pokročilé řešení problémů s mody pro servery Project Zomboid hostované u Legion Hosting. Pokud jste ještě nenainstalovali mody, začněte nejprve se základním průvodcem instalací modů. Tento článek se zabývá nejčastějšími problémy souvisejícími s mody, které se vyskytují v tiketech podpory Legion Hosting, včetně poškození WorldDictionary, chyb formátu modů, konfliktů pořadí načítání a nesouladů verzí mezi serverem a klientem.
Než začnete
- Přihlaste se do GPanel a vyberte svůj server Project Zomboid.
- Zastavte svůj server před provedením jakýchkoli změn konfigurace nebo souborů.
- Zálohujte si složku uloženého světa (
/.cache/saves/multiplayer/) přes SFTP nebo GPanel před pokusem o jakoukoli opravu. Viz průvodce SFTP, pokud nejste obeznámeni s přenosem souborů. - Mějte připravenou cestu k souboru
.inivašeho serveru:/.cache/server/<servername>.ini(např.servertest.ini).
1. Chyby formátu modů (B42 vs B41)
Nejčastějším důvodem, proč se mody nenačtou, je nesprávný formát v řádku Mods= souboru .ini vašeho serveru. Build 42 a Build 41 používají odlišnou syntaxi a jejich záměna způsobí tiché selhání načítání modů.
Formát B42 (aktuální výchozí)
Build 42 vyžaduje prefix se zpětným lomítkem před každým Mod ID v řádku Mods=:
Mods=\ModID1;\ModID2;\ModID3;
Formát DLMP kombinuje Workshop ID a Mod ID s oddělovačem zpětného lomítka:
Mods=2392987841\ModID1;1550458773\ModID2;2786383654\ModID3;
Řádek WorkshopItems= používá stejný formát oddělený středníky na obou buildech:
WorkshopItems=2392987841;1550458773;2786383654
Formát B41 (starší)
Build 41 používá prosté Mod ID oddělené středníky bez zpětného lomítka:
Mods=ModID1;ModID2;ModID3
Mods= tak, aby obsahoval prefix se zpětným lomítkem.
Jak opravit
- Otevřete
/.cache/server/<servername>.inive Správci souborů GPanel. - Najděte řádek
Mods=a zkontrolujte formát podle příkladů výše. - Pokud je formát nesprávný pro vaši verzi buildu, opravte ho. Použijte Legion Hosting Mod Organizer pro automatické generování správně formátovaných řádků.
- Uložte soubor a spusťte server.
2. Poškození WorldDictionary
WorldDictionary je soubor (WorldDictionary.bin), který mapuje názvy předmětů na interní číselná ID. Při přidávání nebo odebírání modů se může slovník poškodit, což způsobí pád serveru při spuštění s chybou WorldDictionaryException.
Příznaky
- Konzole nebo
debug.logzobrazujeWorldDictionaryExceptionnebo chybyWorldDictionary. - Server spadne okamžitě během spuštění, konkrétně při načítání světa.
- Pád začal po přidání, odebrání nebo aktualizaci modů.
Pochopení rizika
Kroky k obnovení
- Zastavte server v GPanel.
- Zálohujte celou složku uloženého světa přes SFTP: stáhněte celý adresář
/.cache/saves/multiplayer/<YourWorldName>/do svého lokálního počítače. - Nejprve zkuste jednoduše vrátit změnu modu, která chybu způsobila. Pokud jste právě přidali mod, odeberte ho z řádků
Mods=iWorkshopItems=v souboru.ini. Pokud jste právě odebrali mod, přidejte ho zpět. Spusťte server a zjistěte, zda je pád vyřešen. - Pokud vrácení změny modu nepomůže, připojte se přes SFTP a přejděte do
/.cache/saves/multiplayer/<YourWorldName>/. - Smažte
WorldDictionary.bin. - Spusťte server. Project Zomboid regeneruje slovník při spuštění.
- Připojte se k serveru a zkontrolujte svět, zda neobsahuje poškozené předměty, chybějící vozidla nebo rozbité inventáře. Pokud je svět vážně poškozen, obnovte ho ze zálohy, kterou jste vytvořili v kroku 2.
3. Konflikty modu Authentic Z
Authentic Z je jedna z nejpopulárnějších kolekcí modů pro Project Zomboid, ale je častým zdrojem tiketů podpory, protože obsahuje více sub-modů, které spolu navzájem kolidují.
Pravidlo
Authentic Z - Current.
Časté chyby
- Přidání
Authentic Z - CurrentiAuthentic Z - Litemodesoučasně. - Přidání sub-modů Authentic Z, které jsou určeny pro singleplayer, společně s multiplayerovou verzí.
- Neuvědomění si, že různé sub-mody Authentic Z sdílejí stejné Workshop ID, ale mají odlišná Mod ID, takže stažení z Workshopu proběhne úspěšně, ale server načte kolidující soubory modů.
Jak opravit
- Otevřete
/.cache/server/<servername>.inive Správci souborů GPanel. - Vyhledejte v řádku
Mods=všechny položky obsahujícíAuthenticneboAuthenticZ. - Ponechte pouze jeden sub-mod Authentic Z (doporučeno:
Authentic Z - Current). Odeberte všechny ostatní položky Authentic Z z řádkůMods=iWorkshopItems=. - Uložte soubor a restartujte server.
4. Problémy s rozlišováním velkých a malých písmen na Linuxu
Servery Legion Hosting běží na Linuxu, kde jsou názvy souborů a složek citlivé na velikost písmen. Soubor s názvem MyMod.lua a mymod.lua jsou považovány za dva zcela odlišné soubory. To způsobuje problémy, když autoři modů vyvíjejí na Windows (necitlivém na velikost písmen) a jejich mody obsahují nesouladné odkazy na soubory.
Příznaky
- Mod funguje perfektně v singleplayeru na vašem PC s Windows, ale na serveru selhává.
- Konzole nebo
debug.logzobrazuje chybyFileNotFoundExceptionnebocan't find fileodkazující na Lua skript nebo texturu uvnitř modu. - Chyba ukazuje na soubor, který existuje ve složce modu, ale s odlišnou velikostí písmen (např. kód odkazuje na
Items.txt, ale skutečný soubor se jmenujeitems.txt).
Jak diagnostikovat
- Zkontrolujte konzoli nebo soubory logů v
/.cache/Logs/pro přesnou cestu k souboru zmíněnou v chybě. - Připojte se přes SFTP a přejděte do složky modu na
/steamapps/workshop/content/108600/<WorkshopID>/. - Porovnejte názvy souborů na disku s názvem souboru uvedeným v chybové zprávě. Hledejte rozdíly ve velikosti písmen.
Jak opravit
- Pokud můžete soubor přejmenovat: Připojte se přes SFTP a přejmenujte soubor tak, aby odpovídal velikosti písmen očekávané kódem modu. Upozorňujeme, že tato oprava bude přepsána, pokud se mod aktualizuje na Steam Workshop.
- Pokud je problém v samotném modu: Nahlaste chybu autorovi modu na stránce Steam Workshop. Uveďte, že odkaz na soubor má nesoulad velikosti písmen a že selhává na serverech s Linuxem. Mnoho autorů modů si není vědomo rozlišování velkých a malých písmen na Linuxu.
- Jako dočasné řešení: Zkontrolujte komentáře na stránce modu ve Workshopu — jiní operátoři serverů na Linuxu mohli zveřejnit opravu nebo kompatibilní fork modu.
5. Problémy s pořadím načítání modů
Project Zomboid načítá mody v pořadí, v jakém se objevují v řádku Mods=. Některé mody závisí na tom, aby byly jiné mody načteny jako první. Pokud je závislost načtena po modu, který ji vyžaduje, závislý mod může tiše selhat nebo způsobit chyby.
Příznaky
- Funkce modu fungují částečně — některé předměty nebo systémy z modu jsou přítomny, ale jiné chybí.
- Konzole zobrazuje chyby
NullPointerExceptionneboattempt to index a nil valueodkazující na Lua skripty modu. - Chyby se objevují pouze při nainstalování specifické kombinace modů, ale každý mod funguje samostatně bez problémů.
Jak opravit
- Zkontrolujte stránku každého modu na Steam Workshop, zda neobsahuje sekci "Required Mods" nebo "Load Order". Mnoho autorů modů uvádí, které mody musí být načteny před jejich modem.
- Otevřete
/.cache/server/<servername>.inia najděte řádekMods=. - Seřaďte položky tak, aby závislostní mody byly uvedeny před mody, které je vyžadují. Například pokud Mod B vyžaduje Mod A, řádek by měl znít
Mods=\ModA;\ModB;(formát B42). - Frameworkové a knihovní mody (jako
ModFramework,TsarLibneboShark's Mod Utils) by měly být vždy uvedeny jako první v řádkuMods=. - Uložte soubor a restartujte server.
6. Pády serveru po přidání modů
Pokud váš server fungoval bez problémů a spadne po přidání jednoho nebo více modů, nový mod je pravděpodobně příčinou. Tato sekce vás provede izolací problémového modu.
Postup izolace krok za krokem
- Zastavte server v GPanel.
- Otevřete
/.cache/server/<servername>.inive Správci souborů. - Poznamenejte si všechny mody, které jste právě přidali. Odeberte všechny z řádků
Mods=iWorkshopItems=. - Spusťte server. Pokud se úspěšně spustí, problém je v jednom z modů, které jste odebrali.
- Přidávejte mody zpět po jednom, server restartujte po každém přidání. Když se pád vrátí, poslední přidaný mod je příčinou.
- Po identifikaci zkontrolujte stránku modu ve Workshopu, zda neobsahuje:
- Poznámku o kompatibilitě s B42 — mnoho modů pro B41 nebylo aktualizováno pro B42.
- Známé konflikty s jinými mody, které používáte.
- Požadované závislostní mody, které možná nemáte nainstalované.
Čtení logu pádu
Před provedením procesu izolace zkontrolujte log pádu — často ukazuje přímo na problémový mod:
- V GPanel otevřete záložku Console a přejděte na konec výstupu.
- Hledejte řádky
STACK TRACE,ExceptionneboERROR. - Řádky bezprostředně nad stack trace obvykle odkazují na název souboru modu nebo Mod ID — to vám řekne, který mod pád způsobil.
- Pro více detailů otevřete úplný soubor logu přes SFTP na
/.cache/Logs/a zkontrolujte nejnovější souborDebugLog-server.txtnebodebug.log.
7. Nesoulady verzí modů (server vs klient)
Project Zomboid vyžaduje, aby server a všichni připojení klienti měli stejnou verzi každého modu. Pokud se mod aktualizuje na Steam Workshop a server stáhne novou verzi, ale hráč má stále starou verzi v mezipaměti (nebo naopak), dojde k selhání připojení nebo pádům.
Příznaky
- Hráči dostanou chybu "Mod mismatch" nebo "Version mismatch" při pokusu o připojení.
- Někteří hráči se mohou připojit, ale jiní ne — ti, kteří se nemohou připojit, mají lokálně v mezipaměti jinou verzi modu.
- Server fungoval bez problémů, pak se mod aktualizoval na Steam Workshop a najednou se někteří hráči nemohou připojit.
- Hráči vidí chybějící textury, předměty nebo rozbité prvky UI z modů, které byly nedávno aktualizovány.
Oprava pro operátory serveru
- Zastavte server v GPanel.
- Spusťte server znovu. Při spuštění server znovu stáhne nejnovější verze všech Workshop modů. To zajistí, že server běží s nejnovější verzí.
- Pokud má server stále starou verzi v mezipaměti, připojte se přes SFTP a smažte složku mezipaměti Workshopu konkrétního modu na
/steamapps/workshop/content/108600/<WorkshopID>/. Restartujte server pro vynucení čistého stažení.
Oprava pro hráče
Hráči, kteří se nemohou připojit kvůli nesouladům verzí modů, by měli:
- Otevřít Steam a přejít na Library → Project Zomboid.
- Kliknout pravým tlačítkem na Project Zomboid, vybrat Properties → Local Files → Verify Integrity of Game Files.
- Také přejít do složky Steam Workshop pro Project Zomboid na svém lokálním počítači a smazat soubory modů v mezipaměti pro vynucení opětovného stažení.
- Spustit hru a znovu se připojit k serveru.
/.cache/mods/ na serveru místo použití automatické aktualizace z Workshopu. Odeberte odpovídající Workshop ID z řádku WorkshopItems=, abyste zabránili automatickým aktualizacím. Viz průvodce instalací modů pro instrukce k instalaci modů mimo Workshop.
8. Vymazání mezipaměti Steam Workshop
Pokud přetrvávají problémy s více mody a máte podezření, že je mezipaměť stažených souborů z Workshopu poškozena, můžete vynutit kompletní opětovné stažení všech Workshop modů.
- Zastavte server v GPanel.
- Připojte se přes SFTP a přejděte do
/steamapps/workshop/. - Smažte celou složku
workshop/(nebo její obsah). - Spusťte server. Steam znovu stáhne všechny položky z Workshopu od začátku.
- Sledujte konzoli GPanel a potvrďte, že všechny mody dokončily stahování předtím, než server začne načítat svět.
Rychlý diagnostický přehled
| Co vidíte | Nejpravděpodobnější příčina | Sekce |
|---|---|---|
| Mody se nenačítají, žádné chyby v logu | Nesprávný formát modů (formát B41 na serveru B42 nebo naopak) | 1. Chyby formátu modů |
WorldDictionaryException v konzoli |
Poškození WorldDictionary z přidávání/odebírání modů | 2. Poškození WorldDictionary |
| Pád serveru s více sub-mody Authentic Z | Kolidující sub-mody Authentic Z načtené současně | 3. Konflikty Authentic Z |
FileNotFoundException pro soubor modu, který existuje |
Nesoulad velikosti písmen na Linuxu | 4. Problémy s velikostí písmen |
Chyby NullPointerException nebo nil value z modů |
Nesprávné pořadí načítání modů nebo chybějící závislost | 5. Problémy s pořadím načítání |
STACK TRACE po přidání nových modů |
Nekompatibilní nebo kolidující mod | 6. Pády po přidání modů |
| "Mod mismatch" nebo "Version mismatch" při připojení | Server a klient mají odlišné verze modů | 7. Nesoulady verzí |
| Více problémů s mody, nic jiného nefunguje | Poškozená mezipaměť Workshopu | 8. Mezipaměť Workshopu |
Stále máte problémy s mody?
Pokud váš problém s modem není popsán výše nebo opravy problém nevyřešily, otevřete tiket podpory s následujícími informacemi, aby tým podpory mohl problém rychle diagnostikovat:
- Verze buildu vašeho serveru (B41 nebo B42), zobrazená v konzoli při spuštění
- Úplné řádky
Mods=aWorkshopItems=z vašeho souboru.ini - Posledních 50 řádků výstupu konzole GPanel v době pádu
- Obsah nejnovějšího souboru logu v
/.cache/Logs/ - Které mody byly přidány, odebrány nebo aktualizovány bezprostředně před začátkem problému
- Zda se problém vyskytuje při spuštění nebo pouze při připojení hráčů
Otevřete tiket podpory a uveďte ID vašeho serveru a výše uvedené podrobnosti.