-
Notifications
You must be signed in to change notification settings - Fork 0
Server Konfiguration
← Home · Zurück: ENV-Variablen
Diese Seite ist die zentrale Referenz für alle Server-Optionen dieses Repos: welche Optionen existieren wirklich, welche Werte das Repo setzt, wie der Render-Workflow funktioniert — und welche Fantasie-Optionen aus Foren existieren NICHT.
Die Datei servertest.ini im Spielerverzeichnis wird nie von Hand editiert
(Repo-Workflow, siehe README: „Config-as-Code: .env + Templates ->
Server-Configs, nie von Hand editieren"). Der Weg ist immer:
-
.envanpassen (Werte wie Name, Passwörter, Ports — siehe ENV-Variablen) -
config/templates/servertest.ini.tmplanpassen (Optionen, die keine.env-Variable haben) -
make renderausführen (scripts/render-config.shfüllt das Template perenvsubstund schreibt das Ergebnis nach${PZ_DATA_DIR}/Server/) - Server neu starten (
make restart), damit die Änderungen greifen
Grund: Hand-Edits in der fertigen servertest.ini werden beim nächsten
make render kommentarlos überschrieben (Repo-Verhalten, 1:1 aus
scripts/render-config.sh).
Alle Zeilen aus config/templates/servertest.ini.tmpl, vollständig und in
drei Gruppen. Dynamische Werte (mit ${...}) kommen aus der .env —
der angegebene Beispielwert entspricht dem Repo-Default aus .env.example.
| Option | Repo-Default | Bedeutung | Quelle/Label |
|---|---|---|---|
| PublicName |
${PUBLIC_NAME} → ProjectZomboiD Coop
|
Servername in der Serverliste | Repo-Default |
| PublicDescription |
${DESCRIPTION} → Privater Coop-Server (Build 42)
|
Beschreibung in der Serverliste | Repo-Default |
| MaxPlayers |
${MAX_PLAYERS} → 8
|
Maximale Spielerzahl | Repo-Default |
| AdminPassword |
${ADMIN_PASSWORD} → CHANGE_ME
|
Passwort für In-Game-Admin-Funktionen | Repo-Default |
| Password |
${SERVER_PASSWORD} → CHANGE_ME
|
Join-Passwort für Spieler | Repo-Default |
| DefaultPort |
${GAME_PORT} → 16261
|
Haupt-Spielport | Repo-Default |
| UDPPort |
${DIRECT_PORT} → 16262
|
Zweiter Spiel-UDP-Port | Repo-Default |
| RCONPort |
${RCON_PORT} → 27015
|
TCP-Port für RCON-Fernsteuerung | Repo-Default |
| RCON |
${RCON_ENABLED} → true
|
RCON aktiviert | Repo-Default |
| SteamScoreboard | true |
Steam-Scoreboard/Serverliste-Funktionen | Repo-Default |
| Public | false |
Server nicht öffentlich in der Steam-Liste sichtbar | Repo-Default |
| PauseEmpty | true |
Simulation pausiert, wenn kein Spieler online | Repo-Default |
| PingLimit | 400 |
Maximaler Ping; höhere Pings werden gekickt | Repo-Default |
| DoLuaChecksum | true |
Lua-Checksummen-Prüfung gegen modifizierte Clients | Repo-Default |
| DenyLoginOnOverloadedServer | true |
Logins ablehnen, wenn der Server überlastet ist | Repo-Default |
| MaxAccountsPerUser | 1 |
Nur ein Account pro Steam-User auf diesem Server | Repo-Default |
| SpawnPoint | 0,0,0 |
Globaler Spawn-Punkt (0,0,0 = deaktiviert — Heuristik; Spawns laufen über das Spawn-System) | Wert: Repo-Default; Deutung 0,0,0: Heuristik |
| SaveWorldEveryMinutes | 15 |
Autosave-Intervall in Minuten | Repo-Default |
Werte = Repo-Default (1:1 aus dem Template). Die Wirksamkeits-Beschreibung
stammt aus der Repo-Doku docs/09-performance.md und Community-Wissen.
| Option | Repo-Default | Bedeutung | Quelle/Label |
|---|---|---|---|
| ZombieUpdateMaxHighPriority | 50 |
Maximal Anzahl Zombies mit voller Update-Rate | Wert: Repo-Default; Wirkung: Community-Quelle (Repo-Doku docs/09) |
| ZombieUpdateDelta | 0.5 |
Sekunden zwischen Zombie-Bulk-Updates | Wert: Repo-Default; Wirkung: Community-Quelle (Repo-Doku docs/09) |
| ZombieUpdateRadiusHighPriority | 10.0 |
Radius um Spieler mit voller Simulation (0.0 = altes Verhalten) | Wert: Repo-Default; Wirkung: Community-Quelle (Repo-Doku docs/09) |
| ZombieUpdateRadiusLowPriority | 45.0 |
Darunterliegender Radius, in dem Zombies nur mit niedriger Priorität aktualisiert werden | Wert: Repo-Default; Wirkung: Community-Quelle (Repo-Doku docs/09) |
| LightingUpdateInterval | 0.5 |
Intervall der B42-Echtzeit-Lichtpropagation; höher = weniger CPU, minimal verzögerte Lichtwechsel. Interner Default reportedly ~0.1 | Wert: Repo-Default; Default ~0.1: Community-Quelle (Repo-Doku docs/09 als Näherung) |
| HoursForWorldItemRemoval | 48 |
Welt-Items werden nach 48 In-Game-Stunden entfernt (Welt-Hygiene) | Wert: Repo-Default; Wirkung: Community-Quelle (Repo-Doku docs/09) |
| RemovePlayerCorpsesOnCorpseRemoval | true |
Spieler-Leichen werden bei Leichen-Entfernung mit entfernt | Repo-Default |
Hinweis zu LightingUpdateInterval: Der Template-Kommentar selbst warnt, dass
dies ein neuer B42-Key ist, der nach dem ersten Boot im Log verifiziert werden
sollte, dass der Build ihn akzeptiert (Repo-Default-Verhalten, 1:1 aus dem
Template-Kommentar).
Die Zombie-Update-Settings bewirken laut Repo-Doku, dass entfernte Zombies gebündelt und verzögert aktualisiert werden — bei 8 Spielern kaum sichtbar, bei großen Horden der Unterschied zwischen 60 und 20 TPS (Community-Quelle: Repo-Doku docs/09).
| Option | Repo-Default | Bedeutung | Quelle/Label |
|---|---|---|---|
| WorkshopItems | (leer im Template) | Steam-Workshop-IDs der Mods, semikolongetrennt | Repo-Default (generiert aus mods.yaml) |
| Mods | (leer im Template) | Interne Mod-IDs (aus mod.info), B42: mit Backslash-Prefix | Repo-Default (generiert aus mods.yaml) |
| Map | (leer im Template) | Interne Karten-Ordnernamen; Muldraugh, KY immer zuletzt |
Repo-Default (generiert aus mods.yaml) |
Diese drei Zeilen stehen im Template nur als Kommentar — sie werden von
scripts/mods-generate.sh aus mods.yaml erzeugt (Ausgabe:
config/generated/workshop-items.txt) und gehören in die fertige Server-INI
übernommen. Details: Mods-Referenz und Modding-Workflow.
Das Repo bringt ein Sandbox-Preset mit: config/presets/sandbox/coop-balanced.lua.
scripts/render-config.sh kopiert sie bei jedem make render als
${SERVER_NAME}_SandboxVars.lua ins Server-Verzeichnis (Repo-Verhalten, 1:1).
Designziel des Presets (1:1 aus dem Dateikopf): Top-Coop-Erfahrung für 8 Spieler, kein Sleep-Zwang, gemeinsame Safehouses, moderates XP, Loot-Respawn aus + kein Zombie-Respawn.
Die wichtigsten Werte (alle Repo-Default, 1:1 aus der Datei):
| Sandbox-Var | Wert | Bedeutung |
|---|---|---|
| DayLength | 3 |
2h Echtzeit pro In-Game-Tag — gut für Coop-Sessions (Dateikommentar) |
| StartMonth | 7 |
Startmonat Juli |
| StartTime | 2 |
Start 09:00 Uhr (Dateikommentar) |
| Zombies | 4 |
„Normal". ACHTUNG: Skala ist invertiert — 1=Insane ... 4=Normal, 5=Low (Dateikommentar; 3 wäre High = mehr CPU-Last) |
| PopulationMultiplier | 1.0 |
Gesamt-Population (laut docs/09: 4.0=Insane ... 0=None) |
| PopulationStartMultiplier | 0.8 |
Sanfterer Start (weniger Zombies am Anfang) |
| PopulationPeakMultiplier | 1.5 |
Höchst-Population am Peak-Day |
| ZombieLore Speed/Strength/Cognition |
2/2/3
|
Shamblers, coop-freundliche Werte (Dateikommentar) |
| RespawnHours | 0 |
Kein Zombie-Respawn — weniger Simulation (Dateikommentar) |
| FoodLoot / WeaponLoot / OtherLoot |
4 / 4 / 4
|
Seltenes Loot-Niveau, kein Respawn → gemeinsames Wirtschaften |
| LootRespawn | 1 |
Deaktiviert (Dateikommentar) |
| XpMultiplier | 1.5 |
Moderat beschleunigtes XP für die Gruppe |
| SkillBooksMultiplier | 1.5 |
Skillbücher ebenfalls 1.5-fach |
| SleepAllowed | false |
Kein erzwungener Gruppen-Sleep |
| Safehouse / PlayerSafehouse |
true / true
|
Safehouse-System aktiv (auch spieler-eigene) |
| SafehouseDaySurvivedToClaim | 3 |
3 überlebte Tage bis zum Safehouse-Claim |
| GlobalChat | true |
Globaler Chat an |
| PVP | false |
PvP aus — Coop-Server |
| SafetySystem | true |
Waffen-Safety-System an |
| CarSpawnRate | 3 |
Fahrzeuge-Spawn-Rate; bei Lag auf 2 drehbar (docs/09) |
| ChanceHasGas | 2 |
Wahrscheinlichkeit Restbenzin in Fahrzeugen |
| HoursForCorpseRemoval | 72 |
Leichen werden nach 3 Tagen entfernt (Welt-Hygiene) |
| BloodLevel | 1 |
Wenig Blut-Decals — spart langfristig RAM (Dateikommentar) |
Alle Werte dieser Tabelle: (Repo-Default). Feinjustierung direkt in der Preset-Datei möglich — sie wird 1:1 kopiert (Dateikommentar).
Mythos-Kasten — diese Optionen existieren NICHT
Die folgenden neun Namen kursieren in Foren und KI-generierten „Optimierungslisten" als angebliche Server-Optionen. Sie sind Fantasie- Namen und werden von Project Zomboid (B42) nicht als servertest.ini-Option erkannt:
LightingUpdateDelta,LightingFrameInterval,LightUpdateMs,ZombieLobjectManager,RearrangeZombieUpdate,OptimizeUpdateLoS,MaxZombies,MaxTicksPerFrame,ServerFpsWichtig zur Verwechslungsgefahr:
LightingUpdateInterval(mit „Interval") ist ein ANDERER, echter Name und wird vom Repo-Template gesetzt (siehe Tabelle oben). Die Fantasie-Varianten mit „Delta"/„Frame"/„Ms" gibt es dagegen nicht.Regel: Niemals Optionen ungeprüft aus Forenbeiträgen in die Server-Konfiguration kopieren. Echte Quelle für dieses Repo sind ausschließlich
config/templates/servertest.ini.tmplund die Repo-Doku unterdocs/. Unbekannte Keys werden vom Server schlicht ignoriert — die erhoffte Wirkung tritt nie ein (Heuristik).
Workflow (Repo-Standard):
# 1. Template oder .env anpassen
$EDITOR config/templates/servertest.ini.tmpl # oder .env
# 2. Rendern
make render
# 3. Neustart, damit der Server die neue Config liest
make restartWas scripts/render-config.sh dabei alles tut (1:1):
- Rendert alle
config/templates/*.tmplperenvsubstmit 12 Variablen aus der.envnach${PZ_DATA_DIR}/Server/(derzeit nurservertest.ini.tmpl→servertest.ini). Die 12 Variablen (1:1):SERVER_NAME,PUBLIC_NAME,DESCRIPTION,MAX_PLAYERS,ADMIN_PASSWORD,SERVER_PASSWORD,RCON_PASSWORD,RCON_PORT,RCON_ENABLED,RAM_XMX,GAME_PORT,DIRECT_PORT— siehe ENV-Variablen - Kopiert das Sandbox-Preset als
${SERVER_NAME}_SandboxVars.lua - Kopiert Spawn-Dateien: generierte Versionen aus
config/generated/spawns/(entstehen permake spawns) haben Vorrang, sonst die Vorlagen ausconfig/spawns/— Datei-Prefixservertestwird auf${SERVER_NAME}umbenannt
Achtung: Die Mods-Zeilen (WorkshopItems=/Mods=/Map=) kommen aus
make mods (mods.yaml), nicht aus dem Template — siehe Mods-Referenz.
- Performance-Guide — warum die Performance-Optionen so gesetzt sind, RAM/Heap-Tiers, Diagnose bei Lag
-
ENV-Variablen — alle
.env-Variablen, die ins Template fließen - Mods-Referenz — WorkshopItems/Mods/Map im Detail
-
Makefile-Referenz —
make renderund Nachbarn
Vertieft in Repo: docs/09-performance.md (Performance-Checkliste) und
config/templates/servertest.ini.tmpl (autoritative Optionsliste).
Weiter: Performance-Guide
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