DayZ
| Platform | Support | Notes |
|---|---|---|
| Linux | ✅ Native | Recommended (optimal performance) |
| Windows | ✅ Native | Full support |
DayZ
DayZ is a hardcore open-world survival MMO with full Linux native support. This guide covers installing and managing a DayZ server on your DeluxHost VPS.
Requirements
DayZ servers run natively on Linux—no Wine or compatibility layers needed. Linux servers provide excellent performance and stability.
- RAM: 8 GB minimum
- CPU: 4 vCPU
- Storage: 30 GB SSD
- Bandwidth: 2–8 Mbps per player
- OS: Ubuntu 20.04+ or Debian 11+
Installation
1. Install SteamCMD
sudo apt update && sudo apt install -y steamcmd
2. Create a dedicated user
sudo useradd -m -s /bin/bash dayz
sudo su - dayz
3. Download the server
Use SteamCMD to download the DayZ server (AppID 223350):
steamcmd +login anonymous +app_update 223350 validate +quit
The server will install to ~/.local/share/Steam/steamapps/common/DayZServer. Note this path.
First download may take 20–30 minutes. Do not interrupt the process.
4. Navigate to the server directory
cd ~/.local/share/Steam/steamapps/common/DayZServer
Configuration
serverDZ.cfg
The main configuration file is serverDZ.cfg, located in the server root. Create or edit it:
// DayZ Server Configuration
hostname = "My DayZ Server";
password = "your_password";
passwordAdmin = "your_admin_password";
maxPlayers = 60;
verifySignatures = 2;
logFile = "DayZServer_x64.log";
motd[] = {"Welcome to My DayZ Server", "Stay alive!", "Teamkilling will result in a ban"};
motdInterval = 600;
instanceId = 1;
class Missions
{
class DayZSurvival
{
template = "dayzSurvival";
};
};
Key settings:
Profile directory
Create a profile directory for server data:
mkdir -p ~/.config/DayZ/Profiles
- hostname: Server name (appears in server browser)
- password: Join password (empty = public)
- passwordAdmin: Admin command password
- maxPlayers: Maximum concurrent players (60 typical)
- verifySignatures: 0=off, 1=warn, 2=enforce mod signature verification
- motd: Message of the day (array of strings)
- instanceId: Unique server ID (use 1 for single server)
Ports
Ensure these ports are open:
| Port | Protocol | Purpose |
|---|---|---|
| 2302 | UDP | Game traffic |
| 2303 | UDP | Game traffic |
| 2304 | UDP | Game traffic |
| 27016 | UDP | Steam query port |
Open firewall:
sudo ufw allow 2302/udp
sudo ufw allow 2303/udp
sudo ufw allow 2304/udp
sudo ufw allow 27016/udp
sudo ufw enable
Running the Server
Manual startup
cd ~/.local/share/Steam/steamapps/common/DayZServer
./DayZServer -config=serverDZ.cfg -port=2302 -profiles=~/.config/DayZ/Profiles
Systemd service (recommended)
Create /etc/systemd/system/dayz.service:
[Unit]
Description=DayZ Dedicated Server
After=network.target
[Service]
Type=simple
User=dayz
WorkingDirectory=/home/dayz/.local/share/Steam/steamapps/common/DayZServer
ExecStart=/home/dayz/.local/share/Steam/steamapps/common/DayZServer/DayZServer -config=serverDZ.cfg -port=2302 -profiles=/home/dayz/.config/DayZ/Profiles
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
Enable and start:
sudo systemctl daemon-reload
sudo systemctl enable dayz
sudo systemctl start dayz
Check status:
sudo systemctl status dayz
View logs:
sudo journalctl -u dayz -f
Mods
DayZ supports Steam Workshop mods. To install and manage mods:
Download mods via SteamCMD
steamcmd +login anonymous +app_update 223350 +workshop_download_item 221100 <MOD_ID> validate +quit
Replace <MOD_ID> with the Steam Workshop mod ID.
Configure server to load mods
Update serverDZ.cfg to include mods in the launch parameters. Modify the systemd service:
ExecStart=/home/dayz/.local/share/Steam/steamapps/common/DayZServer/DayZServer \
-config=serverDZ.cfg \
-port=2302 \
-profiles=/home/dayz/.config/DayZ/Profiles \
-mod=@modname1;@modname2;@modname3
Mods are prefixed with @ (e.g., @HEROS). Separate multiple mods with semicolons.
Find Workshop mods
DayZ mods are published on the Steam Workshop. Find the mod ID from the Steam Workshop URL:
https://steamcommunity.com/sharedfiles/filedetails/?id=<MOD_ID>
Popular DayZ mods include: @CF (Community Framework), @HEROS, @Expansion, and @BuilderItems. Check mod compatibility with your server version.
Admin and Whitelisting
Admin users
Place admin Steam64 IDs in adminlist.txt in the server root:
76561198123456789
76561198987654321
76561198555555555
Find your Steam64 ID at SteamID.io.
Whitelist
To enable whitelist-only servers, create whitelist.txt:
76561198123456789
76561198987654321
In serverDZ.cfg, set:
whitelistMode = 1;
BattlEye Anti-Cheat
DayZ uses BattlEye anti-cheat. BattlEye configuration is automatic, but you can manage bans:
Ban management
Bans are stored in ~/.config/DayZ/Profiles/BattlEye/bans.txt (automatically managed by BattlEye).
Ban a player in-game using admin console commands:
#kick PLAYER_ID
#ban PLAYER_ID
Save Files and Backups
Regular backups prevent loss of server data due to hardware failure or corruption.
Server data is stored in:
~/.config/DayZ/Profiles/
Backup regularly:
tar -czf dayz-backup-$(date +%Y%m%d_%H%M%S).tar.gz ~/.config/DayZ/Profiles/
Store backups externally or in cloud storage.
Server Updates
To update your server:
steamcmd +login anonymous +app_update 223350 validate +quit
sudo systemctl restart dayz
Check the update log:
sudo journalctl -u dayz -n 50
Always back up your server data before updating. DayZ updates are frequent and may change save formats.
Advanced Configuration
Custom mission templates
DayZ supports custom missions. Place mission files in:
~/.local/share/Steam/steamapps/common/DayZServer/missions/
Reference them in serverDZ.cfg:
class Missions
{
class MyCustomMission
{
template = "mycustommission";
};
};
Launch parameters
Additional useful launch parameters:
| Parameter | Purpose |
|---|---|
-config=<file> | Config file path |
-port=<port> | Game port |
-dologs | Enable logging |
-cpuCount=<n> | CPU threads (set to vCPU count) |
-autoInit | Auto-initialize on startup |
Update your systemd service with additional parameters as needed.
Monitoring
Monitor resource usage:
# Real-time stats
top -p $(pgrep -f DayZServer)
# Disk usage
du -sh ~/.local/share/Steam/steamapps/common/DayZServer/
du -sh ~/.config/DayZ/
# Network connections
netstat -tuln | grep -E '2302|2303|2304|27016'
Troubleshooting
Server not appearing in browser:
Cannot connect:
Server crashes:
High latency:
Mods not loading:
- Verify ports 2302–2304 and 27016 are open: sudo ufw status
- Ensure verifySignatures is set correctly in serverDZ.cfg
- Restart the service: sudo systemctl restart dayz
- Wait 2–3 minutes for server to appear in browser
- Check server logs: sudo journalctl -u dayz -n 100
- Verify password is correct
- Ensure firewall allows UDP traffic
- Check available disk space: df -h
- Monitor RAM usage: free -h
- Check logs for corruption: cat ~/.config/DayZ/Profiles/*.log
- Monitor CPU and network: top -p $(pgrep -f DayZServer)
- Reduce player count if undersized
- Check network connectivity from server: ping -c 3 8.8.8.8
- Verify mod folders exist: ls -la ~/.local/share/Steam/steamapps/workshop/content/221100/
- Check mod load order in launch parameters
- Check server logs for mod errors: sudo journalctl -u dayz -n 200 | grep -i mod
Windows Server Setup
Step 1: Download Server on Windows
steamcmd +force_install_dir "C:\DayZ-Server" +login anonymous +app_update 223350 validate +quit
Step 2: Create serverDZ.cfg
Create C:\DayZ-Server\serverDZ.cfg with same settings as Linux (see Configuration section above).
Step 3: Create Admin and Whitelist Files
Create C:\DayZ-Server\adminlist.txt:
76561198123456789
76561198987654321
Optional: Create C:\DayZ-Server\whitelist.txt for whitelist-only servers.
Step 4: Create Startup Batch
Create C:\DayZ-Server\start-server.bat:
@echo off
cd /d C:\DayZ-Server
DayZServer.exe -config=serverDZ.cfg -port=2302 -profiles=Profiles
pause
Step 5: Run as Service (Optional)
nssm install DayZServer "C:\DayZ-Server\DayZServer.exe" "-config=serverDZ.cfg -port=2302"
nssm start DayZServer
Tips & Tweaks
serverDZ.cfg Key Parameters
| Parameter | Value | Impact |
|---|---|---|
maxPlayers | 30-60 | Player limit (higher = more RAM) |
verifySignatures | 0-2 | 0=off, 1=warn, 2=enforce mod signatures |
motdInterval | 300-600 | Message rotation interval (seconds) |
instanceId | 1-N | Unique server identifier |
logFile | DayZServer.log | Server log file name |
Admin Commands and Tools
In-game console (accessible to admins):
| Command | Purpose |
|---|---|
#kick [player_id] | Remove player |
#ban [steam_id] | Ban player (persists in BattlEye) |
#monitor | View server stats |
#restart | Graceful restart notification |
DZSA (DayZ Server Admin) Tool:
Mod Management via DayZ Launcher
Players use DayZ Launcher to manage mods:
Server-side mod list in launch params:
-mod=@CF;@Expansion;@BuilderItems
Mods load in order; dependencies must be listed first.
BattlEye Anti-Cheat Setup
BattlEye automatically initializes on first run. To manage:
BattlEye ban format:
-76561198123456789 (Steam64 ID ban - persists after unban)
#76561198987654321 (Hwid ban)
Mission File Editing Basics
Custom mission files in missions/ directory:
missions/dayzSurvival/
├── init.c
├── mission.sqm
└── description.ext
Modify mission.sqm to customize:
- Download from https://github.com/Gr8Squirm/DZSA_Launcher
- Manage bans, kick players, and monitor server remotely
- Supports multiple servers
- Real-time player list and server info
- Create mod collection on Steam Workshop
- Players subscribe in DayZ Launcher
- Launcher automatically syncs with server
- Server loads mods matching client list
- Register server on BattlEye website (optional)
- Access BattlEye console via RCON
- Manage bans in ~/.config/DayZ/Profiles/BattlEye/bans.txt
- Spawn points
- Starting inventory
- Infected density
- Weather conditions
Next Steps
- Set up DZSA (DayZ Server Admin) for remote management
- Create custom missions with unique spawn scenarios
- Configure mod ecosystem with popular Community mods
- Set up Discord webhooks for player join/leave notifications
- Plan regular backup rotation with off-site storage
Related articles
CS2
How to install and configure a Counter-Strike 2 dedicated server on Linux VPS with SteamCMD
Palworld
Create a dedicated Palworld server on Linux with SteamCMD. Configuration, ports and automatic startup.
Rust
Install and manage a Rust server (Facepunch) on Linux with SteamCMD. Includes automatic updates, Oxide plugins and optimizations.
