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

UrsacheWirkung
Zu viele Zombies (Events Infected*)Stark
Zu viele FahrzeugeStark
Hohe simulatedPlayersBatch bei wenig CPUMittel
Heavy Mods (Expansion, viele AI-Quests)Mittel
Große Loot-Mengen (zu viel nominal in types.xml)Mittel
Custom-Map mit vielen POIsSchwach bis Mittel
Stürme / Wetter-BerechnungSchwach

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_1 ausmisten 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):

  1. AI-Quests / Mission-Pakete mit dynamischen Spawns (z. B. Expansion AI, DayZ Editor Loader Missions)
  2. Trader-Mods mit hunderten Slot-Definitionen
  3. Custom-Maps mit dichten POIs
  4. 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?

  1. Server-FPS prüfen im Log oder via Admin-Tool
  2. CPU-Auslastung im RespawnHost-Panel checken
  3. RAM-Auslastung — Swap = Performance-Tod
  4. Netzwerk — ping vom Spieler zum Server, packet loss prüfen
  5. Mods deaktivieren und einzeln wieder hinzufügen, um den Übeltäter zu finden
  6. Events reduzieren in events.xml
  7. Restart-Schedule auf 4 Stunden setzen
  8. 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.