Skip to content

Runbook Raven Creek

ElGregor edited this page Aug 15, 2026 · 1 revision

Runbook: Raven Creek (B42) deployen

Home

Vollständiger Ablauf von null bis spielbar, inklusive der drei kritischen ini-Zeilen, der Map=-Prioritätsregeln und Troubleshooting für fehlende Spawn-Regionen. Geschätzte Dauer: 30–45 Minuten plus Mod-Downloads (Repo-Default aus docs/10). Hintergrund zu Koordinaten und Ordnernamen: Spawn-System.

Vertieft in Repo: docs/10-runbook-raven-creek.md

0. Voraussetzungen

Checkliste vor dem Start (Repo-Default aus docs/10):

  • Linux-Host, 12–16 GB RAM, NVMe (Details siehe Performance-Guide); RAM-Empfehlung ist eine Heuristik des Repos, keine TIS-Vorgabe
  • Repo geklont, .env ausgefüllt (cp .env.example .env) — siehe ENV-Variablen
  • Ports: UDP 16261/16262 freigegeben (Firewall + Router-Forwarding) — 16261 auch TCP freigeben (projektweite Heuristik), Details siehe Ports-und-Netzwerk
  • Pakete installiert: curl tar python3-yaml gettext-base

1. Mods konfigurieren

In mods.yaml müssen diese Einträge aktiv sein (Repo-Default, bereits so gesetzt): Raven Creek B42 (RavenCreekB42, Workshop 3484263516, enabled: true) samt Abhängigkeit damnlib sowie Spawn Selector (SpawnSelector, Workshop 3772052709) für die in-game-Auswahlkarte.

make mods    # validiert mods.yaml + generiert die drei ini-Zeilen

Output (config/generated/workshop-items.txt) — exakt diese drei Zeilen gehören in <SERVER>.ini (Repo-Default, aktueller Stand mit 8 aktiven Mods):

WorkshopItems=3171167894;3508537032;3484263516;2875848298;3772052709;3502080466;3490188370;3624308198
Mods=\damnlib;\NeatUI_Framework;\RavenCreekB42;\CommonSense;\SpawnSelector;\Neat_Crafting;\Project_Cook;\ProximityInventory4213
Map=Raven Creek B42;Muldraugh, KY

Was jede Zeile tut

Zeile Inhalt Steuert
WorkshopItems= numerische Workshop-IDs (aus URL) NUR den Download
Mods= Text-Mod-IDs (aus mod.info) das Laden + Load-Order
Map= interne Map-Ordnernamen welches Terrain die Welt nutzt

Alle drei müssen synchron sein: Download ohne Mods=-Eintrag = Mod liegt auf der Platte, wird aber nie geladen. Häufigster Fehler überhaupt (Community-Quelle: PZ-Community-Doku; docs/10).

Load-Order-Regeln (Mods=)

  • Reihenfolge in Mods= ist die Lade-Reihenfolge: Libraries/Frameworks zuerst, Content danach, QoL zuletzt (Generator: library → framework → map → gameplay → qol, Repo-Default)
  • Bei Konflikten gewinnt die spätere Mod (überschreibt frühere) (Community-Quelle: PZ-Community-Doku)
  • B42-Pflicht: Backslash \ vor jeder Mod-ID — der Generator setzt ihn (Repo-Default)
  • WorkshopItems=-Reihenfolge ist dagegen egal (nur Download) (Repo-Default)

Map=-Prioritätsregeln (kritisch)

  • Der Server liest von links nach rechts; frühere Maps gewinnen bei Zell-Überlappungen (Community-Quelle: Repo-Changelog 0.3.0)
  • Muldraugh, KY (Vanilla-Basismap) IMMER zuletzt — sonst überschreibt Vanilla die Mod-Karte komplett; der Generator hängt sie automatisch an (Repo-Default)
  • Trennzeichen ist NUR das Semikolon (Map-Namen dürfen Kommas enthalten: Muldraugh, KY)
  • Eintrag = interner Ordnername der Map, nicht der Anzeigename und nicht die Mod-ID

2. Map-Ordnernamen verifizieren (Pflicht-Schritt!)

Nach dem ersten Serverstart (Mod-Download abwarten):

ls ~/Steam/steamapps/workshop/content/108600/3484263516/mods/*/media/maps/

Erwarteter Output: genau ein Verzeichnis unter media/maps/ — entweder Raven Creek B42 oder RavenCreek. Beide sind bekannte Kandidaten für den Raven-Creek-B42-Port (Repo-Default aus docs/10): Raven Creek B42 stammt aus einer verifizierten B42.13-MP-Serverconfig, RavenCreek aus dem klassischen Namen bzw. dem B42-Kartenprojekt (auch docs/08 nennt RavenCreek als verifiziert — Community-Quelle: map.projectzomboid.com-B42-Pfad + Server-Configs). Treffen mehrere Ordner zu, gilt der, den das ls tatsächlich zeigt.

Der gefundene Name geht in:

  • mods.yamlmap_name: (für die Map=-Zeile)
  • spawns.yamlfolder: (für spawnregions)

Danach in dieser Reihenfolge:

make mods && make spawns          # 1. mods.yaml -> workshop-items.txt, spawns.yaml -> Lua
# 2. manuell: WorkshopItems=/Mods=/Map= aus config/generated/workshop-items.txt
#    in ${PZ_DATA_DIR}/Server/servertest.ini kopieren
#    (Repo-Stand: kein Automatismus; make render injiziert diese Zeilen NICHT;
#    ohne diesen Schritt lädt Raven Creek still nicht — siehe [[Architektur]]
#    „Datenfluss (a)" und [[Modding-Workflow]])
make render && make restart       # 3. Templates rendern, Server mit den neuen Zeilen starten

3. Spawn-System einrichten

make spawns    # spawns.yaml -> exakte Lua-Dateien
make render    # kopiert alles nach Zomboid/Server/ (Prefix = SERVER_NAME)

Erzeugt/kopiert (Repo-Default):

  • <SERVER>_spawnregions.lua — Regionen: 4 Vanilla-Städte + Raven Creek + Coop-Start
  • <SERVER>_ravencreek.lua — 4 eigene Coop-Punkte in verifizierten Zellen (worldX 17–24, worldY 58–68; Werte Repo-Default aus spawns.yaml; verifizierte Kartenzellen gesamt: x=16–25, y=56–69 — Community-Quelle: map_info.json, docs/08)

Prüfen: SpawnPoint=0,0,0 in der .ini muss bleiben (Repo-Default) — sonst werden alle Regionen ignoriert. Feinpositionen (posX/posY) auf map.projectzomboid.com verifizieren; Anleitung auf Spawn-System.

Hinweis zur Render-Reihenfolge (Repo-Default aus render-config.sh): existiert config/generated/spawns/, werden die generierten Dateien bevorzugt, andernfalls die Vorlagen aus config/spawns/.

4. Erster Boot + Verifikation

make start && make logs

Im Log nacheinander prüfen (Kriterien Repo-Default aus docs/10):

  1. Workshop: Download item 3484263516 ... → Mods werden gezogen
  2. Loading spawn regions → spawnregions.lua akzeptiert
  3. Kein ERROR / Exception / Lua-Fehler
  4. make status → Prozess + UDP 16261 gebunden

Dann Client-Test: neuen Charakter erstellen — die Spawn-Auswahl muss „Raven Creek" UND „Raven Creek - Coop Start" zeigen (Repo-Default-Kriterium aus docs/10). Die Gruppe wählt im Coop-Fall den Coop-Start; Spawn Selector zeigt die Punkte als Auswahlkarte (Community-Quelle: docs/08).

5. Troubleshooting: Spawn-Region fehlt

Tabelle 1:1 aus docs/10 (Repo-Default):

Symptom Ursache Fix
Raven Creek fehlt komplett Map=-Eintrag fehlt oder Muldraugh steht zuerst Map=-Zeile prüfen, Vanilla zuletzt
Region da, aber ohne Punkte wählbar file=-Pfad ≠ echter Ordnername Schritt 2: Ordnernamen prüfen
Coop-Start fehlt serverfile nicht kopiert make render erneut, Neustart
Spawn im Void/Wasser Zelle außerhalb x=16–25/y=56–69 nur verifizierte Zellen nutzen
Alle am selben Punkt SpawnPoint ≠ 0,0,0 in .ini SpawnPoint=0,0,0
Lua-Fehler beim Start Syntax (Komma/Quote/Casing) make spawns neu generieren
Mod lädt nicht ID in Mods= fehlt/falsch make mods, Log prüfen
Änderung wirkt nicht kein Neustart make restart

Weitere Diagnose-Methoden: Troubleshooting.

6. Rollback

Fehlschlag nach einer Änderung (Repo-Default aus docs/10):

git log                                        # letzten guten Stand finden
git revert <commit>                            # oder:
git checkout <commit> -- mods.yaml spawns.yaml
make mods && make spawns
# dann WorkshopItems=/Mods=/Map= aus config/generated/workshop-items.txt
# MANUELL in ${PZ_DATA_DIR}/Server/servertest.ini übernehmen (kein Automatismus)
make render && make restart

Bei Welt-Problemen: make restore (letztes pre-update-Backup zurückspielen). Backup-Strategie und Restore-Ablauf im Detail: Backup-und-Restore; der automatische Rollback-Pfad von make update ist auf Updates-und-Rollback beschrieben.


Weiter: Troubleshooting · Backup-und-Restore · Spawn-System

Clone this wiki locally