Gaming Servers

DayZ

Install and configure a DayZ dedicated server on Linux

Platform Support

PlatformSupportNotes
Linux✅ NativeRecommended (optimal performance)
Windows✅ NativeFull 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

  • RAM: 8 GB minimum
  • CPU: 4 vCPU
  • Storage: 30 GB SSD
  • Bandwidth: 2-8 Mbps per player
  • OS: Ubuntu 20.04+ or Debian 11+

DayZ servers run natively on Linux, no Wine or compatibility layers needed. Linux servers provide excellent performance and stability.

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:

  • 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)

Profile directory

Create a profile directory for server data:

mkdir -p ~/.config/DayZ/Profiles

Ports

Ensure these ports are open:

PortProtocolPurpose
2302UDPGame traffic
2303UDPGame traffic
2304UDPGame traffic
27016UDPSteam 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

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:

ParameterPurpose
-config=<file>Config file path
-port=<port>Game port
-dologsEnable logging
-cpuCount=<n>CPU threads (set to vCPU count)
-autoInitAuto-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:

  • 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

Cannot connect:

  • Check server logs: sudo journalctl -u dayz -n 100
  • Verify password is correct
  • Ensure firewall allows UDP traffic

Server crashes:

  • Check available disk space: df -h
  • Monitor RAM usage: free -h
  • Check logs for corruption: cat ~/.config/DayZ/Profiles/*.log

High latency:

  • 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

Mods not loading:

  • 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

ParameterValueImpact
maxPlayers30-60Player limit (higher = more RAM)
verifySignatures0-20=off, 1=warn, 2=enforce mod signatures
motdInterval300-600Message rotation interval (seconds)
instanceId1-NUnique server identifier
logFileDayZServer.logServer log file name

Admin Commands and Tools

In-game console (accessible to admins):

CommandPurpose
#kick [player_id]Remove player
#ban [steam_id]Ban player (persists in BattlEye)
#monitorView server stats
#restartGraceful restart notification

DZSA (DayZ Server Admin) Tool:

Mod Management via DayZ Launcher

Players use DayZ Launcher to manage mods:

  1. Create mod collection on Steam Workshop
  2. Players subscribe in DayZ Launcher
  3. Launcher automatically syncs with server
  4. Server loads mods matching client list

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:

  1. Register server on BattlEye website (optional)
  2. Access BattlEye console via RCON
  3. Manage bans in ~/.config/DayZ/Profiles/BattlEye/bans.txt

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:

  • 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

On this page