Jak skonfigurować whitelistę na serwerze Project Zomboid
Whitelista blokuje serwer do zatwierdzonej listy graczy. Każdy nie na liście zostaje odrzucony przy połączeniu. To najprostszy sposób, by zatrzymać przypadkowych griefów. Setup zajmuje 5 minut.
Krok 1 — Włącz tryb whitelist w servertest.ini
Najpierw zatrzymaj serwer. Następnie otwórz:
/home/container/Zomboid/Server/servertest.ini
Znajdź te dwie linie i zmień na:
Open=false
Public=false
| Ustawienie | Efekt |
|---|---|
Open=true |
Każdy może się połączyć (domyślnie) |
Open=false |
Whitelista wymagana do połączenia |
Public=false |
Ukryty z publicznej przeglądarki serwerów |
Zapisz i uruchom serwer.
Krok 2 — Dodaj graczy pojedynczo (metoda konsoli)
W konsoli serwera (panel → zakładka Console), wpisz:
adduser "PlayerName" "password"
Hasło staje się hasłem logowania tego gracza do twojego serwera.
Dla wielu graczy, uruchom adduser dla każdego:
adduser "Alice" "alicepw123"
adduser "Bob" "bobpw456"
adduser "Carol" "carolpw789"
Krok 3 — Dodaj graczy już na serwerze (metoda masowa)
Jeśli gracze są połączeni gdy włączasz whitelistę, dodaj ich wszystkich naraz:
addalltowhitelist
To whitelist-promuje każdego aktualnie połączonego gracza. Uruchom raz po włączeniu Open=false.
Krok 4 — Przetestuj whitelistę
Niech znajomy (nie na liście) spróbuje się połączyć. Powinien zobaczyć:
Server is closed. Contact server administrator.
Usuwanie graczy z whitelisty
removeuserfromwhitelist "PlayerName"
Lub przez setaccesslevel:
setaccesslevel "PlayerName" "none"
Gdzie przechowywana jest whitelista
Whitelista znajduje się w bazie SQLite:
/home/container/Zomboid/db/servertest.db
Wewnątrz tabela whitelist ma kolumny: username, password (bcrypt-hashed), accesslevel, banned, steamid. Można edytować bezpośrednio przez DB Browser for SQLite dla operacji masowych.
Uwaga bezpieczeństwa: Hasła przechowywane jako bcrypt-hashe, nie plaintext. Nie można odzyskać utraconych haseł — tylko zresetować przez
changepwdz konsoli.
Whitelist + autoryzacja Steam (zalecane dla serwerów publicznych)
Jeśli serwer jest wystawiony na otwarte internet, włącz również autoryzację Steam. W servertest.ini:
SteamScoreboard=true
SteamPort1=8766
SteamPort2=8767
Friends-only szybki setup
Dla małego serwera (5-10 znajomych):
Open=truepoczątkowo, by znajomi mogli dołączyć- Gdy wszyscy są:
addalltowhitelistz konsoli Open=falsew pliku .ini- Restart serwera
Częste problemy
"Server is closed" nawet dla mnie jako admina.
Nie jesteś w whitelist. Dodaj się: adduser "TwojaNazwa" "twojepw", potem grantadmin "TwojaNazwa".
adduser mówi "user already exists".
Gracz już jest w bazie, tylko nie whitelisted. Użyj addusertowhitelist "PlayerName".
Whitelist wydaje się nie działać.
Trzy możliwe przyczyny: 1) zapomniałeś ustawić Open=false, 2) edytowałeś gdy serwer działał i zmiana została nadpisana, 3) ustawiłeś Open=false ale nie zrestartowałeś.
FAQ
Czy mogę używać whitelisty z serwerami Steam-only?
Tak — egzekwowanie whitelist dzieje się na poziomie username.
Czy whitelista eliminuje potrzebę banów IP? Nie — uzupełniają się.
Czy mogę whitelist grupę Steam? Nie przez vanilla.
