-
Notifications
You must be signed in to change notification settings - Fork 0
Ports und Netzwerk
← Home · Zurück: Quickstart-Linux
Welche Ports der Project-Zomboid-Dedicated-Server (B42) braucht, wie Firewall und Router zu konfigurieren sind und was der Docker-Pfad anders macht.
| Port | Protokoll | Zweck | Quelle |
|---|---|---|---|
| 16261 | UDP (siehe Quellen-Konflikt unten) | Haupt-Spielport (DefaultPort, aus GAME_PORT) |
Repo-Default (.env.example); Protokoll-Konflikt siehe unten |
| 16262 | UDP | Zweiter Spiel-UDP-Port (UDPPort, aus DIRECT_PORT) |
Repo-Default (.env.example) + Community-Quelle (pzwiki: UDP) |
27015 (RCON_PORT) |
TCP | RCON-Fernsteuerung — niemals öffentlich freigeben | Repo-Default (.env.example: RCON_PORT=27015) |
| 27015 | TCP | Nur Docker-Variante: fester Port-Mapping-Eintrag | Repo-Default (docker-compose.yml) |
Die ersten drei Ports gelten für die native systemd-Installation; der 27015/tcp-Eintrag der Docker-Variante ist identisch zum RCON-Port, wird aber fest im Compose-File gemappt.
Zu Port 16261 widersprechen sich die Quellen:
- pzwiki listet 16261 und 16262 beide als UDP (Community-Quelle: pzwiki).
- Andere Recherche (Storage-Guide-Projekt) fand 16261 als TCP (Community-Quelle: Storage-Guide-Recherche).
Heuristik dieses Projekts (gilt projektweit): 16261 in beiden
Protokollen freigeben (tcp + udp) und zusätzlich 16262/udp öffnen.
Damit ist beide Lesarten abgedeckt; ein zusätzlich geöffneter TCP-Port ist
risikoarm, ein fehlender Protokoll-Eintrag verhindert dagegen Verbindungen
(Heuristik).
Die Repo-Doku docs/02-setup-linux.md empfiehlt in ihrer Firewall-Sektion
lediglich 16261/udp und 16262/udp (Repo-Default) — wer ganz sichergehen
will, ergibt wie oben beschrieben das TCP-Äquivalent.
Empfehlung aus der Repo-Doku (docs/02, 1:1 — dort ohne den TCP-Zusatz):
sudo ufw allow 16261/udp && sudo ufw allow 16262/udp
sudo ufw allow from <deine-ip> to any port 27015 proto tcp # RCON nur internErgänzt um die Projekt-Heuristik (16261 auch als TCP):
sudo ufw allow 16261/tcpDer RCON-Eintrag zeigt das Muster: Verwaltungsports nur für bekannte IP(s) freigeben, nie weltweit (Heuristik/Best Practice).
Für Erreichbarkeit aus dem Internet (Repo-Doku docs/02, 1:1):
- UDP 16261 und 16262 auf die interne IP des Hosts weiterleiten
- Nach Projekt-Heuristik zusätzlich 16261/tcp weiterleiten (siehe Quellen-Konflikt oben)
- RCON 27015/tcp nicht weiterleiten (Heuristik/Best Practice)
Stabilität der Adresse (Heuristik): entweder dem Host eine feste interne IP zuweisen (DHCP-Reservierung) oder DynDNS einrichten, falls Spieler per Hostname verbinden sollen.
- RCON läuft auf
RCON_PORT(Repo-Default:27015, TCP), aktiviert perRCON_ENABLED=true(Repo-Default). Die Repo-Skripte nutzen RCON für In-Game-Ansagen (announce.sh) vor Updates/Stopps. - RCON nur lokal, aus dem eigenen Netz oder über VPN/SSH-Tunnel nutzen; der Port gehört nicht ins Port-Forwarding (Heuristik/Best Practice, konsistent mit docs/02).
- Server-Schutzmechanismen aus der Konfiguration (Repo-Defaults, Details in
Server-Konfiguration):
PingLimit=400(hohe Pings werden gekickt),DenyLoginOnOverloadedServer=true(keine Logins bei Überlast),MaxAccountsPerUser=1(ein Account pro Steam-User).
Port-Mapping aus docker/docker-compose.yml (1:1):
ports:
- "16261:16261/udp"
- "16262:16262/udp"
- "27015:27015/tcp"Beim Docker-Betrieb veröffentlicht Compose genau diese drei Ports; die
.env-Variablen GAME_PORT/DIRECT_PORT ändern das Mapping nicht
(Repo-Verhalten). systemd-Firewall- und UFW-Hinweise gelten analog, aber
Start/Stop laufen über docker compose, nicht über make start
(Docker-Betrieb).
Serverseite — ist der Port gebunden? (dieselbe Prüfung wie im
Healthcheck-Skript, das ss -ulnp nach :${GAME_PORT} durchsucht):
ss -lun | grep 16261 # UDP-Sockets zeigen
sudo ss -ulnp | grep 16261 # mit ProzessanzeigeTest-Paket per netcat (Heuristik — UDP-„Verbindungen" sind unbestätigt, ein fehlender Fehler ist kein Beweis):
nc -vzu <server-ip> 16261
nc -vzu <server-ip> 16262Clientseite:
- Project Zomboid starten → Join Server → Internet bzw. Favorites
-
Verbindenmit der Server-IP; bei gesetztemSERVER_PASSWORDwird das Join-Passwort abgefragt - Server nicht sichtbar?
Public=false(Repo-Default) versteckt den Server aus der öffentlichen Liste — direkte IP-Verbindung nutzen (Repo-Verhalten)
Weiter: Docker-Betrieb
Vertieft in Repo: docs/02-setup-linux.md (Firewall- und Router-Sektion).
Labels: Community-Quelle = extern belegt (Herkunft in Klammern, z. B. pzwiki, Steam-Diskussionen, GCP-Preisliste) · Repo-Default = steht genau so im Repo (Template, Skript oder .env.example) · Heuristik = begründete Empfehlung dieses Projekts, nicht extern verifiziert.
The Indie Stone (TIS) publiziert keine offiziellen Storage-/IOPS-/Performance-Specs — Zahlen in diesem Wiki nie als TIS-Anforderung lesen.
Inhalte zielen auf den B42-Stable-Branch: seit B42.20 der Default-Zweig in Steam, kein -beta-Opt-in nötig (Community-Quelle).
Details zu Labels, Quellen und Redaktionsregeln: Konventionen-und-Quellen.
Einstieg
Referenz
- Makefile-Referenz
- Cheatsheet-Tagesbetrieb
- ENV-Variablen
- Server-Konfiguration
- Admin-Befehle
- Mods-Referenz
- Spawn-System
- Skripte-Referenz
- systemd-Referenz
- Ports-und-Netzwerk
- SteamCMD-Referenz
Betrieb
- Wartung-und-Automatik
- Backup-und-Restore
- Updates-und-Rollback
- Monitoring-und-Alerts
- Sicherheit-und-Hardening
- Docker-Betrieb
- GCP-Failover
Tiefenwissen
- Modding-Workflow
- Performance-Guide
- Storage-und-Map-Streaming
- Hardware-Empfehlungen
- Troubleshooting
- Runbook-Raven-Creek
Meta