Server Performance Tuning and Player Count Scaling
Improve server frame time and stability by tuning CPU count flags, FPS limits, network bandwidth, and view distance settings.
Overview
DayZ server performance degrades predictably as player count increases. The main levers are CPU thread allocation, FPS cap, view distance, and network bandwidth. This guide covers the key tuning parameters and recommended values for common player counts.
CPU Thread Allocation
The -cpuCount startup flag sets how many CPU threads the server uses for simulation tasks:
-cpuCount=4
| Player Count | Recommended -cpuCount |
|---|---|
| Up to 32 | 2–4 |
| 33–64 | 4 |
| 65–128 | 8 |
| 128+ | 8–12 |
The default (no flag) is auto-detect, which often over-provisions threads and causes scheduler contention. Setting it explicitly is always recommended on shared hosting.
Add the flag in your Pterodactyl/WISP startup parameters line, alongside other flags:
-cpuCount=4 -limitFPS=60 -config=serverDZ.cfg
FPS Cap
The server target FPS controls how often the simulation ticks. Higher FPS means more accurate physics and hit detection but higher CPU cost:
-limitFPS=60
| Use Case | Recommended -limitFPS |
|---|---|
| Budget/small server | 40–60 |
| Standard 40–64 player | 60 |
| High-performance 100+ player | 80–100 |
| Default (no flag) | 200 (too high for most hardware) |
Running at 200 FPS default wastes CPU cycles. Setting -limitFPS=60 is the single most impactful change for stability on most hosted servers.
View Distance
Set in serverDZ.cfg:
viewDistance = 2500;
lightingConfig = 1;
viewDistance affects how far the server simulates entities and broadcasts state to clients. Values above 2500 significantly increase per-player CPU and bandwidth costs. Recommended range: 1500–2500.
Network Bandwidth
DayZ uses approximately 1.5 Mbps per connected player for normal gameplay. At full capacity:
| Players | Estimated Bandwidth |
|---|---|
| 20 | ~30 Mbps |
| 40 | ~60 Mbps |
| 64 | ~96 Mbps |
| 100 | ~150 Mbps |
The server's network uplink must sustain these rates. If bandwidth is saturated, players experience rubber-banding and delayed loot interactions.
serverDZ.cfg Performance Settings
maxPlayers = 60;
viewDistance = 2500;
disableVoN = 0;
networkRangeClose = 20;
networkRangeFar = 100;
networkRangeDistantEffect = 1000;
networkRangeClose and networkRangeFar control the radius within which player positions are broadcast. Smaller values reduce CPU and bandwidth at the cost of update frequency at range.
RAM and Storage
DayZ server memory usage scales with player count and mod load:
- Base server (vanilla): ~2–3 GB RAM
- Each 10 mods adds approximately 200–400 MB
- Persistent storage I/O is light; SSD is beneficial but not critical
Diagnosing Performance Issues
Check server_profile/logs/scheduler.log for frame timing:
Frame: 58ms (avg), 120ms (max)
Frames over 100ms indicate the server is behind its target tick rate. Common causes:
- Too many mods (each mod adds overhead)
nominalloot counts set too high intypes.xml- High player count with low
-cpuCount - Community Framework mods (CF adds ~50–100ms overhead baseline)
Mod Overhead
Each mod adds SQF execution overhead. A vanilla server at 60 players runs cleanly on 4 cores. The same server with 15 mods including Community Framework may require 8 cores to maintain stable frame time.
Profile by removing mods one at a time and observing scheduler.log frame times.