DayZ Modded Server Setup (Linux + SteamCMD)
This guide walks through standing up a modded DayZ dedicated server on Linux. DayZ's server is Steam app 223350, with workshop mods pulled via the client app 221100. Unlike many other games, the DayZ server install requires a Steam account that owns DayZ — anonymous SteamCMD login does not work for DayZ.
Steam account required: The DayZ server build is not available via anonymous login. You'll need to log in with a Steam account that owns DayZ to pull both the server and workshop mods.
Step 1: Install Dependencies
On Debian/Ubuntu:
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y lib32gcc-s1 steamcmd
Step 2: Install the DayZ Server
steamcmd +force_install_dir ~/dayz-server +login YOUR_STEAM_USER YOUR_PASSWORD +app_update 223350 +quit
You'll be prompted for Steam Guard. Enter the code from your authenticator. Steam-account-bound mode means the server install is associated with your account.
Step 3: Download Workshop Mods
Mods are downloaded via SteamCMD using +workshop_download_item. The workshop ID for DayZ is 221100 (the client app, not the server app):
steamcmd +force_install_dir ~/dayz-server \
+login YOUR_STEAM_USER \
+workshop_download_item 221100 1559212036 \
+workshop_download_item 221100 1564026768 \
+quit
The mod files end up under ~/.steam/SteamApps/workshop/content/221100/MOD_ID/. You'll need to symlink or copy them into your server's !Workshop directory (or equivalent) so the server can find them.
Step 4: Create symlinks for the mods
DayZ expects mod folders to be reachable from the server root with the @ModName prefix:
cd ~/dayz-server
ln -s ~/.steam/SteamApps/workshop/content/221100/1559212036 @CommunityFramework
ln -s ~/.steam/SteamApps/workshop/content/221100/1564026768 @CommunityOnlineTools
Pass the mod list to the server at launch via the -mod= parameter (see Step 6).
Step 5: Configure serverDZ.cfg
Edit serverDZ.cfg in your server directory. Common starter fields:
hostname = "My DayZ Server";
password = "";
passwordAdmin = "AdminPasswordHere";
maxPlayers = 60;
verifySignatures = 2;
forceSameBuild = 1;
disableVoN = 0;
respawnTime = 5;
guaranteedUpdates = 1;
loginQueueConcurrentPlayers = 5;
loginQueueMaxPlayers = 500;
Full config reference is in the official Bohemia Interactive Community Wiki — fields cover queue management, voice chat, mission rotation, and BattlEye integration.
Step 6: Launch the Server
cd ~/dayz-server
./DayZServer \
-config=serverDZ.cfg \
-port=2301 \
-BEpath=battleye \
-profiles=profiles \
"-mod=@CommunityFramework;@CommunityOnlineTools" \
-dologs \
-adminlog \
-netlog \
-freezecheck
The -mod= parameter takes a semicolon-separated list of @ModName folders. Quote the whole argument to keep the shell from breaking on the semicolons.
Step 7: Open Required Ports
| Port | Protocol | Purpose |
|---|---|---|
| 2301 | UDP | Game traffic (default; configurable via -port=) |
| 2302 | UDP | Steam query (game port + 1, by convention) |
| 27016 | UDP | Steam server browser |
Common Modded-Server Issues
| Symptom | Cause | Fix |
|---|---|---|
| Server boots but mods don't load | Symlinks broken or -mod= missing | Verify @ModName folders exist + pass them in -mod= |
| Players kicked at connect with "wrong version" | Mod version mismatch | Players must subscribe to the same workshop mods as the server has installed |
| BattlEye script restriction errors | Mod scripts blocked by BattlEye | See DayZ BattlEye script restriction fix |
| Mods download but fail to apply | SteamCMD can't write to workshop dir | Check filesystem permissions on ~/.steam/SteamApps/workshop/ |
| Mod symlink points to nothing | Workshop ID changed or mod was unsubscribed | Re-run +workshop_download_item for that mod |
Mod Update Workflow
When mod authors push updates:
- Stop the server
- Re-run
steamcmd +workshop_download_item 221100 MOD_IDfor each mod - The symlink (which points to the workshop folder by mod ID, not by version) automatically picks up the new files
- Restart the server
Players who haven't updated their workshop subscriptions will be kicked at connect with a version mismatch.
Related Reading
- DayZ BattlEye script restriction fix
- DayZ Expansion mod
- DayZ server configuration
- Official: Bohemia Interactive Community Wiki — Hosting a Linux Server
Quick Start with Supercraft
Supercraft hosts DayZ dedicated servers with the Steam-account login flow handled, mod symlinks automated, BattlEye configured, and one-click workshop mod install via the panel. Mod updates ship to your server automatically when authors push.