How to Host a DayZ Server on Linux
DayZ is an unforgiving open-world survival game that has supported Linux dedicated servers since its 1.0 release. Running your own DayZ server on a Breeze instance gives you full control over loot tables, player counts, mods, and world persistence for your survival community.
System Requirements
DayZ servers are demanding. A Breeze instance with at least 4 CPU cores, 8 GB of RAM (12 GB recommended), and 30 GB of storage is required. The Chernarus map alone takes significant disk space, and mods add further requirements.
Installing the Server
Create a dedicated user and install via SteamCMD:
sudo useradd -m -r -s /bin/bash dayz
sudo apt install -y steamcmd lib32gcc-s1 libcap2
sudo su - dayz
mkdir -p ~/dayz_server
steamcmd +force_install_dir ~/dayz_server \
+login anonymous \
+app_update 223350 validate \
+quit
Server Configuration
Create the primary configuration file at ~/dayz_server/serverDZ.cfg:
hostname = "My DayZ Server - Kazepute Breeze";
password = "";
passwordAdmin = "admin-password";
maxPlayers = 60;
verifySignatures = 2;
forceSameBuild = 1;
guaranteedUpdates = 1;
steamQueryPort = 27016;
gamePort = 2302;
BattlEye = 1;
logAverageFps = 1;
logMemory = 1;
logPlayers = 1;
enableDebugMonitor = 0;
timeStampFormat = "Short";
lightingConfig = 0;
class Missions {
class DayZ {
template = "dayzOffline.chernarusplus";
};
};
Mission and Economy Configuration
DayZ uses XML files for loot and economy configuration. Key files in the mission directory include:
- types.xml — defines every item’s spawn parameters including quantity, lifetime, and restock timer
- globals.xml — controls global settings like cleanup timers, time acceleration, and respawn delay
- events.xml — configures dynamic events like helicopter crashes and supply drops
- cfgweather.xml — weather cycle configuration
Customize globals.xml for time acceleration and restarts:
<var name="TimeLogin" type="0" value="0"/>
<var name="TimeInterval" type="0" value="2"/>
<var name="TimeBetweenWaves" type="0" value="240"/>
<var name="IdleModeStartup" type="0" value="1"/>
<var name="IdleModeCountdown" type="0" value="60"/>
Starting the Server
Launch the DayZ server:
cd ~/dayz_server
./DayZServer -config=serverDZ.cfg \
-port=2302 \
-profiles=profiles \
-dologs -adminlog -netlog \
-freezecheck
Firewall Configuration
Open the required ports on your Breeze instance:
sudo ufw allow 2302/udp
sudo ufw allow 2303/udp
sudo ufw allow 2304/udp
sudo ufw allow 27016/udp
sudo ufw reload
Installing Mods
Download Workshop mods using SteamCMD and symlink them into the server directory. Add mod directories to the -mod launch parameter:
./DayZServer -config=serverDZ.cfg -port=2302 \
-mod="@CF;@VPPAdminTools;@TraderPlus" \
-profiles=profiles -dologs
Ensure all mod keys are copied to the keys/ directory for signature verification.
Scheduled Restarts
DayZ servers benefit from regular restarts every 4-6 hours. Set up a cron job or use a restart script that warns players before shutting down via BEC (Battleye Extended Controls) or RCON.
Performance Tips
- Loot economy — reduce item lifetime values in types.xml to lower entity counts
- Vehicle count — limit vehicles to reduce physics-related CPU load
- Regular restarts — schedule 4-6 hour restart cycles for stability on your Breeze
- Zombie count — adjust infected spawn limits in globals.xml if CPU is constrained