DayZ Server Performance optimieren
Server-FPS, Netzwerk-Tuning, BattlEye, Mod-Auswahl: Wie du deinen DayZ Server flüssig und stabil betreibst.
DayZ Server Performance optimieren
DayZ ist als Spiel anspruchsvoll — als Server doppelt. Single-Thread-CPU-Last, große Maps und Mod-Loading sind die typischen Bremsen. Dieser Guide zeigt, wo du sinnvoll tunen kannst.
Die wichtigste Kennzahl: Server-FPS
DayZ-Server laufen idealerweise bei 30-60 Server-FPS. Fällt der Wert dauerhaft unter 15, spüren Spieler Desync (Türen reagieren nicht, Schüsse treffen nicht, Zombies bleiben hängen).
Server-FPS lassen sich aus dem Console-Log lesen:
fps=42, mem=…, recv=…, sent=…
Mit Tools wie BEC oder VPP-Admin Tools siehst du den Wert live.
Was Server-FPS am stärksten drückt
| Ursache | Wirkung |
|---|---|
Zu viele Zombies (Events Infected*) | Stark |
| Zu viele Fahrzeuge | Stark |
Hohe simulatedPlayersBatch bei wenig CPU | Mittel |
| Heavy Mods (Expansion, viele AI-Quests) | Mittel |
Große Loot-Mengen (zu viel nominal in types.xml) | Mittel |
| Custom-Map mit vielen POIs | Schwach bis Mittel |
| Stürme / Wetter-Berechnung | Schwach |
Tuning-Schritte
1. CPU-Single-Thread maximieren.
DayZ profitiert von hohem Boost-Takt, nicht von vielen Kernen. RespawnHost setzt AMD Ryzen 9 9950X / 7950X mit Boost bis 5.7 GHz ein — das ist bewusst gewählt. Wenn du Self-Hosted bist, gilt: lieber 8 Kerne mit 5 GHz als 32 Kerne mit 3 GHz.
2. multithreadedReplication = 1 aktivieren.
In der serverDZ.cfg schaltet das die Multi-Thread-Netzwerk-Replikation ein und entlastet den Hauptthread.
multithreadedReplication = 1;
3. simulatedPlayersBatch an die CPU anpassen.
simulatedPlayersBatch = 20;
Standard 20 ist konservativ. Bei starker CPU und 40-60 Spielern kannst du auf 30 hochgehen. Wenn die Server-FPS einbrechen, wieder runter.
4. Netzwerk-Reichweiten reduzieren, wenn nötig.
networkRangeClose = 20;
networkRangeNear = 150;
networkRangeFar = 1000;
networkRangeDistantEffect = 4000;
Die Standardwerte sind ausgewogen. Senke networkRangeFar und networkRangeDistantEffect, wenn der Bandbreiten-Bedarf zu hoch ist (60+ Spieler-Server). Achtung: zu niedrig macht Schüsse aus der Ferne unhörbar.
5. Events runterskalieren.
Mehr Zombies = mehr KI-Berechnung. In events.xml reduziere nominal für InfectedArmy, InfectedCity, InfectedFarm etc. um 25-40 %, wenn deine FPS leiden.
6. Loot-Mengen kontrollieren.
types.xml: Senke übertriebene nominal-Werte. Eine Map muss nicht 200 AKMs gleichzeitig vorhalten.
BattlEye Performance
BattlEye läuft als separater Prozess und prüft Spieler-Eingaben. Der Overhead ist gering (~3-5 % CPU), in fast allen Fällen vertretbar.
Filter-Datei scripts.txt darf nicht zu viele Mod-Ausnahmen enthalten — jede Regel kostet Mikrosekunden bei jeder Spieler-Aktion. Lade nur Filter, die deine Mods wirklich brauchen.
Persistence-Performance
Der storage_1-Ordner wächst mit der Zeit. Sehr große Persistence-Dateien (>500 MB) verlangsamen Restarts.
Wartung:
- Regelmäßig Spieler-Lager wipen, die seit 30+ Tagen nicht besucht wurden (
storage_1ausmisten geht nur manuell oder via Mods wie ExpansionAreas) - Map-Wipes alle 2-4 Monate sind in der Community akzeptiert
- Vor jedem Wipe ein Backup machen
Mod-Auswahl als Performance-Hebel
Faustregel: Jede aktive Mod kostet Performance. Auch “kleine” Mods schreiben in den Spawn-Loop oder das Animation-System.
Performance-Killer (in absteigender Reihenfolge):
- AI-Quests / Mission-Pakete mit dynamischen Spawns (z. B. Expansion AI, DayZ Editor Loader Missions)
- Trader-Mods mit hunderten Slot-Definitionen
- Custom-Maps mit dichten POIs
- Wetter-Mods mit Echtzeit-Effekten
Deaktiviere zur Diagnose schrittweise Mods und beobachte Server-FPS.
Restart-Schedule
DayZ profitiert von regelmäßigen Restarts — der Server-Prozess sammelt über Stunden RAM-Fragmentierung an. Empfehlungen:
- 4-Stunden-Restart auf großen Servern (60+ Spieler)
- 6-Stunden-Restart auf mittleren Servern
- 12-Stunden-Restart auf kleinen Vanilla-Servern
Setze Restarts mit BEC (per Schedule.xml) oder über das RespawnHost-Panel automatisch.
Beispiel BEC-Schedule:
<job id="0" day="*" hour="*/4" minute="0" delay="600" loop="1" cmd="say -1 Server restart in 10 minutes" />
<job id="1" day="*" hour="*/4" minute="55" delay="0" loop="1" cmd="#shutdown" />
Checklist: Mein Server lagt — was tun?
- Server-FPS prüfen im Log oder via Admin-Tool
- CPU-Auslastung im RespawnHost-Panel checken
- RAM-Auslastung — Swap = Performance-Tod
- Netzwerk — ping vom Spieler zum Server, packet loss prüfen
- Mods deaktivieren und einzeln wieder hinzufügen, um den Übeltäter zu finden
- Events reduzieren in
events.xml - Restart-Schedule auf 4 Stunden setzen
- Persistence-Größe prüfen — ggf. Wipe oder Aufräumen
FAQ
Frage: Warum laufen DayZ-Server nicht auf vielen Kernen?
Die Engine ist historisch single-thread-orientiert. multithreadedReplication lagert Netzwerk-Code aus, der Hauptloop bleibt aber single-thread. Bohemia hat hier in den letzten Jahren mehr parallelisiert, aber CPU-Kerne über 4-6 bringen wenig.
Frage: Wie viele Spieler verträgt ein Server “wirklich”?
Bei Vanilla mit guter CPU 60-80 Spieler stabil. Mit Heavy Mods sinkt das auf 40-50. Mehr ist möglich, aber Server-FPS leiden meist sichtbar.
Frage: Was bedeutet “Desync” konkret?
Spieler-Aktionen erreichen den Server zu spät oder zu selten. Symptome: Türen öffnen mit Verzögerung, Schüsse treffen nicht, Zombies frieren ein, Items verschwinden. Ursache ist meistens niedrige Server-FPS oder Bandbreiten-Probleme.
Frage: Brauche ich freezecheck als Startparameter?
Ja, das -freezecheck Flag erkennt eingefrorene Server und triggert einen Crash-Dump für Diagnose. RespawnHost setzt das standardmäßig.
Frage: Sollte ich BattlEye deaktivieren, um Performance zu sparen?
Nein. Der CPU-Overhead ist marginal (3-5 %), und ohne BattlEye wird dein Server zur Cheater-Spielwiese. Performance-Gewinn lohnt nicht.
Frage: Hilft eine schnellere SSD?
Bei Persistence-Schreibzyklen ja — gerade beim Server-Start und bei Spieler-Logins. RespawnHost nutzt NVMe-SSDs, das ist optimal.
Frage: Mein Server läuft gut, hat aber abends Lag-Spikes — woher?
Wahrscheinlich Persistence-Saves alle paar Minuten. Bei vielen Spielern und großen storage_1-Ordnern kostet jeder Save kurz Performance. Das ist normal. Anhaltend? Persistence aufräumen oder mehr CPU-Reserve einplanen.
Frage: Kann ich simulatedPlayersBatch zu hoch setzen?
Ja. Werte über 30 lassen die CPU-Single-Thread-Auslastung schnell auf 100 % gehen. Beobachte die Server-FPS und gehe nur hoch, wenn dein System Reserve hat.