Skip to content
DayZDayZServer Admin

DayZ Server Setup: SteamCMD, serverDZ.cfg, Mods & BattlEye RCon

How to stand up a DayZ dedicated server: installing the server app with SteamCMD (and why anonymous login does not work), the serverDZ.cfg keys that matter, launching with the right ports, adding Workshop mods with their .bikey keys so signed clients can connect, and enabling BattlEye RCon for remote admin.

HaldonUpdated 420 views

DayZ hosting has a few quirks that trip up newcomers coming from Rust or Source games. The dedicated server is a separate Steam app from the game, its SteamCMD download is not anonymous, and once you add mods you have to deal with signature keys or players cannot connect. This guide walks the install, serverDZ.cfg, the launch line, mods, and BattlEye RCon.

Installing the server with SteamCMD

The DayZ dedicated server is its own Steam app - 223350 ("DayZ Server", the stable app) - and there is a distinct experimental server app, 1042420. Do not point +app_update at 221100: that is the DayZ client app, used only to pull Workshop mods (see below), not to install the server.

Unlike many game servers, anonymous login does not work for DayZ - use a Steam account (current guidance is one that owns DayZ):

steamcmd +force_install_dir /home/dayz/server +login <your_steam_account> +app_update 223350 validate +quit

The server binary is DayZServer_x64.exe on Windows and DayZServer on Linux. Note that Linux stable-branch availability varies by patch - the experimental server app (1042420) is the more reliably maintained Linux option, so check which one currently has a Linux build if you host on Linux.

Configuring serverDZ.cfg

Server settings live in serverDZ.cfg in the install root. A minimal working config:

hostname = "My DayZ Server";
password = "";              // join password; empty = public
passwordAdmin = "changeme"; // in-game admin password
maxPlayers = 60;

verifySignatures = 2;       // 2 is the only supported value - keeps unsigned mods/clients out
steamQueryPort = 27016;     // set this EXPLICITLY (see Ports below)

class Missions
{
	class DayZ
	{
		template = "dayzOffline.chernarusplus"; // the mission (map) the server loads
	};
};

Two things to get right:

  • verifySignatures = 2 is the only supported value. It enforces mod signatures - which is exactly why every mod you add needs its key in keys/ (see Mods).
  • The mission is a class Missions block, not a bare key. template names the mission folder under mpmissions/ - dayzOffline.chernarusplus for Chernarus, dayzOffline.enoch for Livonia.

Launching the server

A typical launch line (Windows shown; the same flags apply on Linux):

DayZServer_x64.exe -config=serverDZ.cfg -port=2302 ^
 -profiles=.\profiles -BEpath=.\battleye ^
 -doLogs -adminLog -freezeCheck -cpuCount=4
  • -config= points at your serverDZ.cfg; -port= is the game port; -profiles= is where logs and admin data are written; -BEpath= is the BattlEye working directory.
  • -mod= vs -serverMod= is the key modding distinction: -mod=@ModA;@ModB loads client-facing mods (players must run them too), while -serverMod=@AdminTools loads server-only mods that clients neither see nor need.
  • -doLogs -adminLog -freezeCheck enable logging and a watchdog; -cpuCount= caps worker threads.

Ports to forward

  • 2302/UDP - the game port (override with -port). DayZ also uses the next few ports (2303-2306) for voice/steam traffic, so forward the small 2302-2306 range.
  • Steam query port and the BattlEye RCon port have no reliable cross-source default - set both explicitly (steamQueryPort in serverDZ.cfg, RConPort in the BattlEye config) and forward them. Keep the RCon port outside the 2302-2306 game range.

Mods and their .bikey keys

Workshop mods are pulled through the client app id 221100 and land under steamapps/workshop/content/221100/<workshop_id>. You can grab one without a full client install:

steamcmd +login <your_steam_account> +workshop_download_item 221100 <workshop_id> +quit

For each mod:

  1. Copy the mod's @ModName folder into the server directory and add it to -mod=.
  2. Copy the mod's .bikey file into the server's keys/ folder. With verifySignatures = 2, a client running a signed mod cannot connect unless that mod's key is present - a missing key is the most common "players get kicked on join" cause.

BattlEye RCon for remote admin

DayZ uses standard BattlEye RCon for remote administration (the same protocol family as Arma), so BattlEye RCon clients and tools work against it. Configure it in BEServer_x64.cfg inside your -BEpath / -profiles BattlEye directory:

RConPassword changeme_strong_secret
RConPort <a_port_outside_2302-2306>
RestrictRCon 0

Use a long random RConPassword; anyone with it can run admin commands remotely.


MantaScope tracks the live DayZ server list with real, bot-adjusted player counts (DayZ's listing is full of bot-padded spoof servers - we surface the human count), population history, per-server rank, uptime and downtime alerts, plus decoded server attributes and mod lists. Because DayZ speaks BattlEye RCon, you can claim your server on MantaScope and administer it from the browser - live player list, kick/ban, chat and console over the RConPort you set above - alongside population graphs, scheduled messages, automations and Discord notifications.