Serwery Project Zomboid mogą ulegać awariom lub nie uruchamiać się z kilku dobrze znanych powodów. Ten przewodnik obejmuje najczęstsze przyczyny obserwowane w zgłoszeniach do pomocy technicznej Legion Hosting — od błędu pamięci w Build 42, który wymaga dodatkowej pamięci RAM przy uruchamianiu, przez przepełnienie kopii zapasowych zapełniające /tmp, po uszkodzone pliki konfiguracyjne. Przejdź przez poniższe sekcje po kolei.
Zanim zaczniesz — zlokalizuj swoje logi awarii
Niemal każda awaria Project Zomboid pozostawia ślady w jednym z dwóch miejsc. Sprawdź oba przed podjęciem jakiejkolwiek naprawy, aby wiedzieć, która sekcja tego przewodnika dotyczy Twojego przypadku.
Dane wyjściowe konsoli GPanel
- Zaloguj się do GPanel.
- Wybierz swój serwer Project Zomboid z listy serwerów.
- Kliknij zakładkę Console.
- Przewiń do dołu danych wyjściowych. Szukaj linii oznaczonych
ERROR,FATAL,OutOfMemoryErrorlubException. Ostatnie 20–30 linii przed zatrzymaniem serwera są zwykle najbardziej istotne. - Jeśli konsola jest pusta, proces serwera zakończył działanie, zanim zdołał cokolwiek zapisać — to samo w sobie jest wskazówką (zobacz sekcję o pamięci B42 poniżej).
Plik serwera debug.log
Project Zomboid zapisuje szczegółowy log do debug.log w katalogu danych serwera. Ten plik często zawiera pełny ślad stosu Java, który bezpośrednio wskazuje przyczynę awarii.
- W GPanel przejdź do zakładki File Manager.
- Przejdź do
/.cache/Logs/. Zobaczysz pliki o nazwach takich jakdebug.log,DebugLog-server.txtlub pliki logów z datą. - Otwórz najnowszy plik logu. Użyj Ctrl+End lub przewiń na sam dół i czytaj w górę od tego miejsca.
- Szukaj słów kluczowych
OutOfMemoryError,IOException,NullPointerExceptionlubSandboxVars. Skopiuj odpowiednie linie — będą Ci potrzebne, jeśli otworzysz zgłoszenie do pomocy technicznej.
Naprawa 1 — Wysokie zużycie pamięci przy uruchamianiu w Build 42 (znany błąd gry)
Jeśli Twój serwer wychodzi natychmiast po uruchomieniu bez błędu w konsoli, lub konsola pokazuje OutOfMemoryError lub błąd przestrzeni sterty Java, serwerowi brakuje pamięci, zanim świat zakończy ładowanie.
Objawy
- Serwer się uruchamia, konsola przewija się przez kilka sekund, a następnie zatrzymuje się bez błędu widocznego dla gracza.
- Konsola pokazuje
java.lang.OutOfMemoryError: Java heap spacelubGC overhead limit exceeded. - Serwer działa przy niektórych restartach, a przy innych nie (dostępność pamięci się różni).
- Serwer działał dobrze na B41, ale konsekwentnie ulega awarii po aktualizacji do B42.
Kroki
- W GPanel kliknij swój serwer i przejdź do zakładki Console. Zanotuj aktualną alokację pamięci RAM serwera pokazaną na pasku zasobów lub w panelu informacji o serwerze.
- Jeśli Twój plan obejmuje mniej niż 10 GB RAM, serwer może ulec awarii podczas uruchamiania, ponieważ B42 wymaga około 9 GB do inicjalizacji. Konieczne będzie ulepszenie planu lub poczekanie, aż Indie Stone wyda poprawkę.
- Jeśli Twój plan ma już 10 GB lub więcej, a serwer nadal ulega awarii przy uruchamianiu, przejdź do zakładki Startup w GPanel.
- Poszukaj pola oznaczonego Java Memory, Max RAM lub Xmx. Potwierdź, że jest ustawione na nie więcej niż 80–85% całkowitej dostępnej pamięci RAM. Na przykład w planie 12 GB ustaw tę wartość na
10240(10 GB w megabajtach). Nie ustawiaj jej równej lub większej od całkowitej pamięci RAM — system operacyjny i inne procesy również potrzebują pamięci. - Kliknij Save w zakładce Startup, a następnie zrestartuj serwer.
- Obserwuj konsolę podczas uruchamiania. Jeśli serwer osiągnie linię
SERVER STARTEDlubLuaManager: Loading lua files...zakończy się bez awarii, alokacja pamięci jest teraz wystarczająca.
Naprawa 2 — BackupsOnStart przepełniające /tmp (awaria przy uruchamianiu)
Project Zomboid można skonfigurować tak, aby tworzył pełną kopię zapasową świata za każdym razem, gdy serwer się uruchamia. Gdy ta kopia zapasowa jest zapisywana do /tmp — który ma ograniczony rozmiar na większości hostów Linux — serwer ulega awarii w trakcie uruchamiania z błędem zapisu na dysk, gdy /tmp się zapełni.
Objawy
- Serwer niezawodnie ulega awarii przy każdym restarcie, ale wcześniej działał.
- Konsola lub
debug.logzawiera błędy takie jakIOException: No space left on devicelub wzmianki o zapisie do/tmp/. - Awarie mają tendencję do pogarszania się z czasem, w miarę jak zapis świata staje się większy.
- Serwer czasami uruchamia się, jeśli spróbujesz wkrótce po czystym ponownym uruchomieniu węzła hosta (zanim
/tmpponownie się zapełni).
Kroki — wyłączenie BackupsOnStart
- W GPanel przejdź do zakładki File Manager.
- Przejdź do
/.cache/server/. Poszukaj pliku konfiguracyjnego serwera — zwykle nazywa się onservertest.inilub jest nazwą Twojego serwera, po której następuje.ini(np.MyServer.ini). - Otwórz plik
.inido edycji. - Użyj funkcji wyszukiwania w przeglądarce (Ctrl+F), aby wyszukać
BackupsOnStart. - Zmień wartość z
truenafalse:BackupsOnStart=false - Będąc w pliku, sprawdź również ustawienie
BackupsOnVersionChangei ustaw je nafalse, jeśli przestrzeń dyskowa jest problemem:BackupsOnVersionChange=false - Zapisz plik i zrestartuj serwer. Obserwuj konsolę, aby potwierdzić, że serwer osiąga linię
SERVER STARTED.
/.cache/saves/multiplayer/, lub skontaktuj się z pomocą techniczną Legion Hosting, aby zapytać o opcje zaplanowanych kopii zapasowych w Twoim planie.
Naprawa 3 — Uszkodzony plik SandboxVars.lua lub konfiguracji serwera
Project Zomboid przechowuje ustawienia świata w pliku Lua o nazwie SandboxVars.lua. Jeśli ten plik zostanie edytowany ręcznie i zapisany z błędem składni, lub jeśli transfer pliku został przerwany, serwer ulegnie awarii natychmiast przy uruchamianiu, gdy spróbuje przeanalizować plik.
Objawy
- Konsola pokazuje
ERROR: SandboxVars,LuaManager errorlub błąd parsowania Lua z numerem linii. - Awaria zaczęła się zaraz po tym, jak edytowałeś ustawienia w pliku
.inilub bezpośrednio wSandboxVars.lua. - Serwer może pokazywać
Bad argument #1 tolub podobne błędy wykonania Lua.
Kroki — sprawdzenie i naprawa SandboxVars.lua
- W GPanel przejdź do File Manager i przejdź do
/.cache/saves/multiplayer/<YourServerName>/. - Otwórz
SandboxVars.luado edycji. - Sprawdź, czy plik zaczyna się od
VERSION = 1,(lub podobnie) wewnątrz blokuSandboxVars = {i kończy się zamykającym}. Jakikolwiek brakujący przecinek, niezamknięty nawias klamrowy lub błędny znak spowoduje niepowodzenie parsowania. - Jeśli nie możesz zidentyfikować błędu, najbezpieczniejszą naprawą jest całkowite usunięcie
SandboxVars.lua. Serwer wygeneruje go ponownie z domyślnymi wartościami przy następnym uruchomieniu. Uwaga: to resetuje Twoje ustawienia piaskownicy (łup, liczba zombie itp.) do wartości domyślnych — Twoje dane mapy i dane gracza nie są naruszone. - Sprawdź również plik
.iniw/.cache/server/pod kątem podobnych problemów, jeśli niedawno edytowałeś go ręcznie. Upewnij się, że każda linia ma formatKey=Valuebez pustych linii wewnątrz wartości. - Zapisz zmiany i zrestartuj serwer.
SandboxVars.lua. Zamiast tego używaj panelu administratora w grze lub interfejsu ustawień serwera w GPanel, jeśli jest dostępny. Bezpośrednie edycje są podatne na błędy i mogą zepsuć serwer z powodu jednego pominiętego przecinka.
Naprawa 4 — Puste hasło administratora powodujące awarię
Project Zomboid wymaga niepustego hasła administratora do uruchomienia serwera wieloosobowego. Jeśli pole hasła jest puste, proces serwera wychodzi natychmiast po próbie zainicjowania konta administratora.
Objawy
- Zupełnie nowy serwer lub niedawno zresetowany serwer zawodzi przy każdej próbie uruchomienia.
- Dane wyjściowe konsoli są bardzo krótkie — serwer drukuje kilka linii inicjalizacji, a następnie zatrzymuje się.
debug.logmoże zawierać odniesienie do konta administratora lub walidacji hasła.
Kroki
- W GPanel kliknij swój serwer i przejdź do zakładki Startup.
- Poszukaj pola oznaczonego Admin Password lub RCON Password. Potwierdź, że zawiera wartość — nie może być puste.
- Jeśli pole jest puste, wprowadź hasło. Użyj co najmniej 8 znaków. Unikaj znaków specjalnych, takich jak
!,#,$lub@w haśle administratora, ponieważ niektóre wersje PZ nie analizują ich poprawnie w argumentach uruchamiania. - Kliknij Save i zrestartuj serwer.
- Jako dodatkowe sprawdzenie otwórz plik
.iniw/.cache/server/i potwierdź, że liniaAdminPassword=ma wartość po znaku równości.
Naprawa 5 — Reset świata (ostateczność przy uporczywych awariach)
Jeśli zapis świata zostanie uszkodzony — na przykład po twardej awarii serwera, nieudanej aktualizacji lub błędach systemu plików — same dane zapisu mogą być nieodzyskiwalne. W takim przypadku usunięcie świata i rozpoczęcie od nowa jest jedyną opcją.
Kroki
- Zatrzymaj swój serwer w GPanel przed wprowadzeniem jakichkolwiek zmian w plikach zapisu. Edytowanie plików na działającym serwerze może spowodować dalsze uszkodzenia.
- W GPanel przejdź do zakładki File Manager.
- Przejdź do
/.cache/saves/multiplayer/. - Zobaczysz jeden lub więcej folderów z nazwą Twojego serwera (np.
servertest). Przed usunięciem opcjonalnie pobierz folder jako kopię zapasową, zaznaczając go i używając opcji pobierania — nawet uszkodzony zapis może być częściowo odzyskiwalny później. - Usuń folder odpowiadający nazwie Twojego serwera wewnątrz
Multiplayer/. Nie usuwaj samego folderuMultiplayer. - Przejdź również do
/.cache/db/i usuń plik<YourServerName>.db. Ta baza danych przechowuje statystyki graczy i może odwoływać się do starego świata — jej ponowne wygenerowanie pozwala uniknąć niezgodności. - Uruchom swój serwer. Wygeneruje on nowy świat, używając ustawień z Twojego pliku
.ini.
.ini, hasło administratora, lista modów i ustawienia portów są zachowywane. Następne uruchomienie użyje dokładnie tych samych ustawień do wygenerowania nowego świata.
Szybkie odniesienie diagnostyczne
| Co widzisz w logu | Najbardziej prawdopodobna przyczyna | Naprawa |
|---|---|---|
OutOfMemoryError lub Java heap space |
Niewystarczająca ilość pamięci RAM dla uruchomienia B42 | Naprawa 1 — Błąd pamięci B42 |
IOException: No space left on device |
BackupsOnStart zapełniające /tmp |
Naprawa 2 — BackupsOnStart |
Błąd SandboxVars lub błąd parsowania Lua |
Uszkodzony lub ręcznie edytowany plik konfiguracyjny | Naprawa 3 — SandboxVars.lua |
| Serwer wychodzi natychmiast, bardzo krótkie dane wyjściowe konsoli | Puste hasło administratora | Naprawa 4 — Hasło administratora |
| Awarie konsekwentnie niezależnie od zmian konfiguracji | Uszkodzony zapis świata | Naprawa 5 — Reset świata |
Nadal awarie po wszystkich krokach?
Jeśli Twój serwer nadal ulega awarii po przejściu przez każdą powyższą naprawę, otwórz zgłoszenie do pomocy technicznej Legion Hosting. Dołącz następujące informacje, aby pomóc zespołowi pomocy technicznej szybko zdiagnozować problem:
- Ostatnie 50 linii danych wyjściowych konsoli GPanel w momencie awarii
- Pełną zawartość najnowszego pliku
debug.loglubDebugLog-server.txt - Wersję Build Project Zomboid Twojego serwera (pokazaną w konsoli przy uruchamianiu, np.
Build 42.x.x) - Twoją alokację pamięci RAM pokazaną w GPanel
- Czy awaria występuje przy każdym uruchomieniu, czy tylko po tym, jak serwer działał przez jakiś czas
- Wszelkie zmiany wprowadzone przed rozpoczęciem awarii (dodanie modów, edycje konfiguracji, aktualizacje gry)
Otwórz zgłoszenie do pomocy technicznej i dołącz swój identyfikator serwera oraz komunikaty o błędach z konsoli GPanel.