DayZ ยท Server setup

How to set up a DayZ server from scratch

Full setup walkthrough for a DayZ dedicated server on Chernarus, Livonia, or Sakhal: deploy via SteamCMD, configure serverDZ.cfg, tune loot and economy in the mission files (types.xml, events.xml, cfgspawnabletypes.xml), install Workshop mods, set up admin tools and BattlEye filters, and fix the common DayZ server errors.

What you need first

  • An active DayZ plan on Fatality Servers. See our DayZ hosting plans.
  • A Steam copy of DayZ for each player โ€” server doesn't own the game, clients do.
  • Enough RAM โ€” DayZ is a heavy Enfusion/Real Virtuality engine game. 8 GB minimum for 30 slots on Chernarus, 12-16 GB for 60 slots or a mod-heavy server, 24+ GB if you pile on large community mods (Expansion, BaseBuildingPlus, Trader).
  • A basic SFTP client (FileZilla, WinSCP) โ€” you'll be hand-editing XML mission files constantly.
  • A decision on the map โ€” Chernarus (vanilla, free), Livonia (paid DLC), or Sakhal (paid DLC). The server binary supports all three; you choose at mission level.
๐Ÿ’ก

Sizing note: DayZ perf is dominated by persistent entity count โ€” dropped items, vehicles, base structures, zombies. A fresh-wiped 30-slot Chernarus is fine on 8 GB; six months later with full bases everywhere you're pushing 14 GB. Budget for what the server looks like after 3 months, not at wipe.

Deploy the server (1-click)

Our DayZ template runs SteamCMD to pull the dedicated server (Steam App ID 223350), deploys the default Chernarus mission, writes a starter serverDZ.cfg, and opens UDP 2302 (game), 2303 (steam query), 2305, 27016 on your plan's IP.

  1. Pick the DayZ template at checkout

    On the DayZ hosting page, pick a plan sized for your slot count (20, 40, or 60 slots is standard). Pick the location closest to your playerbase โ€” DayZ's netcode is sensitive.

  2. Wait for SteamCMD

    Server files are ~3 GB. First install takes ~3-5 minutes.

  3. Confirm the server is listening

    17:34:22 Dedicated host created.
    17:34:25 Mission dayzOffline.chernarusplus read from directory.
    17:34:41 Roles assigned.
    17:34:42 Reading mission ...
    17:34:45 Mission initialized.
    17:34:45 Game started.
    17:34:45 Server started on port 2302

File layout & where things go

DayZ's layout splits configs between the server root and the mission folder:

/                                 โ€” server root
โ”œโ”€โ”€ serverDZ.cfg                  โ€” main server config
โ”œโ”€โ”€ DayZServer                    โ€” Linux server binary
โ”œโ”€โ”€ DayZServer_x64.exe            โ€” Windows server binary
โ”œโ”€โ”€ battleye/                     โ€” BattlEye filters & RCON config
โ”‚   โ”œโ”€โ”€ BEServer_x64.cfg
โ”‚   โ”œโ”€โ”€ beserver_x64.cfg
โ”‚   โ””โ”€โ”€ *.txt                    โ€” BE filter files (scripts.txt, etc.)
โ”œโ”€โ”€ profiles/                     โ€” logs, admin lists
โ”‚   โ”œโ”€โ”€ DayZServer_x64.ADM
โ”‚   โ”œโ”€โ”€ DayZServer_x64.RPT
โ”‚   โ””โ”€โ”€ DayZServer_x64.log
โ”œโ”€โ”€ mpmissions/                   โ€” all missions (maps) live here
โ”‚   โ”œโ”€โ”€ dayzOffline.chernarusplus/    โ€” default Chernarus
โ”‚   โ”œโ”€โ”€ dayzOffline.enoch/            โ€” Livonia DLC
โ”‚   โ””โ”€โ”€ dayzOffline.sakhal/           โ€” Sakhal DLC
โ”‚       โ”œโ”€โ”€ init.c                    โ€” mission init script
โ”‚       โ”œโ”€โ”€ cfgeconomycore.xml        โ€” economy loader
โ”‚       โ”œโ”€โ”€ db/
โ”‚       โ”‚   โ”œโ”€โ”€ types.xml             โ€” loot table (what spawns, how much)
โ”‚       โ”‚   โ”œโ”€โ”€ events.xml            โ€” spawn events (vehicles, helicrashes, animals)
โ”‚       โ”‚   โ”œโ”€โ”€ globals.xml           โ€” economy-level tunables
โ”‚       โ”‚   โ””โ”€โ”€ economy.xml
โ”‚       โ””โ”€โ”€ storage_1/                โ€” persistence directory (don't delete)
โ””โ”€โ”€ @ModName/                     โ€” (later) each mod gets its own @-prefixed folder
โš ๏ธ

Never delete the storage_X folder. That's your entire persistence โ€” player inventories on logout, vehicles, bases, dropped loot, zombie state. Deleting it is the same as a full wipe. Rename it if you want to preserve it before a test wipe.

Core serverDZ.cfg settings

Edit serverDZ.cfg at the server root. Key values:

hostname     = "My DayZ Server [EU] - Vanilla Chernarus";
password     = "";                          // leave empty for public
passwordAdmin = "change-me-strong";
maxPlayers   = 60;
verifySignatures = 2;                       // 2 = strict (required for public)
forceSameBuild = 1;                         // require client build match
enableWhitelist = 0;                        // 1 to gate by steam64 in whitelist.txt
disableBanlist = false;

motd[] = {
  "Welcome to My DayZ Server",
  "Rules: no base griefing on offline bases"
};
motdInterval = 5;

instanceId = 1;
lootHistory = 1;
storeHouseStateDisabled = false;
storageAutoFix = 1;

timeStampFormat = "Short";
logAverageFps = 1;
logMemory     = 1;
logPlayers    = 1;
logFile       = "server_console.log";
adminLogPlayerHitsOnly = 0;
adminLogPlacement      = 1;
adminLogBuildActions   = 1;
adminLogPlayerList     = 1;

// --- Network ---
steamQueryPort = 2303;
guaranteedUpdates = 1;
serverTime        = "SystemTime";
serverTimeAcceleration      = 12;           // 12 = day/night 2x
serverNightTimeAcceleration = 1.5;          // accelerate nights
serverTimePersistent        = 0;

// --- Respawn / persistence ---
respawnTime = 5;
disableVoN = 0;
vonCodecQuality = 20;

// --- Zombie / AI throttling (small box servers) ---
disable3rdPerson = 0;
disableCrosshair = 0;

// --- Mission ---
class Missions {
    class DayZ {
        template = "dayzOffline.chernarusplus";
    };
};

The values you'll actually tweak:

  • hostname โ€” server browser name. 100 chars max. Include region.
  • passwordAdmin โ€” RCON admin password.
  • verifySignatures = 2 โ€” required for the server to appear in the public list. Don't change.
  • serverTimeAcceleration โ€” day/night cycle multiplier. Default 12 = real hour is 5 minutes in-game. Vanilla DayZ uses 1.
  • serverTime โ€” start time. "SystemTime" syncs to VPS clock; "2026/05/15/09/00" sets a fixed start.
  • template โ€” which mission folder to load. Change this to switch map (dayzOffline.enoch for Livonia, dayzOffline.sakhal for Sakhal).

Choosing a mission (map + economy)

Maps are "missions" in DayZ terminology. The three official ones:

  • Chernarus Plus โ€” dayzOffline.chernarusplus โ€” 225 kmยฒ, post-Soviet, what 90% of DayZ servers run.
  • Livonia โ€” dayzOffline.enoch โ€” 163 kmยฒ, central-European forest. Requires Livonia DLC on clients.
  • Sakhal โ€” dayzOffline.sakhal โ€” 83 kmยฒ, arctic Russian island. Requires Frostline DLC on clients.

Switch maps by editing serverDZ.cfg โ†’ Missions.DayZ.template. Restart. Persistence doesn't carry across missions โ€” expect a fresh world when you switch.

โ„น๏ธ

Community maps (Namalsk, Deer Isle, Esseker, Banov, Valning, etc.) ship as Workshop mods containing both the map terrain and a matching mpmissions/ folder. Subscribe to the map mod, then set its mission folder as the template.

Loot & economy tuning (types.xml and friends)

DayZ's Central Economy (CE) is the system that controls what spawns, where, and how often. It reads from several XML files in mpmissions/<mission>/db/. The big three:

types.xml โ€” every lootable item

<type name="M4A1">
    <nominal>15</nominal>    <!-- target count across the whole map -->
    <lifetime>14400</lifetime><!-- seconds before despawn (4 hrs) -->
    <restock>1800</restock>   <!-- delay between respawns -->
    <min>10</min>            <!-- never fall below this count -->
    <quantmin>-1</quantmin>
    <quantmax>-1</quantmax>
    <cost>100</cost>
    <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/>
    <category name="weapons"/>
    <usage name="Military"/>
    <usage name="Police"/>
    <value name="Tier3"/>
    <value name="Tier4"/>
</type>

Common tweaks:

  • Boost a gun's spawn count: bump nominal and min (e.g. M4A1 from 15 to 30).
  • Make an item not despawn in bases: set count_in_hoarder="1" so it's tracked across restarts.
  • Remove an item entirely: set nominal=0 and min=0 (don't just delete the entry โ€” mods may reference it).

events.xml โ€” dynamic spawns

Controls vehicles, helicrashes, animal herds, infected waves. Example (vehicle spawn):

<event name="VehicleSedan_02">
    <nominal>10</nominal>
    <min>6</min>
    <max>10</max>
    <lifetime>7200</lifetime>
    <restock>0</restock>
    <saferadius>50</saferadius>
    <distanceradius>500</distanceradius>
    <cleanupradius>200</cleanupradius>
    <flags deletable="0" init_random="1" remove_damaged="0"/>
    <position>fixed</position>
    <limit>mixed</limit>
    <active>1</active>
    <children>
        <child lootmax="3" lootmin="0" max="2" min="0" type="SedanWheel"/>
    </children>
</event>

cfgspawnabletypes.xml โ€” item attachments

Determines what a gun/container spawns WITH. "Every AK should spawn with a 30% chance of a mag attached" lives here:

<type name="AKM">
    <attachments chance="0.40">
        <item name="AK_RailAtt" chance="0.15"/>
        <item name="AK_Suppressor" chance="0.10"/>
    </attachments>
    <cargo chance="0.25">
        <item name="Mag_AKM_30Rnd" chance="1.0"/>
    </cargo>
</type>
๐Ÿ’ก

Use the DayZ Editor Loader + Community Online Tools (Workshop) to eyeball loot distribution live. Walking a town and checking what actually spawned beats hand-reading types.xml. Our panel ships a "loot heatmap" extension that visualises types.xml density against map coordinates โ€” useful for balance runs.

Installing Workshop mods

DayZ mods come from the Steam Workshop (browse here). Each mod is a folder named @ModName at the server root.

  1. Find the Workshop IDs

    The mod's Workshop page URL ends with ?id=NNNNNNNNN. Copy that number.

  2. Add mods via our panel

    Panel โ†’ Mods tab โ†’ paste comma-separated Workshop IDs โ†’ Save. On next restart, SteamCMD downloads each mod and symlinks @ModName folders to the server root.

  3. Or install manually via SteamCMD

    steamcmd +login <your-steam-user> +workshop_download_item 221100 NNNNNNNNN +quit
    # then move output to: server-root/@ModName/
  4. Add to the launch line

    Append to -mod= param (our panel handles this automatically if you use the Mods tab):

    -mod="@CF;@Community-Online-Tools;@Trader;@BaseBuildingPlus"

    Order matters โ€” @CF (Community Framework) should load first, it's a dependency of almost everything else.

  5. Copy mod types.xml into mission

    Many mods ship their own types.xml fragment that needs merging into your mission's db/types.xml. Check each mod's README. Some ship an ExtraXML/ folder with drop-in snippets.

  6. Copy BattlEye filter updates

    Some mods require loosened BattlEye filters to not kick players with their extended script calls. Mod README will tell you which filters (scripts.txt, createvehicle.txt) need additions.

โš ๏ธ

Client + server mod lists must match exactly. DayZ uses -mod= for server-side and client-side mods, and a mismatch = instant "Wrong Signature" disconnect for players. Keep your server's published mod list in Discord or the MOTD so players subscribe to the right set.

BattlEye filters & admin tools

BattlEye is DayZ's anti-cheat. It's mandatory on public servers โ€” you can't disable it without dropping off the public list.

RCON access

Edit battleye/beserver_x64.cfg (or wherever your DayZ binary auto-generates it after first run):

RConPassword change-me-rcon-password
RConPort 2305
RestrictRCon 0
RConIP 0.0.0.0

Connect with BERCon or RCON tools like:

Admin mod

DayZ has no built-in admin menu like ARK's. The standard solution is Community Online Tools (COT) โ€” Workshop mod with a full admin UI. Add admins by Steam64 in its config:

// @COT/config/permissions.json
{
  "76561198012345678": "ROOT",     // full access
  "76561199876543210": "ADMIN"     // standard admin
}

In-game, admins press F2 by default to open the menu. Teleport, spawn, ban, inspect player inventory โ€” all from one UI.

Common BE filter edits

If a legitimate mod keeps getting kicked, whitelist its script call in battleye/scripts.txt. Each line starts with a filter severity (1 = log, 2 = log+kick, 5 = ban) and then patterns to match. Prefix with != to whitelist:

5 "" !="ModName:ScriptMethodBeingCalled"

Restart after edits. Don't loosen filters you don't understand โ€” that's how private hive servers get duped.

Connect and test

  1. Launch DayZ on your PC

    Launch DayZ from Steam. If your server uses mods, you'll need the DayZ Launcher's Mod Manager (built into the main launcher) to subscribe and load the matching set before joining.

  2. Find the server

    Launcher โ†’ Servers tab โ†’ filter by name or favorite by IP. First registration with Steam master takes 2-5 minutes after first boot.

  3. Direct-connect by IP

    Launcher โ†’ Change Server โ†’ enter YOUR-IP:2302 (game port). Favorite it for quick rejoin.

  4. Verify admin tools

    Once in-game, press your COT hotkey (default F2) โ€” admin menu should open if your Steam64 is in the COT permissions file.

Common errors and fixes

Server doesn't show in the launcher

  • verifySignatures must be 2 โ€” any other value hides the server
  • Check the Steam query port (2303) is open โ€” not just the game port
  • Launcher's server list caches for ~5 minutes; hit refresh more than once
  • If running mods, ALL mods must have verifySignatures-valid .bisign files โ€” unsigned mods drop the server from the public list

"Wrong Signature" / "BattlEye kicked: Client not responding"

  • Client's mods don't match server โ€” open DayZ Launcher, hit "Play" on the server which forces it to sync mods
  • Outdated mod version โ€” server was updated but the client's cached copy is old; unsubscribe + resubscribe on Steam Workshop
  • Check @CF (Community Framework) is the FIRST mod in your load order โ€” it's a runtime dependency of most mods

Player log-in wipes their inventory

Persistence corruption. Check the server log (profiles/*.RPT) for "Cannot read player data" errors. Causes:

  • Server didn't exit cleanly last restart โ€” always #shutdown via RCON, not kill -9
  • Storage disk filled up mid-save โ€” check the panel's disk usage graph
  • Mod added/removed that changes player data structure (Expansion, for example) โ€” players get their character reset

Restore from the panel's backup tab. All managed DayZ plans ship with daily snapshots of the storage_X folder + 30-day retention.

Loot stops spawning

Central Economy is stalled. Causes:

  • You edited types.xml and broke the XML schema โ€” check profiles/*.RPT for "economy failed to load" errors
  • A mod's types.xml has a duplicate entry โ€” DayZ doesn't merge, it overrides; the second entry silently wins
  • Server has been up too long without a restart (Enfusion has known CE drift) โ€” schedule daily restarts via the panel

Server crashes with "MemoryMapped read-only"

Usually low RAM. Check your plan's RAM graph โ€” if you're hitting 100% before crashing, upgrade or trim mods.

FPS drops to 5 server-side during zombie hordes

  • Reduce zombie density in zombie_territories.xml (in the mission folder)
  • Reduce server-side entity count by lowering vehicle nominal in events.xml
  • Upgrade to a higher-clocked CPU plan โ€” DayZ is single-threaded per-instance, raw clock matters more than cores

Vehicles stuck in the ground / not spawning

  • Vehicle spawn coordinates in cfgeventspawns.xml may overlap a structure added by a mod โ€” pick new coords
  • Check <active>1</active> for the vehicle event in events.xml
  • Run #spawnVehicle <type> <coords> via RCON to force one for testing

Stuck on something specific? Email support with your server IP, the last 200 lines of profiles/*.RPT, and your serverDZ.cfg โ€” we'll usually have an answer within the hour.