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.
-
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.
-
Wait for SteamCMD
Server files are ~3 GB. First install takes ~3-5 minutes.
-
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. Default12= real hour is 5 minutes in-game. Vanilla DayZ uses1.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.enochfor Livonia,dayzOffline.sakhalfor 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
nominalandmin(e.g.M4A1from 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=0andmin=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.
-
Find the Workshop IDs
The mod's Workshop page URL ends with
?id=NNNNNNNNN. Copy that number. -
Add mods via our panel
Panel โ Mods tab โ paste comma-separated Workshop IDs โ Save. On next restart, SteamCMD downloads each mod and symlinks
@ModNamefolders to the server root. -
Or install manually via SteamCMD
steamcmd +login <your-steam-user> +workshop_download_item 221100 NNNNNNNNN +quit # then move output to: server-root/@ModName/ -
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. -
Copy mod types.xml into mission
Many mods ship their own
types.xmlfragment that needs merging into your mission'sdb/types.xml. Check each mod's README. Some ship anExtraXML/folder with drop-in snippets. -
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:
- Official BERCon (Windows)
- Fank's RCON (cross-platform)
- py3rcon for scripting
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
-
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.
-
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.
-
Direct-connect by IP
Launcher โ Change Server โ enter
YOUR-IP:2302(game port). Favorite it for quick rejoin. -
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
verifySignaturesmust be2โ 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.bisignfiles โ 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
#shutdownvia 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.xmland broke the XML schema โ checkprofiles/*.RPTfor "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
nominalin 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.xmlmay overlap a structure added by a mod โ pick new coords - Check
<active>1</active>for the vehicle event inevents.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.