Einen privaten DayZ-Server einrichten und verwalten
Par Benjamin D. · PDG
· Mis à jour le 13. September 2026 · Lecture 8 min
Inhaltsverzeichnis
Die DayZ Server Konfiguration entscheidet darüber, ob dein privates Survival-Projekt stabil läuft oder nach zwei Stunden im Desync versinkt. Die zentrale Datei heißt serverDZ.cfg, dazu kommen Mission-Ordner, Economy-Dateien und BattlEye. Dieser Leitfaden zeigt dir Parameter für Parameter, was wirklich zählt – und wie du Whitelist sowie Admin-Zugriff sauber aufziehst.
DayZ Server Konfiguration: Die serverDZ.cfg im Detail
Die serverDZ.cfg liegt im Stammverzeichnis der Serverinstallation und wird beim Start über den Parameter -config=serverDZ.cfg eingelesen. Änderungen greifen erst nach einem Neustart – ein Reload im laufenden Betrieb gibt es nicht. Arbeite deshalb grundsätzlich mit einer Kopie der Datei, bevor du experimentierst.
Grundgerüst einer funktionierenden Datei
hostname = "EU - Hardcore Chernarus";
password = "";
passwordAdmin = "EinSehrLangesAdminPasswort";
maxPlayers = 60;
verifySignatures = 2;
forceSameBuild = 1;
disableVoN = 0;
vonCodecQuality = 20;
disable3rdPerson = 0;
disableCrosshair = 0;
disablePersonalLight = 1;
serverTime = "SystemTime";
serverTimeAcceleration = 8;
serverNightTimeAcceleration = 4;
serverTimePersistent = 0;
guaranteedUpdates = 1;
loginQueueConcurrentPlayers = 5;
loginQueueMaxPlayers = 500;
instanceId = 1;
storageAutoFix = 1;
respawnTime = 5;
timeStampFormat = "Short";
logAverageFps = 60;
logMemory = 60;
logPlayers = 60;
logFile = "server_console.log";
adminLogPlayerHitsOnly = 0;
adminLogPlacement = 1;
adminLogBuildActions = 1;
adminLogPlayerList = 1;
enableCfgGameplayFile = 1;
allowFilePatching = 0;
simulatedPlayersBatch = 20;
multithreadedReplication = 1;
speedhackDetection = 1;
networkRangeClose = 20;
networkRangeNear = 150;
networkRangeFar = 1000;
networkRangeDistantEffect = 4000;
defaultVisibility = 1375;
defaultObjectViewDistance = 1375;
steamQueryPort = 2305;
class Missions
{
class DayZ
{
template = "dayzOffline.chernarusplus";
};
};
Die Parameter, die den Unterschied machen
| Parameter | Wirkung | Empfehlung |
|---|---|---|
verifySignatures | Prüft Signaturen der geladenen PBOs | Immer 2 lassen |
forceSameBuild | Nur identische Client-Version darf verbinden | 1 – verhindert Crashes nach Patches |
allowFilePatching | Erlaubt Clients mit entpackten Dateien | 0 im Live-Betrieb, 1 nur beim Mod-Testen |
serverTimeAcceleration | Faktor der Tageszeit (1 = Echtzeit) | 6–12 für ausgewogene Nächte |
serverNightTimeAcceleration | Zusatzfaktor nur nachts | 2–4, damit Nächte nicht ewig dauern |
simulatedPlayersBatch | Spieler pro Simulationsdurchlauf | Bei 60+ Slots auf 15–20 senken |
loginQueueConcurrentPlayers | Gleichzeitige Logins | 3–5, entlastet die Server-FPS beim Restart |
storageAutoFix | Repariert beschädigte Persistence-Daten | 1 aktiviert lassen |
Häufigster Fehler in der Praxis: eine fehlende Semikolon-Zeile oder ein deutsches Sonderzeichen im hostname. Die Datei muss als reines ANSI/UTF-8 ohne BOM gespeichert werden, sonst bricht der Parser ab und der Prozess startet mit Standardwerten. Prüfe nach jedem Edit die ersten 30 Zeilen der server_console.log.
Startparameter der Kommandozeile
./DayZServer -config=serverDZ.cfg -port=2302 \
-BEpath=battleye -profiles=profiles \
-dologs -adminlog -netlog -freezecheck \
-cpuCount=4 \
-mod=@CF;@VPPAdminTools \
-servermod=@ServerSideOnlyMod
Wichtig: -mod lädt clientseitig relevante Modifikationen, -servermod ausschließlich serverseitige. Wer beides vermischt, produziert die klassische „You cannot play/edit this mission“-Meldung beim Verbindungsversuch. Auf dem Panel von Fly-Serv trägst du diese Parameter direkt in den Startup-Variablen ein, ohne ein Startskript pflegen zu müssen.
Wenn du die Konfigurationsarbeit lieber auf vorbereiteter Ryzen-Hardware mit NVMe-Speicher und aktivem Anti-DDoS machst, statt eine Root-Umgebung selbst zu pflegen, findest du die passende Grundlage unter DayZ Server mieten.
Missionen laden und die Economy anpassen
Der Block class Missions verweist auf einen Ordner unter mpmissions/. Standard ist dayzOffline.chernarusplus, für Livonia entsprechend dayzOffline.enoch. Der Name im Template muss exakt dem Ordnernamen entsprechen – Groß- und Kleinschreibung inklusive.
Struktur des Mission-Ordners
init.c– Startlogik, Wetter, Spawn-Ausrüstung, Zeitsteuerungcfgeconomycore.xml– Einstiegspunkt der gesamten Economy, bindet zusätzliche Dateien eindb/types.xml– Loot-Mengen, Respawn-Zeiten, Lifetime pro Itemdb/events.xml– Fahrzeuge, Tiere, Infizierten-Events, Helikopter-Crashesdb/globals.xml– globale Limits wieZombieMaxCountoderCleanupLifetimeDeadPlayercfgspawnabletypes.xml– Attachments und Magazininhalte beim Spawncfgplayerspawnpoints.xml– Spawn-Punkte für frische und wiederbelebte Charaktere
Loot realistisch steuern
Ein Eintrag in types.xml sieht so aus:
<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 ist die Zielmenge auf der Karte, min der Schwellwert für Nachschub, lifetime die Sekunden bis zum Despawn. Wer alle Werte gleichzeitig verdoppelt, treibt die Anzahl aktiver Entities in die Höhe und drückt damit direkt die Server-FPS. Ändere in Schritten und beobachte den Wert serverFpsWarning im Log.
cfggameplay.json aktivieren
Mit enableCfgGameplayFile = 1 lädt der Server die Datei cfggameplay.json aus dem Mission-Ordner. Darüber steuerst du Basebuilding-Regeln, Sichtweiten der Objekte, Stamina-Verhalten oder das Deaktivieren der Karte im HUD:
{
"GeneralData": {
"disableBaseDamage": false,
"disableContainerDamage": false,
"disableRespawnDialog": false
},
"PlayerData": {
"disablePersonalLight": true,
"StaminaData": {
"sprintStaminaModifierErc": 1.0,
"staminaMax": 110.0
}
},
"WorldsData": {
"objectSpawnersArr": ["custom/mybase.json"]
}
}
Ein JSON-Syntaxfehler an dieser Stelle führt dazu, dass die Datei komplett ignoriert wird, ohne dass der Start abbricht. Validiere die Datei also vor jedem Neustart. Eine vollständige Parameterreferenz pflegt Bohemia Interactive im offiziellen DayZ Server Configuration Wiki.
Whitelist, Admin-Zugriff und Moderation per RCON
DayZ bringt keine native Whitelist-Funktion mit. In der Praxis gibt es drei gängige Wege, den Zugang zu beschränken.
1. Passwortschutz über serverDZ.cfg
Der schnellste Ansatz für eine geschlossene Runde: Setze password = "GeheimesPasswort";. Der Eintrag taucht weiterhin im Browser auf, aber nur Spieler mit Kenntnis des Passworts verbinden sich. Für eine Community mit zwanzig Leuten reicht das völlig aus.
2. Echte Whitelist über BEC
BattlEye Extended Controls liest eine Whitelist.txt mit GUIDs und kickt alles, was nicht darin steht. Die Konfiguration in Config.cfg:
[Bec]
Ip = 127.0.0.1
Port = 2310
BePath = /home/dayz/battleye
Admins = Admins.txt
Commands = Commands.txt
WhiteList = Whitelist.txt
WhiteListKickMsg = Du stehst nicht auf der Whitelist. Bewirb dich im Discord.
Timeout = 10
Die Spieler-GUID findest du im profiles/-Verzeichnis in den BattlEye-Logs oder in der adminlog. Trage sie zeilenweise ein, ein Reload per #reloadwhitelist ist über die Konsole möglich.
3. Admin-Rechte im Spiel
Mit gesetztem passwordAdmin loggst du dich im Spielchat ein:
#login DeinAdminPasswort
#players // Liste aller verbundenen Spieler
#kick NAME // Spieler entfernen
#lock // keine neuen Verbindungen
#unlock
#shutdown // sauberer Serverstopp
#restart // Mission neu laden
#logout
Für mehr Kontrolle – Teleport, Item-Spawn, Objekt-Editor, Ban-Verwaltung – kommen Mods wie VPPAdminTools oder Community Online Tools zum Einsatz. Deren Rechte werden über Permission-Dateien im profiles/-Ordner verteilt, typischerweise VPPAdminTools/Permissions/. Vergib immer rollenbasiert: Moderatoren brauchen Kick und Teleport, aber keinen Zugriff auf das Spawnen von Waffen.
BattlEye RCON absichern
# battleye/BEServer_x64.cfg
RConPassword LangesZufaelligesPasswort_MinDestens20Zeichen
RestrictRCon 0
RConPort 2310
Der RCON-Port sollte nur von vertrauenswürdigen IPs erreichbar sein. Wenn du die Umgebung selbst administrierst, sperrst du ihn per Firewall ab:
sudo ufw allow 2302:2306/udp
sudo ufw allow from 203.0.113.10 to any port 2310 proto udp
sudo ufw enable
sudo systemctl enable --now fail2ban
Ein schwaches RCON-Passwort ist der häufigste Einbruchsvektor bei Survival-Communities. Wechsle es nach jedem Personalwechsel im Admin-Team und teile es nie über den öffentlichen Discord.
Performance, Backups und Wartung im Alltag
DayZ ist stark single-thread-lastig. Eine hohe Taktfrequenz bringt mehr als viele Kerne – Ryzen-Plattformen mit NVMe-Speicher liefern hier spürbar bessere Server-FPS, gerade beim Laden der Persistence nach einem Neustart.
Server-FPS im Blick behalten
Setze in der Konfiguration:
serverFpsWarning = 15;
logAverageFps = 60;
Fällt der Wert dauerhaft unter 15, sind meist zu viele persistente Objekte im Spiel: verwaiste Basen, hunderte Fahrzeuge in events.xml oder ein überdimensioniertes Loot-Setup. Prüfe zuerst ZombieMaxCount in globals.xml und reduziere die Fahrzeugzahl, bevor du an der Hardware zweifelst.
Neustarts planen
Vier bis sechs Stunden Laufzeit sind ein bewährtes Intervall. Kündige Restarts über BEC-Scheduler an:
<Scheduler>
<job id="0">
<time>003:50:00</time>
<delay>000:00:00</delay>
<day>1,2,3,4,5,6,7</day>
<loop>1</loop>
<cmd>say -1 Neustart in 10 Minuten. Geht in Deckung.</cmd>
</job>
</Scheduler>
Was du sichern musst
mpmissions/dayzOffline.chernarusplus/storage_1/– die komplette PersistenceserverDZ.cfgund alle angepassten XML-Dateienprofiles/inklusive Admin-Permissions und Ban-Listenbattleye/BEServer_x64.cfg
Automatische Sicherungen laufen bei Fly-Serv im Hintergrund mit, ein manueller Snapshot vor jedem Mod-Update bleibt trotzdem Pflicht. Wer per Konsole sichert:
tar -czf /backups/dayz-$(date +%F-%H%M).tar.gz \
mpmissions/dayzOffline.chernarusplus/storage_1 \
serverDZ.cfg profiles
Mods sauber aktualisieren
Nach jedem größeren Update erst die Mod-Versionen abgleichen, dann die Keys in keys/ erneuern, erst danach starten. Eine veraltete .bikey führt bei verifySignatures = 2 zum sofortigen Kick aller Spieler. Ähnliche Workflows gelten übrigens auch für andere Bohemia-Titel – wer parallel einen Arma Reforger Server betreut, kennt das Prinzip. Einen Überblick über weitere Survival-Titel gibt Alle unsere Gameserver, und praktische Anleitungen findest du laufend im Fly-Serv Blog.
Fazit
Eine saubere DayZ Server Konfiguration ist Handarbeit: serverDZ.cfg validieren, Mission und Economy schrittweise anpassen, Admin-Zugriff über RCON absichern und regelmäßig sichern. Wer Änderungen einzeln testet und die Server-FPS mitliest, findet Fehlerquellen in Minuten statt Stunden – und bekommt eine Welt, die auch nach Wochen Laufzeit stabil bleibt.
FAQ
Warum greifen meine Änderungen in der serverDZ.cfg nicht?Die Datei wird ausschließlich beim Prozessstart gelesen. Stoppe den Server vollständig, speichere die Datei als UTF-8 ohne BOM und achte auf das abschließende Semikolon jeder Zeile. Prüfe danach die ersten Zeilen der server_console.log: Dort taucht der übernommene hostname auf. Steht dort ein alter Wert, lädt der Start eine andere Konfigurationsdatei als gedacht – kontrolliere den Pfad hinter -config=.
Stoppe den Server, sichere den Ordner storage_1 und lösche anschließend dessen Inhalt. Beim nächsten Start baut DayZ die Persistence neu auf, Basen und Fahrzeuge verschwinden, Loot spawnt frisch nach types.xml. Willst du nur Fahrzeuge zurücksetzen, reicht oft das Anpassen der events.xml plus ein Neustart, ohne die gesamte Speicherung zu löschen.
Diese Meldung erscheint bei forceSameBuild = 1, wenn Client- und Serverversion voneinander abweichen. Aktualisiere die Serverdateien über SteamCMD auf den aktuellen Branch und synchronisiere alle Mods samt zugehöriger .bikey-Dateien im Ordner keys/. Erst danach neu starten. Tritt das Problem nur bei einzelnen Spielern auf, hängen diese noch in einem älteren Steam-Download fest.