Notatki operatora
Serwer Project Zomboid: setup i naprawa częstych błędów
Praktyczny przewodnik po własnym serwerze Project Zomboid: od instalacji przez SteamCMD i plików konfiguracyjnych, przez porty i pamięć RAM, po naprawę trzech najczęstszych błędów, na które trafia większość polskich graczy: „serwer musi pozwolić na połączenie", „serwer przestał działać w trakcie uruchamiania" oraz „serwer nie odpowiada".
W skrócie: Większość problemów z serwerem Project Zomboid sprowadza się do trzech rzeczy. Błąd „serwer musi pozwolić na połączenie" to gra hostowana z menu (tryb co-op), a nie prawdziwy serwer dedykowany. „Serwer przestał działać w trakcie uruchamiania" to najczęściej za mało pamięci RAM (podnieś -Xmx) albo niekompatybilne mody. „Serwer nie odpowiada" to zwykle nieotwarty port UDP 16261 lub wpisany zły adres. Cała reszta to porządna konfiguracja od początku.
Co-op a serwer dedykowany: dwie różne rzeczy
To rozróżnienie rozwiązuje połowę problemów, więc zaczynamy od niego. W Project Zomboid są dwa sposoby wspólnej gry i bardzo łatwo je pomylić.
- Gra hostowana (co-op). Klikasz w menu Host, gra startuje na Twoim komputerze i jednocześnie udostępnia świat znajomym. Wygodne dla 2-4 osób, ale serwer żyje tylko, dopóki Ty jesteś w grze, a dołączenie wymaga, byś wpuścił graczy ręcznie. To właśnie tu najczęściej wyskakuje komunikat „serwer musi pozwolić na połączenie".
- Serwer dedykowany. Osobny proces, który nasłuchuje połączeń całą dobę, niezależnie od tego, czy ktokolwiek gra. Nie musisz nikogo „wpuszczać", a świat działa nawet, gdy wszyscy wyjdą. To wybór na stały serwer dla większej paczki i jedyny sensowny wariant pod hosting 24/7.
Jeśli planujesz serwer, który ma być online cały czas i do którego ludzie wchodzą, kiedy chcą, od razu celuj w serwer dedykowany. Reszta tego poradnika dotyczy właśnie jego.
Błąd „serwer musi pozwolić na połączenie"
Po angielsku ten komunikat brzmi „Host must allow you to join" i pojawia się, gdy próbujesz dołączyć do gry hostowanej z menu, a host nie wpuścił Cię ręcznie. To nie jest awaria, tylko mechanika trybu co-op.
Co zrobić, zależnie od tego, jak gracie:
- Jeśli gracie w trybie co-op (przycisk Host). Gospodarz musi być w grze, na swoim świecie. Wciska Esc, wybiera zaproszenie znajomych z poziomu gry i stamtąd Cię wpuszcza. Zaproszenie wysłane przez zwykłą listę znajomych Steam często nie zadziała, najpewniejsza jest opcja zaproszenia w grze.
- Jeśli to ma być stały serwer. Postaw serwer dedykowany (opis niżej). On nie wymaga, by ktokolwiek był obecny w świecie ani nikogo „wpuszczał", po prostu przyjmuje połączenia na swoim porcie. To kończy problem raz na zawsze.
Instalacja serwera dedykowanego przez SteamCMD
Serwer dedykowany Project Zomboid to osobny komponent w Steam o identyfikatorze (App ID) 380870. Najczystsza metoda na VPS-ie z Linuksem albo na Windows wygląda tak:
- Pobierz SteamCMD. To narzędzie Valve do pobierania serwerów dedykowanych.
- Zaloguj się anonimowo i pobierz serwer. W SteamCMD wpisz kolejno
login anonymous, ustaw katalog instalacji przezforce_install_dir, a następnieapp_update 380870 validate. Parametrvalidatesprawdza integralność plików i ratuje po nieudanej aktualizacji. - Uruchom serwer pierwszy raz. Na Windows uruchom
StartServer64.bat, na Linuksiestart-server.sh. Przy pierwszym starcie serwer poprosi o ustawienie hasła administratora, podaj je i zapamiętaj. - Poczekaj, aż wygeneruje pliki i wyłącz go. Pierwsze uruchomienie tworzy zestaw plików konfiguracyjnych. Zatrzymaj serwer (komenda
quitw konsoli), żeby spokojnie je edytować.
App ID gry (klienta) to 108600, ale serwer dedykowany pobierasz pod 380870, to dwa różne wpisy w Steam i łatwo je pomylić.
Pliki konfiguracyjne i gdzie ich szukać
Po pierwszym uruchomieniu pliki generują się w folderze profilu, nie w katalogu instalacji serwera:
- Windows:
C:\Users\TWOJA_NAZWA\Zomboid\Server - Linux:
~/Zomboid/Server
Domyślnie nazwa świata serwera to servertest, więc pliki nazywają się odpowiednio:
| Plik | Za co odpowiada |
|---|---|
servertest.ini | Porty, hasło serwera, nazwa, liczba slotów (MaxPlayers), lista modów i pozycji Workshop, PvP/PvE. |
servertest_SandboxVars.lua | Ustawienia rozgrywki: tempo i liczba zombie, ilość lootu, tryb populacji, długość dnia. To tu „kręcisz" trudnością. |
servertest_spawnpoints.lua | Punkty startowe graczy na mapie. |
servertest_spawnregions.lua | Dozwolone regiony startu (miasta), przydatne przy modach map. |
Save świata leży osobno, w Zomboid/Saves/Multiplayer. To ten folder kopiujesz, gdy chcesz zrobić backup postępu, a nie sam folder z plikami serwera.
Pamięć RAM: najczęstsza przyczyna „serwer przestał działać"
Serwer Project Zomboid działa na Javie, a Java pilnuje własnego limitu pamięci, tak zwanej sterty (heap). Steruje nią parametr -Xmx (maksimum) i -Xms (start). Gdy serwerowi zabraknie sterty podczas wczytywania świata i modów, proces Javy potrafi po prostu się zamknąć, czasem bez wyraźnego błędu na ekranie, a komunikat ląduje tylko w logu. Stąd mylące „serwer przestał działać w trakcie uruchamiania" przy z pozoru poprawnej konfiguracji.
Domyślny przydział jest niewielki (rzędu 2-3 GB) i wystarcza na czystą grę dla kilku osób. Przy modach trzeba go podnieść. Wartość -Xmx zmieniasz w pliku ProjectZomboid64.json (znajdź wpis z -Xmx i ustaw nową liczbę), ewentualnie w pliku startowym serwera (StartServer64.bat / start-server.sh).
| Scenariusz | Sensowny -Xmx |
|---|---|
| Czysta gra, kilka osób | 2048-3072m (czyli 2-3 GB) |
| Lekkie mody, mała paczka | 4096m (4 GB) |
| Mody + większa mapa | 6144m (6 GB) |
| Mocno zmodowany Build 42, duża obsada | 8192m i więcej |
Zasada bezpieczeństwa: nie przydzielaj serwerowi więcej niż około 75 procent RAM maszyny i zostaw kilka GB dla systemu. Jeśli VPS ma 8 GB, ustaw -Xmx najwyżej w okolicy 6 GB. Przydzielenie „całego RAM-u" potrafi paradoksalnie ubić serwer, bo system nie ma już rezerwy na własne potrzeby.
Porty: przyczyna „serwer nie odpowiada"
Współczesny serwer dedykowany Project Zomboid potrzebuje dwóch portów UDP:
- 16261 to port główny, przez niego klienci się łączą.
- 16262 to port DirectConnect / transferu danych.
Starsze poradniki wspominają jeszcze o portach 8766 i 8767 (Steam) oraz zakresie do 16271. Na nowszych buildach nie są one konieczne do normalnej gry, ale jeśli panel hostingu już je otwiera, można je zostawić, nie zaszkodzą.
Jeśli serwer stoi w domu, oba porty UDP trzeba przekierować na routerze (port forwarding) na lokalny adres maszyny z serwerem i przepuścić je w firewallu. Graczom podajesz swój publiczny adres IP (nie lokalny 192.168.x.x). Komunikat „serwer nie odpowiada" to w 90 procentach przypadków albo zamknięty port UDP 16261, albo podany zły adres, albo serwer, który tak naprawdę się nie uruchomił.
Gdy router pokazuje publiczne IP zaczynające się od 100.64. do 100.127., jesteś za CG-NAT operatora i przekierowanie portów nie zadziała, niezależnie od konfiguracji. Wtedy zostaje VPS, hosting zarządzany albo tunel. Szczegóły opisujemy w osobnym poradniku o portach (link na dole).
Naprawa krok po kroku, gdy serwer nie startuje
Kolejność, której warto się trzymać, gdy „serwer przestał działać w trakcie uruchamiania":
- Zajrzyj do logu. Na Windows plik
console.txtleży wC:\Users\TWOJA_NAZWA\Zomboid\i jest nadpisywany przy każdym starcie. Po awarii powstaje też paczkaLogs.zipz plikiemserver-console.txt. Szukaj wpisów[ERROR]orazOutOfMemoryError. - Podnieś
-Xmx, jeśli w logu jest cokolwiek o pamięci albo proces ginie bez błędu. To najczęstszy winowajca przy serwerze z modami. - Wyłącz mody pojedynczo. Niekompatybilne lub uszkodzone mody to druga najczęstsza przyczyna. Wyłączaj po jednym (lub połówkami listy), aż serwer wstanie, tak namierzysz sprawcę.
- Sprawdź zgodność wersji. Build 41 i Build 42 nie są wymienne. Klient i serwer muszą być na tej samej wersji gry i z tym samym zestawem modów, inaczej dołączenie się nie powiedzie.
- Wyklucz uszkodzony save. Jeśli serwer chodził, a nagle przestał, czasem winny jest uszkodzony plik świata. Najpierw zrób kopię folderu
Zomboid/Saves/Multiplayer, potem testuj.
VPS, własny komputer czy hosting zarządzany
To samo rozwidlenie co przy każdej grze, ale w Project Zomboid pamięć i porty bolą szczególnie mocno, więc warto je rozważyć świadomie.
- Własny komputer. Działa, ale serwer żyje tylko, gdy maszyna jest włączona, a Ty walczysz z CG-NAT, portami i RAM-em dzielonym z grą. Dobre na szybką sesję, słabe na stałe 24/7.
- VPS (samodzielnie). Pełna kontrola: własny system, SteamCMD, dowolne mody. Płacisz za maszynę, ale instalacja, aktualizacje po patchach, firewall i kopie zapasowe są na Twojej głowie. Tu właśnie ręcznie ustawiasz
-Xmxi przekierowania. - Hosting zarządzany. Panel, jednoklikowa instalacja, gotowe porty, automatyczne aktualizacje i zwykle ochrona DDoS w cenie. Mniej kontroli nad systemem, ale zero nocnych sesji „dlaczego nie wstaje po patchu".
Jeśli chcesz po prostu mieć stały serwer dla paczki znajomych i nie być sysadminem, gotową opcję zarządzaną pod Project Zomboid znajdziesz w hostingu serwerów Project Zomboid w Supercraft, instalacja jest jednoklikowa, a pamięć, porty i aktualizacje obsługuje panel.
Z doświadczenia: kopię plików servertest.ini i servertest_SandboxVars.lua oraz listę modów (z numerami Workshop) trzymaj poza maszyną serwera od pierwszego dnia. Aktualizacja gry albo moda potrafi „rozjechać" konfigurację, a wtedy czysty, sprawdzony zestaw plików ratuje wieczór.
Najczęstsze pytania
Co oznacza błąd „serwer musi pozwolić na połączenie"?
To gra hostowana z menu (tryb co-op), a nie serwer dedykowany. Host musi być w grze, wcisnąć Esc i zaprosić Cię z poziomu gry, a nie przez listę znajomych Steam. Na stałe rozwiązuje to serwer dedykowany, który nikogo nie musi „wpuszczać".
Dlaczego serwer przestał działać w trakcie uruchamiania?
Najczęściej za mało pamięci: gdy Javie zabraknie sterty przy wczytywaniu świata i modów, proces ginie bez wyraźnego błędu. Podnieś -Xmx w ProjectZomboid64.json, a jeśli to nie pomaga, wyłączaj mody pojedynczo i czytaj log.
Ile RAM-u potrzebuje serwer Project Zomboid?
Czysta gra dla kilku osób zadowoli się 2-3 GB. Z modami daj 4-6 GB, a mocno zmodowany Build 42 dla większej paczki 8 GB i więcej. Nie przydzielaj więcej niż około 75 procent RAM maszyny.
Jakie porty otworzyć?
UDP 16261 (główny) i UDP 16262 (DirectConnect). Starsze porty 8766/8767 zwykle nie są już konieczne. Przy serwerze w domu przekieruj porty na routerze i podaj graczom publiczne IP.
„Serwer nie odpowiada", co sprawdzić najpierw?
Po kolei: czy serwer naprawdę wstał (log), czy port UDP 16261 jest otwarty i przekierowany, czy podałeś publiczny adres IP (nie lokalny) oraz czy wersja gry i mody się zgadzają.
Powiązane
- Gotowy, zarządzany serwer Project Zomboid z jednoklikową instalacją, obsługą pamięci i portów: hosting serwerów Project Zomboid.
- Przekierowanie portów dla serwerów gier, wersja praktyczna
- Dobór sprzętu pod serwer gry: RAM, CPU i dysk na gracza
- Własny serwer vs hosting zarządzany: realna linia kosztów
- Serwer CS2 krok po kroku (inny przykład serwera dedykowanego na SteamCMD)