DayZ-Server konfigurieren: serverDZ.cfg und Mods im Detail
Par Benjamin D. · PDG
· Mis à jour le 9. September 2026 · Lecture 8 min
Inhaltsverzeichnis
Die DayZ Server Konfiguration entscheidet darüber, ob sich deine Welt nach hartem Survival oder entspanntem Loot-Run anfühlt. Fast alles läuft über eine einzige Datei: serverDZ.cfg. Dazu kommen Startparameter, Mod-Ordner und die XML-Dateien der Economy. Dieser Leitfaden zeigt, welche Werte wirklich Wirkung zeigen, wie du Mods sauber lädst und wie du Änderungen ohne Datenverlust ausrollst.
DayZ Server Konfiguration: Struktur der serverDZ.cfg
Die serverDZ.cfg liegt im Stammverzeichnis der Serverinstallation, direkt neben der ausführbaren Datei. Sie ist eine reine Textdatei im Arma-Syntaxstil: ein Parameter pro Zeile, Wert nach dem Gleichheitszeichen, Semikolon am Ende. Strings gehören in Anführungszeichen, Zahlen nicht. Ein einziges fehlendes Semikolon reicht, damit der Prozess beim Start abbricht oder Defaults lädt.
Ein funktionierendes Grundgerüst sieht so aus:
hostname = "[EU] Chernarus - Hardcore Survival";
password = "";
passwordAdmin = "EinLangesAdminPasswort_2024!";
maxPlayers = 60;
verifySignatures = 2;
forceSameBuild = 1;
allowFilePatching = 0;
disableVoN = 0;
vonCodecQuality = 20;
disable3rdPerson = 1;
disableCrosshair = 1;
serverTime = "SystemTime";
serverTimeAcceleration = 8;
serverNightTimeAcceleration = 4;
serverTimePersistent = 1;
guaranteedUpdates = 1;
loginQueueConcurrentPlayers = 5;
loginQueueMaxPlayers = 500;
instanceId = 1;
storageAutoFix = 1;
respawnTime = 5;
lightingConfig = 0;
disablePersonalLight = 1;
disableBaseDamage = 0;
disableContainerDamage = 0;
disableRespawnDialog = 0;
timeStampFormat = "Short";
logAverageFps = 1;
logMemory = 1;
logPlayers = 1;
logFile = "server_console.log";
adminLogPlayerHitsOnly = 0;
adminLogPlacement = 1;
adminLogBuildActions = 1;
adminLogPlayerList = 1;
enableDebugMonitor = 0;
steamQueryPort = 2305;
class Missions
{
class DayZ
{
template = "dayzOffline.chernarusplus";
};
};
Die Klasse Missions ist der wichtigste Block
Der template-Eintrag zeigt auf den Ordner unter mpmissions/. Wer auf Livonia wechselt, trägt dayzOffline.enoch ein. Wer eine modifizierte Karte fährt, kopiert die Mission in einen eigenen Ordner (zum Beispiel dayzOffline.chernarusplus.custom) und verweist darauf – so überschreibt ein Update der Serverdateien deine Anpassungen nicht.
Wenn du dich lieber direkt um Loot-Tabellen und Basisregeln kümmerst statt um Hardware und Netzwerk, findest du bei Fly-Serv passende Instanzen mit NVMe-Speicher, Ryzen-CPUs und Anti-DDoS: DayZ Server mieten. Panelzugriff, Konsole und automatische Sicherungen sind dabei bereits Teil der Verwaltung.
Spielerzahl, Tageszeit und Persistenz in der serverDZ.cfg steuern
maxPlayers realistisch wählen
maxPlayers ist kein reiner Zahlenwert, sondern eine CPU-Entscheidung. DayZ skaliert stark über Einzelkernleistung: Jeder zusätzliche Spieler bringt Netzwerk-Replikation, Infizierten-Simulation und Item-Persistenz mit sich. Auf einer Instanz mit hoher Taktfrequenz laufen 60 bis 80 Slots auf Chernarus stabil, sofern die Economy nicht zusätzlich aufgebläht ist. Wer 100+ Slots fährt und gleichzeitig ZombieMaxCount hochdreht, sieht Server-FPS unter 20 – und damit Desync beim Nahkampf.
Praktische Faustregel: Starte mit einem konservativen Wert, beobachte über logAverageFps = 1 die Server-FPS im Log und erhöhe schrittweise. Fällt der Wert unter 25 bei voller Auslastung, ist die Grenze erreicht.
Tageszeit und Beschleunigung
Drei Parameter steuern den Zyklus. serverTime setzt die Startzeit ("SystemTime" oder ein fester Wert wie "2024/06/21/09/00"). serverTimeAcceleration multipliziert den Zeitfluss, gültig von 0.1 bis 64. serverNightTimeAcceleration wirkt zusätzlich, aber ausschließlich während der Nacht.
| Ziel | serverTimeAcceleration | serverNightTimeAcceleration | Ergebnis |
|---|---|---|---|
| Realistisch | 1 | 1 | 24 h Echtzeit pro Ingame-Tag |
| Ausgewogen | 8 | 4 | Tag ca. 2 h, Nacht deutlich kürzer |
| Kurze Sessions | 12 | 8 | Tag ca. 1 h 20, Nacht ca. 10 min |
| Dauerhaft hell | 4 | 64 | Nacht praktisch übersprungen |
Wichtig: serverTimePersistent = 1 speichert die Uhrzeit über Neustarts hinweg. Steht der Wert auf 0, springt die Welt nach jedem Restart auf den in serverTime definierten Punkt zurück. Für Communities mit geplanten Neustarts alle vier Stunden ist Persistenz meist die bessere Wahl, sonst herrscht dauerhaft Morgen.
Sichtweite, Licht und Netzwerkbereiche
lightingConfig = 0 bedeutet helle Nächte (Vanilla-freundlich), 1 steht für die dunkle Variante, bei der ohne Lichtquelle kaum etwas erkennbar ist. Kombiniert mit disablePersonalLight = 1 ergibt das echte Nachtangst – rechne aber mit Spielerabwanderung, wenn die Nacht zu lang ist.
Die Netzwerkparameter beeinflussen Bandbreite und CPU-Last spürbar:
networkRangeClose = 20;
networkRangeNear = 150;
networkRangeFar = 1000;
networkRangeDistantEffect = 4000;
defaultVisibility = 1375;
defaultObjectViewDistance = 1375;
multithreadedReplication = 1;
speedhackDetection = 10;
networkRangeFar auf 2000 zu setzen wirkt verlockend für Sniper-Gameplay, verdoppelt aber das Datenvolumen pro Client. Bei knapper Server-Leistung ist der Standardwert die sicherere Basis.
Mods einbinden und Startparameter richtig setzen
Ordnerstruktur und Keys
Jeder Mod liegt als eigener Ordner mit @-Präfix im Serververzeichnis, zum Beispiel @CF, @VPPAdminTools oder @BuilderItems. Aus jedem Mod-Ordner muss die .bikey aus dem Unterordner keys/ in das zentrale keys/-Verzeichnis des Servers kopiert werden. Fehlt der Key, lehnt verifySignatures = 2 jeden Client mit diesem Mod ab.
Mods lädst du über SteamCMD (Workshop-App-ID 221100) oder direkt über den Dateimanager des Panels:
steamcmd +force_install_dir /home/container/dayz \
+login DEIN_STEAM_ACCOUNT \
+workshop_download_item 221100 1559212036 \
+quit
Startparameter
Die Mod-Liste gehört nicht in die serverDZ.cfg, sondern in die Startzeile. Reihenfolge ist relevant: Framework-Mods wie CF zuerst, abhängige Mods danach.
./DayZServer \
-config=serverDZ.cfg \
-port=2302 \
-BEpath=battleye \
-profiles=profiles \
-mod=@CF;@Community-Online-Tools;@BuilderItems \
-servermod=@AdminLogTool \
-dologs -adminlog -netlog -freezecheck
-mod= lädt clientseitige Mods, die jeder Spieler ebenfalls abonniert haben muss. -servermod= lädt Inhalte, die nur serverseitig laufen und beim Client keine Anforderung erzeugen. Im Panel trägst du diese Werte in den Startparametern ein; ein Neustart über die Konsole übernimmt sie.
Mod-XML zusammenführen
Mods, die neue Items mitbringen, liefern eigene types.xml-Dateien. Diese müssen in der cfgeconomycore.xml registriert werden, sonst spawnt kein einziges Item:
<economycore>
<classes>
<rootclass name="DefaultWeapon" />
</classes>
<defaults></defaults>
<ce folder="custom_types">
<file name="builderitems_types.xml" type="types" />
<file name="custom_events.xml" type="events" />
</ce>
</economycore>
Der Ordner custom_types liegt dabei innerhalb deiner Mission unter db/ beziehungsweise direkt im Missionsordner. Halte Mod-Inhalte immer getrennt von der Vanilla-types.xml – das erspart dir bei jedem Spielupdate stundenlanges Zusammenführen. Details zur Syntax dokumentiert das offizielle Bohemia-Wiki.
Loot und Economy: types.xml, events.xml und globals.xml
types.xml verstehen
Die types.xml ist das Herz des Loot-Systems. Jeder Eintrag beschreibt ein Item mit Zielmenge, Lebensdauer und Spawnregeln:
<type name="M4A1">
<nominal>4</nominal>
<lifetime>7200</lifetime>
<restock>1800</restock>
<min>2</min>
<quantmin>-1</quantmin>
<quantmax>-1</quantmax>
<cost>100</cost>
<flags count_in_cargo="0" count_in_hoarder="0"
count_in_map="1" count_in_player="0" crafted="0" deloot="1"/>
<category name="weapons"/>
<usage name="Military"/>
</type>
- nominal: angestrebte Anzahl in der Welt. Der Wert 0 deaktiviert das Item faktisch.
- min: Untergrenze, ab der die Economy nachliefert.
- lifetime: Sekunden, bis ein unberührtes Item despawnt.
- restock: Wartezeit in Sekunden vor dem Nachspawnen; 0 bedeutet sofort.
- usage: Zonentyp (Military, Police, Farm, Village, Industrial …).
- tier: Loot-Stufe der Region, relevant für hochwertige Ausrüstung.
Wer den Loot spürbar erhöhen will, verändert nominal und min gemeinsam. Nur nominal anzuheben bringt wenig, weil der Nachschub erst unterhalb von min greift. Und übertreibe es nicht: Zehntausende persistente Objekte drücken die Server-FPS und verlängern jeden Neustart.
events.xml für dynamische Ereignisse
Helikopter-Wracks, Polizeiautos, Tierherden und Infizierten-Gruppen laufen über events.xml. Der Aufbau ist identisch aufgebaut wie bei Items, arbeitet aber mit nominal, min, max und einem lifetime-Wert pro Event:
<event name="StaticHeliCrash">
<nominal>6</nominal>
<min>4</min>
<max>8</max>
<lifetime>1800</lifetime>
<restock>0</restock>
<saferadius>500</saferadius>
<distanceradius>800</distanceradius>
<active>1</active>
</event>
Mehr Heli-Crashes bedeuten mehr PvP-Hotspots, aber auch mehr militärische Ausrüstung im Umlauf. Passe parallel die lifetime der dort spawnenden Waffen an, sonst kippt die Balance innerhalb weniger Tage.
globals.xml: Infizierte, Tiere und Aufräumzyklen
In globals.xml stehen die weltweiten Grenzwerte. Besonders relevant sind ZombieMaxCount, AnimalMaxCount, CleanupLifetimeDeadPlayer und TimeLogin. Ein reduzierter ZombieMaxCount entlastet die CPU sofort und ist der schnellste Hebel, wenn die Server-FPS bei voller Spielerzahl einbrechen.
Administration, Absicherung und Fehlersuche
Zugänge und Rechte sauber trennen
Setze für passwordAdmin eine lange, zufällige Zeichenkette und nutze sie nicht doppelt für RCON oder Panel. BattlEye bringt mit BEServer_x64.cfg einen eigenen RCON-Zugang mit – auch dort gehört ein separates Passwort hin. Wer mit mehreren Moderatoren arbeitet, legt im Pterodactyl-Panel Unterbenutzer mit begrenzten Rechten an, statt Hauptzugangsdaten weiterzugeben.
allowFilePatching = 0 sollte der Standard bleiben. Der Wert 1 erlaubt Clients das Laden ungeprüfter Dateien und wird nur für bestimmte Entwickler-Setups gebraucht.
Sicherungen vor jeder Änderung
Bevor du types.xml oder die Mission anfasst, ziehe eine Sicherung des kompletten mpmissions-Ordners inklusive storage_1. Genau dort liegen Basen, Fahrzeuge und Container. Eine defekte XML-Datei kann die Economy komplett blockieren – dann spawnt nichts mehr, und die einzige schnelle Rettung ist das Zurückspielen des letzten Stands. Automatische Sicherungen im Panel nehmen dir diesen Schritt weitgehend ab, ein manueller Snapshot vor größeren Eingriffen bleibt trotzdem sinnvoll.
Typische Fehlerbilder
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Server erscheint nicht in der Liste | steamQueryPort blockiert oder falsch | Port 2305 (bzw. Spielport +3) prüfen und freigeben |
| Client wird beim Beitritt getrennt | Fehlende .bikey oder Mod-Version weicht ab | Keys kopieren, Mods auf identischen Stand bringen |
| Kein Loot in der Welt | Syntaxfehler in types.xml | XML validieren, Log auf „Cannot open file" prüfen |
| Uhrzeit springt nach Neustart | serverTimePersistent = 0 | Auf 1 setzen und neu starten |
| Basen nach Neustart verschwunden | storage-Ordner beschädigt oder instanceId geändert | instanceId zurücksetzen, Sicherung einspielen |
| Starke Desync bei Kämpfen | Zu hohe Objektzahl oder Netzwerkreichweite | ZombieMaxCount senken, networkRangeFar reduzieren |
Logs auswerten
Mit -dologs -adminlog -netlog schreibt DayZ nach profiles/. Die script_*.log zeigt Fehler aus Mods, die DayZServer_x64_*.RPT enthält Startprobleme und Crashes. Wer über SSH arbeitet, verfolgt sie live:
tail -f profiles/script_2024-06-21_18-30-00.log
Im Panel reicht die Live-Konsole für dieselbe Aufgabe. Weitere Konfigurationsleitfäden zu anderen Survival-Titeln findest du im Fly-Serv Blog, und einen Überblick zu allen unterstützten Spielen unter Alle unsere Gameserver. Wer parallel eine Militär-Sim betreibt, findet vergleichbare Missionslogik beim Arma Reforger Server.
Fazit
Eine saubere DayZ Server Konfiguration ist Handarbeit: serverDZ.cfg für Regeln und Zeitfluss, Startparameter für Mods, XML-Dateien für Loot und Events. Ändere immer nur wenige Werte gleichzeitig, sichere vorher den Missionsordner und beobachte anschließend die Server-FPS im Log. So bleibt deine Welt spielbar, stabil und genau so hart, wie du sie haben willst.
FAQ
Warum spawnt nach dem Bearbeiten der types.xml gar kein Loot mehr?In fast allen Fällen liegt ein XML-Syntaxfehler vor: ein nicht geschlossenes Tag, ein doppelter Item-Name oder ein ungültiges Zeichen. Die Economy bricht dann komplett ab. Prüfe die Datei mit einem XML-Validator und durchsuche die Logs im Ordner profiles/ nach Zeilen mit „Cannot open file" oder „unexpected". Nach der Korrektur ist ein vollständiger Neustart nötig.
Der Multiplikator teilt die 24 Ingame-Stunden: Bei Wert 8 vergeht ein kompletter Zyklus in drei Echtzeitstunden. Mit zusätzlichem serverNightTimeAcceleration = 4 wird ausschließlich der Nachtabschnitt nochmals um Faktor 4 beschleunigt, sodass die Nacht rund 20 bis 25 Minuten dauert. Der zulässige Bereich beider Werte liegt zwischen 0.1 und 64.
Nur die Mods aus dem Parameter -mod=. Alles, was über -servermod= geladen wird, lä