<?xml version="1.0"?>
<rss version="2.0"><channel><title>Articles</title><link>https://dzservers.host/articles/</link><description>Service Guides</description><language/><item><title>How to Install VPP Admin Tools on Your DayZ Server</title><link>https://dzservers.host/articles/guides/install-vppadmintools-dayz-server/</link><description><![CDATA[
<p><img src="https://dzservers.host/uploads/monthly_2026_07/workshop-add-vppat.png.c27cd934b4b7510fb1241277fb68a337.png" /></p>
<!-- DZSH-MANAGED slug=install-vppadmintools-dayz-server rev=1 — generated by tools/articles. Do NOT edit in the IPS editor: HTMLPurifier strips <figure>, ids, data-* and JSON-LD. Edit tools/articles/articles/*-install-vppadmintools-dayz-server.js and re-run bin/publish.mjs. -->

<p>VPP Admin Tools (<code>Vanilla++ AdminTools</code> in the DayZ mod list) gives you an in-game admin menu for player management, item spawning, teleporting, ESP, weather and time control, bans and more. Installing it takes three things: add it alongside <strong>Community Framework</strong> in <strong>Workshop Mods</strong>, start the server once so it writes its config files, then set an admin password and add your Steam64 ID before restarting again.</p>
<p>That two-restart sequence is not optional and it is where almost everyone gets stuck &mdash; the mod cannot read the files it created until the next boot, so the first start always ends with nobody having access. Work through the steps in order and it takes about twenty minutes.</p>

<nav class="dzshToc" aria-label="On this page" style="border:1px solid rgba(128,128,128,.28);border-left:3px solid #f59e0b;border-radius:4px;padding:.9em 1.1em .9em 1.4em;margin:1.75em 0;background:rgba(128,128,128,.05)">
<p style="margin:0 0 .5em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.78em;opacity:.8">On this page</p>
<ol style="margin:0;padding-left:1.2em;line-height:1.75"><li><a href="#step-1">Add VPP Admin Tools and Community Framework</a></li><li><a href="#step-2">Start the server once to generate the config files</a></li><li><a href="#step-3">Find the generated files</a></li><li><a href="#step-4">Set your admin password</a></li><li><a href="#step-5">Add yourself as a superadmin</a></li><li><a href="#step-6">Restart and log in</a></li><li><a href="#step-7">Learn the default keybinds</a></li><li><a href="#step-8">Give your staff access without making them superadmins</a></li><li><a href="#troubleshooting">Troubleshooting</a></li><li><a href="#faq">Frequently asked questions</a></li></ol>
</nav>

<h2>Before you start</h2>
<ul><li>A provisioned server here, stopped. If you are brand new, start with <a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">getting started with the control panel</a>.</li><li>Your own <strong>Steam64 ID</strong> &mdash; the 17-digit number beginning <code>7656</code>. Find it with <a href="https://steamid.io/" rel="noopener nofollow" target="_blank">steamid.io</a> or any Steam ID lookup.</li><li>A password you will use to log in to the admin menu in game. It must be <strong>32 characters or fewer</strong>.</li><li>Access to the <strong>File Browser</strong> or <strong>SFTP</strong> tab, since two config files need editing by hand.</li></ul>

<h2 id="step-1">1. Add VPP Admin Tools and Community Framework</h2>
<p>Open your server, go to <strong>Workshop Mods</strong>, and add both mods. Paste each Workshop URL or ID into the box and click <strong>Lookup &amp; add</strong>:</p>
<ul><li><strong>Community Framework</strong> &mdash; search the Steam Workshop for <code>Community Framework</code> (often abbreviated <code>CF</code>).</li><li><strong>VPP Admin Tools</strong> &mdash; Workshop ID <code>1828439124</code>, or search for <code>VPP Admin Tools</code>.</li></ul>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Leave <strong>Load as server-only mod</strong> <strong>unchecked</strong> for both. VPP Admin Tools is not a server-only mod &mdash; it ships the admin menu, the keybinds and the client-side UI, so it has to load on players' clients too. Ticking that box loads it with <code>-servermod=</code>, the server starts normally, and the admin menu then never appears for anyone.</p></div>
<p>Community Framework must load <strong>before</strong> VPP Admin Tools. Use the arrows in the <strong>Order</strong> column so CF sits above it in the list.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> VPP Admin Tools depends on Community Framework but does not declare it as a required addon in its config, so a dependency checker will not always flag it for you. Add CF explicitly rather than assuming it will be pulled in &mdash; without it the mod fails to compile and the server will not finish starting.</p></div>

<figure class="dzshShot" id="shot-workshop-add-vppat" data-dzsh-slot="workshop-add-vppat" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/workshop-add-vppat.png.22b9b6fe41451369d12fa437f7586b10.png" alt="Workshop Mods tab listing Community Framework above VPP Admin Tools with server-only unchecked" width="1614" height="946" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Community Framework must sit above VPP Admin Tools in the load order, and neither is a server-only mod.</figcaption>
</figure>

<h2 id="step-2">2. Start the server once to generate the config files</h2>
<p>Go back to <strong>Overview</strong> and click <strong>Start</strong>. This first boot exists purely so the mod can create its folder structure &mdash; you will not be able to log in yet, and that is expected.</p>
<p>Watch <strong>Live Logs</strong> with the <strong>Stream</strong> dropdown set to <code>rpt</code>. Once the mission has loaded, stop the server again.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> If the server never finishes starting and the log shows a compile error mentioning <code>CF_XML_Document</code> or similar unknown types, Community Framework is missing or is loading after VPP Admin Tools. Fix the order in <strong>Workshop Mods</strong> and try again.</p></div>

<h2 id="step-3">3. Find the generated files</h2>
<p>The mod writes everything into your server's profile folder. In the panel that is the <code>profiles</code> share &mdash; open <strong>File Browser</strong> and switch the <strong>Share</strong> dropdown to <code>profiles</code>, then open <code>VPPAdminTools</code>.</p>
<p>You should see:</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Path</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What it is</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Permissions/SuperAdmins/SuperAdmins.txt</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Full-access admin list, one Steam64 ID per line. This is where you add yourself.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Permissions/credentials.txt</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The admin password used at login. Set this before the next start.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Permissions/UserGroups/UserGroups.json</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Staff roles and their permissions. Managed in game later; leave it alone for now.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Logging/</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">One log file per server session.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>ConfigurablePlugins/</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Per-feature settings such as webhooks, weather and teleport presets.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Backups/</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Copies the XML editor takes before it saves a change.</td></tr></tbody></table></div>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Prefer a desktop client? These are the same files over SFTP &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">connecting with SFTP</a>.</p></div>

<figure class="dzshShot" id="shot-profiles-permissions-folder" data-dzsh-slot="profiles-permissions-folder" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/profiles-permissions-folder.png.908829c9f1ca9e9e8d203695bdfdb83c.png" alt="File Browser on the profiles share showing the VPPAdminTools Permissions folder" width="1623" height="429" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">VPP Admin Tools writes its configuration into the profiles share, under a VPPAdminTools folder.</figcaption>
</figure>

<h2 id="step-4">4. Set your admin password</h2>
<p>Open <code>Permissions/credentials.txt</code> with <strong>View/Edit</strong>. It contains only comment lines beginning with <code>//</code>. Delete everything and put your password on the first line, on its own:</p>
<pre class="ipsCode prettyprint lang-auto">MySecretPassword123</pre>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> The password must be <strong>1 to 32 characters</strong>. On the next start the mod replaces the file contents with a hash and the plain text is gone for good, so <strong>save it somewhere safe first</strong>. A value of 33 to 63 characters is rejected and leaves the tools unusable; a value of exactly 64 characters is assumed to be an already-hashed password and is stored as-is.</p></div>
<p>Everyone who logs into the admin menu uses this one password, whether they are a superadmin or in a staff group. If you ever lose it, empty the file, write a new password, and restart.</p>

<h2 id="step-5">5. Add yourself as a superadmin</h2>
<p>Open <code>Permissions/SuperAdmins/SuperAdmins.txt</code>. It contains a single placeholder sentence. <strong>Delete that line</strong> and replace it with your Steam64 ID:</p>
<pre class="ipsCode prettyprint lang-auto">76561198000000000</pre>
<p>Add more admins one per line, with nothing else on the line:</p>
<pre class="ipsCode prettyprint lang-auto">76561198000000000
76561198000000001</pre>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> The file has no comment syntax &mdash; every line is read as an ID, including the placeholder sentence and any trailing blank lines. Leave the placeholder in and you get a junk entry in your admin list.</p></div>
<p>Superadmins bypass every permission check, so keep this list to people you genuinely trust. Staff who need only some tools should get a user group instead, which you set up in game in step 7.</p>

<figure class="dzshShot" id="shot-superadmins-file" data-dzsh-slot="superadmins-file" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/superadmins-file.png.f0ddded3f4f7ec34e2a3353eee2035c3.png" alt="SuperAdmins.txt open in the panel editor containing a single Steam64 ID" width="1191" height="840" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">One Steam64 ID per line, with the placeholder sentence removed.</figcaption>
</figure>

<h2 id="step-6">6. Restart and log in</h2>
<p>Start the server again. This is the boot where the mod actually reads both files, hashes your password and loads your admin list.</p>
<p>Join your server, then use the two-step login. These are separate keys and the order matters:</p>
<ol><li>Press <strong>End</strong> to log in. A password prompt appears &mdash; enter the password from <code>credentials.txt</code>.</li><li>Press <strong>Home</strong> to open the admin menu.</li></ol>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> If <strong>End</strong> appears to do nothing at all &mdash; no prompt, no message, no sound &mdash; your Steam64 ID is not being recognised. That silent no-op is by design, and it is the most common problem people hit. See the troubleshooting section below.</p></div>
<p>Your password is remembered on your own machine after the first successful login, so later sessions only need <strong>End</strong> then <strong>Home</strong>.</p>

<figure class="dzshShot" id="shot-admin-menu-open" data-dzsh-slot="admin-menu-open" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/admin-menu-open.png.9d76cb60c8e1a5a15d9e9e69e19c1ca0.png" alt="The VPP Admin Tools menu open in game showing the toolbar of feature buttons" width="1172" height="679" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The admin menu toolbar, with each button gated by the permissions of the account that opened it.</figcaption>
</figure>

<h2 id="step-7">7. Learn the default keybinds</h2>
<p>Beyond the two login keys, these are bound out of the box. All of them can be changed under <strong>Options &rarr; Controls</strong> in the <code>vpp</code> category.</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Key</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Action</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>End</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Log in / toggle admin tools</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Home</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Open the admin menu</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Insert</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Toggle god mode</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Backspace</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Toggle free camera</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>H</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Teleport to where you are looking</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Delete</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Delete the object under your crosshair</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>I</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Toggle invisibility</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>J</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Heal the player under your crosshair</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>K</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Repair the vehicle under your crosshair</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>P</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Copy your current position to the clipboard</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Y</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Toggle mesh ESP</td></tr></tbody></table></div>
<p>The menu itself has thirteen sections: <strong>Player Manager</strong>, <strong>Items Spawner</strong>, <strong>Teleport Tools</strong>, <strong>ESP Tools</strong>, <strong>Console</strong>, <strong>Server Settings</strong>, <strong>Weather Editor</strong>, <strong>Object Builder</strong>, <strong>Bans Manager</strong>, <strong>Permission Editor</strong>, <strong>Webhooks</strong>, <strong>XML Editor</strong> and <strong>Spectate</strong>. You only see the buttons your permissions allow.</p>
<p>There are also chat commands, each with its own permission: <code>/heal</code>, <code>/kill</code>, <code>/strip</code>, <code>/bring</code>, <code>/goto</code>, <code>/return</code>, <code>/tpt</code>, <code>/tpp</code>, <code>/ammo</code>, <code>/spawncar</code>, <code>/refuel</code>, <code>/unban</code> and a few more.</p>

<h2 id="step-8">8. Give your staff access without making them superadmins</h2>
<p>Open <strong>Permission Editor</strong> in the admin menu. A default group called <code>Admins</code> already exists at permission level 1. Create groups, set which of the thirteen sections each can use, and add members by Steam64 ID. Changes made here save immediately &mdash; no restart needed.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Permission levels are inverted from what most people expect: <strong>a lower number means more authority</strong>. A level 1 admin can act on a level 5 admin, never the other way round, and two admins on the same level cannot act on each other &mdash; only on themselves.</p></div>
<p>Two things that surprise people:</p>
<ul><li><strong>You will not find yourself in the Permission Editor.</strong> Superadmins live in <code>SuperAdmins.txt</code>, not in the group system, and cannot be added to a group.</li><li>If a group has the <strong>forced name</strong> option enabled, members are locked out whenever their in-game name stops matching the name stored on their entry. Update the entry after anyone renames.</li></ul>
<p>Everyone still logs in with the same password from <code>credentials.txt</code>; the group only decides what they can do once they are in.</p>

<h2 id="troubleshooting">Troubleshooting</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Pressing End does nothing at all in game</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The mod only enables the login prompt for accounts it already recognises. If your Steam64 ID is not in <code>SuperAdmins.txt</code> and you are not a member of a user group, the key is deliberately ignored with no message of any kind.</p>
<p><strong>How to fix it.</strong> Stop the server and re-open <code>profiles/VPPAdminTools/Permissions/SuperAdmins/SuperAdmins.txt</code>. Check the ID is your <strong>Steam64</strong> (17 digits starting <code>7656</code>), that it is alone on its line, and that the placeholder sentence is gone. Start the server again &mdash; this file is read only at startup, so edits do nothing until a restart.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The password prompt appears but the menu never opens</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> <strong>End</strong> and <strong>Home</strong> are two different keys doing two different jobs. End logs you in; Home opens the menu. Pressing Home before logging in does nothing.</p>
<p><strong>How to fix it.</strong> Press <strong>End</strong> first and complete the password prompt, then press <strong>Home</strong>. If Home still does nothing, check it is not bound to something else under <strong>Options &rarr; Controls</strong> in the <code>vpp</code> category.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The server will not start after adding the mod</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Almost always Community Framework: it is missing, or it is loading after VPP Admin Tools. VPPAT uses CF's XML functions, and Enforce Script cannot compile against types that are not loaded yet.</p>
<p><strong>How to fix it.</strong> In <strong>Workshop Mods</strong>, confirm Community Framework is installed and enabled, and use the <strong>Order</strong> arrows to place it <strong>above</strong> VPP Admin Tools. Then check <strong>Live Logs</strong> on the <code>rpt</code> stream for the compile error to confirm it is gone.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Locked out after too many wrong passwords</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Failed logins are counted per Steam64 ID and capped at six.</p>
<p><strong>How to fix it.</strong> Both your game and the server need restarting to clear the counter. If you have also forgotten the password, delete everything in <code>credentials.txt</code>, write a new one on the first line, and restart &mdash; it is re-hashed on the next boot.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Players are kicked for an unsigned mod after installing it</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Your server has signature verification enabled and the mod's key is not in the server's <code>keys</code> folder.</p>
<p><strong>How to fix it.</strong> Open <strong>File Browser</strong>, switch <strong>Share</strong> to <code>config</code> and check the <code>keys</code> folder contains the mod's <code>.bikey</code>. If it is missing, copy it from the mod's own <code>Keys</code> folder in the <code>mods</code> share. Every mod your players load needs its key present.</p></div>
</details>

<h2 id="faq">Frequently asked questions</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Do my players need to install VPP Admin Tools too?</h3></summary>
<div style="padding-top:.5em"><p>Yes. It is not a server-only mod &mdash; the admin menu, the keybinds and all of the UI are client-side, so everyone connecting needs it. That is why <strong>Load as server-only mod</strong> must stay unchecked. Publish your mod list, including Community Framework, wherever you advertise the server.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Why do I have to restart twice?</h3></summary>
<div style="padding-top:.5em"><p>The mod creates <code>credentials.txt</code> and <code>SuperAdmins.txt</code> during startup and does not read them again in the same session. So the first boot only writes the placeholder files, and your password and admin list are not picked up until the boot after you edit them.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Where exactly are the config files?</h3></summary>
<div style="padding-top:.5em"><p>In your server's profile folder, which is the <code>profiles</code> share in the panel &mdash; reachable from both the <strong>File Browser</strong> and SFTP. Everything lives under <code>profiles/VPPAdminTools/</code>. It is not in the mission folder or next to the server executable.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Do its bans replace the panel Players page?</h3></summary>
<div style="padding-top:.5em"><p>No, they are separate systems. Bans made in the mod's <strong>Bans Manager</strong> are stored in its own <code>BanList.json</code> and enforced by the mod when someone connects. The panel's <strong>Players</strong> page writes <code>ban.txt</code> and BattlEye's ban list instead. Both work; just remember a ban made in one will not show up in the other.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I turn off the admin password?</h3></summary>
<div style="padding-top:.5em"><p>There is a <code>serverDZ.cfg</code> option that skips the in-game password so recognised admins get their tools automatically on connect. It also removes a verification step from the mod's internal permission checks, leaving Steam64 membership as the only thing standing between someone and full admin access. Leave the password on unless you have a specific reason not to.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Does it need RCON set up?</h3></summary>
<div style="padding-top:.5em"><p>No. VPP Admin Tools works entirely in game and does not use BattlEye RCON. Your RCON password is still worth having for the panel's own <strong>RCON</strong> terminal and the <strong>Controlled Restart</strong> feature, which are separate from this mod.</p></div>
</details>

<h2>Related guides</h2>
<ul><li><a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">Getting started with the control panel</a></li><li><a href="https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/">installing Steam Workshop mods</a></li><li><a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">connecting with SFTP</a></li></ul>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "HowTo",
	"name": "How to Install VPP Admin Tools on Your DayZ Server",
	"description": "Install VPP Admin Tools on a DayZ server: add it with Community Framework, set your admin password, add your Steam64 ID and log in with End then Home.",
	"step": [
		{
			"@type": "HowToStep",
			"position": 1,
			"name": "Add VPP Admin Tools and Community Framework",
			"text": "Open your server, go to Workshop Mods, and add both mods. Paste each Workshop URL or ID into the box and click Lookup \u0026 add. Community Framework — search the Steam Workshop for Community Framework (often abbreviated CF ); VPP Admin Tools — Workshop ID 1828439124, or search for VPP Admin Tools; Careful: Leave Load as server-only mod unchecked for both. VPP Admin Tools is not a server-only mod — it ships the admin menu, the keybinds and the client-side UI, so it has to load on players' clients too. Ticking that box loads it with -servermod=, the server starts normally, and the admin menu then never appears for anyone. Community Framework must load before VPP Admin Tools. Use the arrows in the Order column so CF sits above it in the list. Note: VPP Admin Tools depends on Community Framework but does not declare it as a required addon in its config, so a dependency checker will not always flag it for you. Add CF explicitly rather than assuming it will be pulled in — without it the mod fails to compile and the server will not finish starting.",
			"url": "https://dzservers.host/articles/guides/install-vppadmintools-dayz-server/#step-1"
		},
		{
			"@type": "HowToStep",
			"position": 2,
			"name": "Start the server once to generate the config files",
			"text": "Go back to Overview and click Start. This first boot exists purely so the mod can create its folder structure — you will not be able to log in yet, and that is expected. Watch Live Logs with the Stream dropdown set to rpt. Once the mission has loaded, stop the server again. Note: If the server never finishes starting and the log shows a compile error mentioning CF_XML_Document or similar unknown types, Community Framework is missing or is loading after VPP Admin Tools. Fix the order in Workshop Mods and try again.",
			"url": "https://dzservers.host/articles/guides/install-vppadmintools-dayz-server/#step-2"
		},
		{
			"@type": "HowToStep",
			"position": 3,
			"name": "Find the generated files",
			"text": "The mod writes everything into your server's profile folder. In the panel that is the profiles share — open File Browser and switch the Share dropdown to profiles, then open VPPAdminTools. You should see. Path: What it is. Permissions/SuperAdmins/SuperAdmins.txt: Full-access admin list, one Steam64 ID per line. This is where you add yourself. Permissions/credentials.txt: The admin password used at login. Set this before the next start. Permissions/UserGroups/UserGroups.json: Staff roles and their permissions. Managed in game later; leave it alone for now. Logging/: One log file per server session. ConfigurablePlugins/: Per-feature settings such as webhooks, weather and teleport presets. Backups/: Copies the XML editor takes before it saves a change. Note: Prefer a desktop client? These are the same files over SFTP — see connecting with SFTP.",
			"url": "https://dzservers.host/articles/guides/install-vppadmintools-dayz-server/#step-3"
		},
		{
			"@type": "HowToStep",
			"position": 4,
			"name": "Set your admin password",
			"text": "Open Permissions/credentials.txt with View/Edit. It contains only comment lines beginning with //. Delete everything and put your password on the first line, on its own. MySecretPassword123 Data loss risk: The password must be 1 to 32 characters. On the next start the mod replaces the file contents with a hash and the plain text is gone for good, so save it somewhere safe first. A value of 33 to 63 characters is rejected and leaves the tools unusable; a value of exactly 64 characters is assumed to be an already-hashed password and is stored as-is. Everyone who logs into the admin menu uses this one password, whether they are a superadmin or in a staff group. If you ever lose it, empty the file, write a new password, and restart.",
			"url": "https://dzservers.host/articles/guides/install-vppadmintools-dayz-server/#step-4"
		},
		{
			"@type": "HowToStep",
			"position": 5,
			"name": "Add yourself as a superadmin",
			"text": "Open Permissions/SuperAdmins/SuperAdmins.txt. It contains a single placeholder sentence. Delete that line and replace it with your Steam64 ID. 76561198000000000 Add more admins one per line, with nothing else on the line. 76561198000000000 76561198000000001 Careful: The file has no comment syntax — every line is read as an ID, including the placeholder sentence and any trailing blank lines. Leave the placeholder in and you get a junk entry in your admin list. Superadmins bypass every permission check, so keep this list to people you genuinely trust. Staff who need only some tools should get a user group instead, which you set up in game in step 7.",
			"url": "https://dzservers.host/articles/guides/install-vppadmintools-dayz-server/#step-5"
		},
		{
			"@type": "HowToStep",
			"position": 6,
			"name": "Restart and log in",
			"text": "Start the server again. This is the boot where the mod actually reads both files, hashes your password and loads your admin list. Join your server, then use the two-step login. These are separate keys and the order matters. Press End to log in. A password prompt appears — enter the password from credentials.txt; Press Home to open the admin menu; Careful: If End appears to do nothing at all — no prompt, no message, no sound — your Steam64 ID is not being recognised. That silent no-op is by design, and it is the most common problem people hit. See the troubleshooting section below. Your password is remembered on your own machine after the first successful login, so later sessions only need End then Home.",
			"url": "https://dzservers.host/articles/guides/install-vppadmintools-dayz-server/#step-6"
		},
		{
			"@type": "HowToStep",
			"position": 7,
			"name": "Learn the default keybinds",
			"text": "Beyond the two login keys, these are bound out of the box. All of them can be changed under Options → Controls in the vpp category. Key: Action. End: Log in / toggle admin tools. Home: Open the admin menu. Insert: Toggle god mode. Backspace: Toggle free camera. H: Teleport to where you are looking. Delete: Delete the object under your crosshair. I: Toggle invisibility. J: Heal the player under your crosshair. K: Repair the vehicle under your crosshair. P: Copy your current position to the clipboard. Y: Toggle mesh ESP. The menu itself has thirteen sections: Player Manager, Items Spawner, Teleport Tools, ESP Tools, Console, Server Settings, Weather Editor, Object Builder, Bans Manager, Permission Editor, Webhooks, XML Editor and Spectate. You only see the buttons your permissions allow. There are also chat commands, each with its own permission: /heal, /kill, /strip, /bring, /goto, /return, /tpt, /tpp, /ammo, /spawncar, /refuel, /unban and a few more.",
			"url": "https://dzservers.host/articles/guides/install-vppadmintools-dayz-server/#step-7"
		},
		{
			"@type": "HowToStep",
			"position": 8,
			"name": "Give your staff access without making them superadmins",
			"text": "Open Permission Editor in the admin menu. A default group called Admins already exists at permission level 1. Create groups, set which of the thirteen sections each can use, and add members by Steam64 ID. Changes made here save immediately — no restart needed. Careful: Permission levels are inverted from what most people expect: a lower number means more authority. A level 1 admin can act on a level 5 admin, never the other way round, and two admins on the same level cannot act on each other — only on themselves. Two things that surprise people. You will not find yourself in the Permission Editor. Superadmins live in SuperAdmins.txt, not in the group system, and cannot be added to a group; If a group has the forced name option enabled, members are locked out whenever their in-game name stops matching the name stored on their entry. Update the entry after anyone renames; Everyone still logs in with the same password from credentials.txt; the group only decides what they can do once they are in.",
			"url": "https://dzservers.host/articles/guides/install-vppadmintools-dayz-server/#step-8"
		}
	],
	"totalTime": "PT20M",
	"supply": [
		{
			"@type": "HowToSupply",
			"name": "A provisioned server here, stopped. If you are brand new, start with getting started with the control panel."
		},
		{
			"@type": "HowToSupply",
			"name": "Your own Steam64 ID — the 17-digit number beginning 7656. Find it with steamid.io or any Steam ID lookup."
		},
		{
			"@type": "HowToSupply",
			"name": "A password you will use to log in to the admin menu in game. It must be 32 characters or fewer."
		},
		{
			"@type": "HowToSupply",
			"name": "Access to the File Browser or SFTP tab, since two config files need editing by hand."
		}
	]
}
</script>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "Do my players need to install VPP Admin Tools too?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Yes. It is not a server-only mod — the admin menu, the keybinds and all of the UI are client-side, so everyone connecting needs it. That is why Load as server-only mod must stay unchecked. Publish your mod list, including Community Framework, wherever you advertise the server."
			}
		},
		{
			"@type": "Question",
			"name": "Why do I have to restart twice?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "The mod creates credentials.txt and SuperAdmins.txt during startup and does not read them again in the same session. So the first boot only writes the placeholder files, and your password and admin list are not picked up until the boot after you edit them."
			}
		},
		{
			"@type": "Question",
			"name": "Where exactly are the config files?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "In your server's profile folder, which is the profiles share in the panel — reachable from both the File Browser and SFTP. Everything lives under profiles/VPPAdminTools/. It is not in the mission folder or next to the server executable."
			}
		},
		{
			"@type": "Question",
			"name": "Do its bans replace the panel Players page?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No, they are separate systems. Bans made in the mod's Bans Manager are stored in its own BanList.json and enforced by the mod when someone connects. The panel's Players page writes ban.txt and BattlEye's ban list instead. Both work; just remember a ban made in one will not show up in the other."
			}
		},
		{
			"@type": "Question",
			"name": "Can I turn off the admin password?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "There is a serverDZ.cfg option that skips the in-game password so recognised admins get their tools automatically on connect. It also removes a verification step from the mod's internal permission checks, leaving Steam64 membership as the only thing standing between someone and full admin access. Leave the password on unless you have a specific reason not to."
			}
		},
		{
			"@type": "Question",
			"name": "Does it need RCON set up?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. VPP Admin Tools works entirely in game and does not use BattlEye RCON. Your RCON password is still worth having for the panel's own RCON terminal and the Controlled Restart feature, which are separate from this mod."
			}
		}
	]
}
</script>]]></description><guid isPermaLink="false">2</guid><pubDate>Thu, 30 Jul 2026 15:37:03 +0000</pubDate></item><item><title>How to Warn Players and Restart a DayZ Server Without Rollbacks</title><link>https://dzservers.host/articles/guides/dayz-restart-without-rollback/</link><description><![CDATA[
<p><img src="https://dzservers.host/uploads/monthly_2026_07/controlled-restart-menu.png.51c7d6792e5cdf596d2401f183a97c87.png" /></p>
<!-- DZSH-MANAGED slug=dayz-restart-without-rollback rev=1 — generated by tools/articles. Do NOT edit in the IPS editor: HTMLPurifier strips <figure>, ids, data-* and JSON-LD. Edit tools/articles/articles/*-dayz-restart-without-rollback.js and re-run bin/publish.mjs. -->

<p>Every DayZ server restart kicks every connected player &mdash; there is no way around that, and any host who tells you otherwise is selling something. What you <em>can</em> control is whether players are warned in time to reach somewhere safe and whether they are disconnected cleanly, because a clean disconnect is what makes DayZ write each character to persistence. That is the whole difference between a routine restart and a wave of tickets about lost gear.</p>
<p>In the DZSERVERS.HOST panel that job belongs to <strong>Controlled Restart</strong> on the <strong>Overview</strong> tab: it broadcasts a countdown, locks the server with <code>#lock</code> so nobody joins mid-shutdown, kicks everyone through RCON, then stops and starts the instance while you watch an eleven-step timeline. This guide walks the whole sequence and shows what to do when it goes wrong.</p>

<nav class="dzshToc" aria-label="On this page" style="border:1px solid rgba(128,128,128,.28);border-left:3px solid #f59e0b;border-radius:4px;padding:.9em 1.1em .9em 1.4em;margin:1.75em 0;background:rgba(128,128,128,.05)">
<p style="margin:0 0 .5em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.78em;opacity:.8">On this page</p>
<ol style="margin:0;padding-left:1.2em;line-height:1.75"><li><a href="#step-1">See who is online, then pick a warning window</a></li><li><a href="#step-2">Start the Controlled Restart</a></li><li><a href="#step-3">Tell your players what to do with the warning</a></li><li><a href="#step-4">Watch the eleven-step timeline</a></li><li><a href="#step-5">Abort while you still can</a></li><li><a href="#step-6">Confirm the server is back, then clear the card</a></li><li><a href="#step-7">Check the Audit Log trail</a></li><li><a href="#step-8">Automate it so you rarely do this by hand</a></li><li><a href="#troubleshooting">Troubleshooting</a></li><li><a href="#faq">Frequently asked questions</a></li></ol>
</nav>

<h2>Before you start</h2>
<ul><li>The server must be <code>Running</code>. <strong>Controlled Restart</strong> is greyed out on a stopped instance &mdash; there is nothing to warn anyone about.</li><li>The <strong>Start / stop / restart</strong> permission. Instance owners have it; sub-users need it granted under <strong>Members</strong>.</li><li>A working admin and RCON password. The warnings, the lock and the kick all travel over BattlEye RCON, so if that password is wrong the restart cannot finish. Set it in <strong>Settings &rarr; Server &amp; RCON Authentication</strong> &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">getting started with the control panel</a>.</li><li>Ideally, backups already switched on in the <strong>Backups</strong> tab, so a bad night is recoverable rather than permanent.</li></ul>

<h2 id="step-1">1. See who is online, then pick a warning window</h2>
<p>Open the <strong>Players</strong> tab and switch to <strong>Online</strong> to see who is actually connected right now. An empty server needs no ceremony &mdash; a plain <strong>Restart</strong> is fine. Twenty people mid-raid need the longest warning you can give them.</p>
<p><strong>Controlled Restart</strong> offers three windows, and each one fires a different ladder of in-game broadcasts:</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Window</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Broadcasts players receive</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>5 minutes</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">5 min, 3 min, 1 min, 30 s</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>10 minutes</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">10 min, 5 min, 3 min, 1 min, 30 s</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>15 minutes</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">15 min, 10 min, 5 min, 3 min, 1 min, 30 s</td></tr></tbody></table></div>
<p>Ten minutes is the sensible default for a populated server. Five is enough for a quiet one. Fifteen is for when you know a big fight or a base build is in progress and you would rather not be the reason it ends badly.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Do not use <strong>Stop</strong> or the plain <strong>Restart</strong> button while players are online. Both act immediately: <strong>Stop</strong> asks the game process to exit and force-kills it if it does not go quietly, and <strong>Restart</strong> does the same then starts it again. Nobody disconnects &mdash; the server simply vanishes from under them. Every connected character reverts to whatever the server last committed to persistence, which is exactly the &ldquo;I lost my gear&rdquo; rollback you are trying to avoid.</p></div>

<h2 id="step-2">2. Start the Controlled Restart</h2>
<p>Go to the instance <strong>Overview</strong> tab. In the power control bar you will find <strong>Start</strong>, <strong>Stop</strong>, <strong>Restart</strong>, <strong>Controlled Restart</strong> and <strong>Update</strong>. Click <strong>Controlled Restart</strong> and a small menu drops down headed <strong>Warn players, then restart in:</strong> with three choices: <code>5 minutes</code>, <code>10 minutes</code> and <code>15 minutes</code>.</p>
<p>Pick one. The button briefly reads <code>Queuing…</code> and you get a confirmation such as <code>Controlled restart queued (10 min warning).</code> A live timeline card appears directly above the <strong>Overview</strong> card and stays there for the whole run.</p>
<p>The button is unavailable in four situations, and the tooltip tells you which:</p>
<ul><li><code>Server is not running</code> &mdash; start it first.</li><li><code>A controlled restart is already in progress</code> &mdash; only one can run per instance at a time.</li><li><code>Cannot restart while an update is in progress</code> &mdash; wait for the game-data update to finish.</li><li><code>Instance not provisioned</code> &mdash; the instance is not ready yet.</li></ul>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Nothing destructive happens the moment you click. The countdown, the lock and the kick are all still ahead of you, and you can call the whole thing off until the lock goes out.</p></div>

<figure class="dzshShot" id="shot-controlled-restart-menu" data-dzsh-slot="controlled-restart-menu" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/controlled-restart-menu.png.a101cf6cf861983565eca6187f50aeee.png" alt="Overview power controls with the Controlled Restart dropdown open showing 5, 10 and 15 minute options" width="867" height="368" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Controlled Restart dropdown on the Overview tab &mdash; choose how long players get before the kick.</figcaption>
</figure>

<h2 id="step-3">3. Tell your players what to do with the warning</h2>
<p>The broadcasts go out over BattlEye as global chat messages, so they land in the in-game chat box and nowhere else. Players with chat scrolled away, or sitting in a menu, can miss one. That is why the ladder repeats rather than announcing once.</p>
<p>The default wording is deliberately plain &mdash; <code>Server restart in 10 minutes.</code> down through <code>Server restart in 30 seconds.</code>, followed at zero by <code>Server restart is starting now. You will be kicked shortly.</code></p>
<p>Put this in your rules channel once and point at it forever. When a player sees a restart warning they should:</p>
<ol><li>Break contact. Do not start a fight, a raid or a heli crash run inside the warning window.</li><li>Finish whatever is in their hands &mdash; a half-completed craft or an open inventory transfer is the easiest way to lose an item.</li><li>Move somewhere they are happy to reappear: away from other players, away from infected, off a roof, out of the water.</li><li>Log out normally before the kick if they want certainty. A manual disconnect and the panel&rsquo;s kick both produce a clean disconnect, but leaving voluntarily means they choose the moment.</li></ol>
<p>The reason the panel kicks players rather than simply killing the process is that a kick <em>is</em> a normal disconnect as far as the DayZ server is concerned. The server runs its usual disconnect path and writes the character out. Pull the process instead and there is no disconnect to run, so the character falls back to the last state the server committed &mdash; position, health and inventory included.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Aborting after the broadcasts have gone out does not un-send them. If you cancel, say so in chat yourself from the <strong>RCON</strong> tab, or half your players will log off anyway.</p></div>

<h2 id="step-4">4. Watch the eleven-step timeline</h2>
<p>The card is headed <strong>Controlled restart</strong> with a note of who triggered it &mdash; <code>(manual)</code> for a button press or <code>(scheduler)</code> for a scheduled task. While the countdown is running it shows <strong>Restart in</strong> and a live clock such as <code>4m 05s</code>. Once the lock is in place a <code>locked</code> badge with a padlock appears next to the title.</p>
<p>Underneath, every stage of the process is listed in order. Completed stages turn green, the current one spins amber, and a failure marks the stage it died on in red.</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Step</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What is happening</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Queued</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The request is accepted and waiting to be picked up.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Preparing</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The panel checks the instance is provisioned, running and has a resolvable RCON port, then fixes the exact restart moment so a queue delay cannot compress your warning window.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Sending warnings</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Each broadcast in the ladder goes out at its scheduled offset.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Final warning</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The zero-minute message is sent.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Locking server</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>#lock</code> is sent over RCON so no new player can join during the shutdown.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Kicking players</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The panel queries the player list and kicks each slot with the reason <code>Server restart</code>, then waits out a short post-kick delay.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Stopping server</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The game process is stopped now that nobody is connected.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Starting server</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The process is started again.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Waiting for online</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The panel waits until the server answers queries or reports a server FPS figure, which is the real proof it finished loading.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Unlocking</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>#unlock</code> is sent as a belt-and-braces measure. A fresh start is unlocked anyway &mdash; the lock does not survive a restart.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Completed</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The run is finished and the instance is back in service.</td></tr></tbody></table></div>
<p>Expand <strong>Step log</strong> for the timestamped detail: which warning went out when, the result of the lock and kick step, and the exact reason for any failure. Two extra states never appear in the list because they replace it: <code>Failed</code> and <code>Aborted</code>.</p>

<figure class="dzshShot" id="shot-restart-timeline" data-dzsh-slot="restart-timeline" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/restart-timeline.png.cbb1d4b6405257d9e75fd2afb3d3963f.png" alt="Controlled restart timeline card mid-countdown with Sending warnings active, a Restart in countdown and an Abort button" width="1601" height="625" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The live controlled restart timeline, counting down through its eleven steps with Abort still available.</figcaption>
</figure>

<h2 id="step-5">5. Abort while you still can</h2>
<p>An <strong>Abort</strong> button sits at the top right of the timeline card during the first four steps only: <code>Queued</code>, <code>Preparing</code>, <code>Sending warnings</code> and <code>Final warning</code>. Click it and the run stops where it is, the card reads <code>This restart was aborted before the destructive phase.</code> and the server keeps running with everyone still connected.</p>
<p>The moment the process reaches <code>Locking server</code> the button disappears, and the API will refuse a late attempt with <code>The restart has entered its destructive phase and can no longer be aborted.</code> That boundary is deliberate: once the lock and the kicks are in flight, stopping halfway would leave you with a locked, empty, still-running server, which is worse than either outcome.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> If you genuinely need to cancel after the lock, let the restart complete. It ends with the server up, unlocked and accepting players &mdash; the cost is the downtime you were trying to avoid, not any data.</p></div>

<h2 id="step-6">6. Confirm the server is back, then clear the card</h2>
<p>Watch the last three steps. <code>Starting server</code> and <code>Waiting for online</code> are where a modded server takes its time; the panel allows roughly two minutes for the stop, three for the start and five more for the server to answer, and it gives up and reports a failure rather than hanging forever.</p>
<p>You are back in service when the timeline reaches <code>Completed</code>, the <strong>Server Status</strong> pill reads <code>Running</code> and <strong>Server FPS</strong> on the <strong>Overview</strong> tab reports a number again. Click <strong>Dismiss</strong> to clear the finished card.</p>
<p>If it ended in <code>Failed</code> instead, the reason is printed at the top of the card and repeated in <strong>Step log</strong>. Read it before touching anything &mdash; <code>Server did not stop in time.</code> and <code>Lock/kick step failed or timed out.</code> point at completely different problems.</p>

<figure class="dzshShot" id="shot-restart-completed" data-dzsh-slot="restart-completed" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/restart-completed.png.89ceaaa7ef19d20a41ddde1f26bc7180.png" alt="Controlled restart card showing all eleven steps green, a Completed state and the expanded Step log" width="1588" height="668" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">A finished controlled restart with every step green and the step log expanded for the timestamped detail.</figcaption>
</figure>

<h2 id="step-7">7. Check the Audit Log trail</h2>
<p>Every controlled restart writes itself into the <strong>Audit Log</strong> tab under the <strong>Scheduler</strong> category, so you can prove after the fact what happened and when. Filter to <strong>Scheduler</strong> and you will see the chain:</p>
<ul><li><code>Restart Queued</code></li><li><code>Restart: Locking Server</code></li><li><code>Restart: Kicking Players</code></li><li><code>Restart: Stopping Server</code></li><li><code>Restart: Starting Server</code></li><li><code>Restart Completed</code>, or <code>Restart Failed</code> / <code>Restart Aborted</code></li></ul>
<p>This is the record that settles arguments. When a player insists they lost a backpack &ldquo;in the restart&rdquo;, the audit trail shows whether a controlled restart ran at all, whether it completed, and whether it was a member of staff who pressed the button. Actions taken by sub-users are attributed to them by name &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-staff-permissions-api-keys/">staff permissions and API keys</a>.</p>

<figure class="dzshShot" id="shot-audit-log-restart" data-dzsh-slot="audit-log-restart" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/audit-log-restart.png.c7ba6e15cec59b3e922c1835e92606bb.png" alt="Audit Log tab filtered to the Scheduler category showing a full sequence of restart entries" width="1628" height="573" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Audit Log records every stage of a restart under the Scheduler category, with the staff member who triggered it.</figcaption>
</figure>

<h2 id="step-8">8. Automate it so you rarely do this by hand</h2>
<p>Doing this manually is for one-off maintenance. Routine restarts belong in the <strong>Scheduler</strong> tab: click <strong>New task</strong>, set <strong>Task type</strong> to <code>Restart (controlled)</code> and give it a daily time or two. Scheduled runs use exactly the same eleven-step engine and show the same live timeline, and the <strong>Next run</strong> column tells you when the next one lands.</p>
<p>A scheduled restart task exposes more control than the three-option dropdown does. Under <strong>Restart process</strong> you can:</p>
<ul><li>edit the <strong>Warning broadcasts (before restart)</strong> ladder outright &mdash; change the offsets, rewrite the text, or <strong>Add warning</strong> for extra checkpoints;</li><li>set the <strong>Final warning (at restart time)</strong> message;</li><li>set the <strong>Kick reason</strong> players see, and the <strong>Post-kick delay (s)</strong> breathing room before the stop;</li><li>turn off <strong>Lock the server (#lock) before kicking players</strong>, though there is rarely a good reason to.</li></ul>
<p>Set the times to your quiet hours and you will mostly stop thinking about restarts. Full detail, including how the schedule handles time zones, is in <a href="https://dzservers.host/articles/guides/dayz-server-automatic-restart-scheduler/">automatic restarts with the Scheduler</a>.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Restarts and backups solve different problems. A controlled restart prevents rollbacks; backups undo them. Turn both on &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">automatic backups and restore</a>.</p></div>

<figure class="dzshShot" id="shot-scheduler-restart-task" data-dzsh-slot="scheduler-restart-task" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/scheduler-restart-task.png.ed2f05535c795ceec763eac7902b5cc0.png" alt="Scheduler task editor with Restart (controlled) selected and the Restart process section showing the warning ladder" width="447" height="703" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">A scheduled controlled restart exposes the full warning ladder, kick reason and the #lock option.</figcaption>
</figure>

<h2 id="troubleshooting">Troubleshooting</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Players lost gear or spawned back at an old position after a restart</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The server process was ended while they were still connected &mdash; a <strong>Stop</strong>, a plain <strong>Restart</strong>, a crash or a memory kill. Without a disconnect, DayZ never runs its save-on-disconnect path for those characters, so each one reverts to the last state the server had committed. Anything gained since then is gone, and items moved around in the meantime can end up existing in two places at once, which is where duping complaints come from.</p>
<p><strong>How to fix it.</strong> Use <strong>Controlled Restart</strong> from now on, and schedule the routine ones. For the damage already done, the <strong>Backups</strong> tab can restore <strong>Players DB</strong> on its own without touching world data &mdash; the server must be stopped to restore. See <a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">automatic backups and restore</a>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Nobody saw the restart warning in chat</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Warnings are BattlEye global chat messages and nothing else. A player who joined between two broadcasts, had chat scrolled away, or was in a menu simply did not see one. If RCON itself cannot authenticate, none of them are delivered at all.</p>
<p><strong>How to fix it.</strong> Open the <strong>RCON</strong> tab and check the badge reads <code>Connected</code>. If it does not, re-check the admin and RCON password in <strong>Settings &rarr; Server &amp; RCON Authentication</strong> &mdash; remember it is 4 to 10 characters, letters and numbers only. Then prefer a 10 or 15 minute window, and in a scheduled task add extra checkpoints with <strong>Add warning</strong>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The Controlled Restart button is greyed out</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Four conditions disable it, and the tooltip names the one that applies: the server is not running, a controlled restart is already in progress, a game-data update is in flight, or the instance is not provisioned yet. A sub-user without the <strong>Start / stop / restart</strong> permission does not see the power controls at all.</p>
<p><strong>How to fix it.</strong> Hover the button and read the tooltip. If a previous run is stuck showing as active, open the timeline card &mdash; a finished run needs <strong>Dismiss</strong>, and a live one needs <strong>Abort</strong> or has to be allowed to finish. For a missing permission, the instance owner grants it under <strong>Members</strong>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The restart ended in Restart Failed</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Each stage has its own deadline and reports its own reason. <code>Lock/kick step failed or timed out.</code> means RCON did not answer, which is almost always the password. <code>Server did not stop in time.</code> and <code>Server did not start in time.</code> usually mean a heavy modded load or a node under pressure. <code>Server did not come online in time after start.</code> means the process launched but never finished loading its mission.</p>
<p><strong>How to fix it.</strong> Read the reason on the card and the detail in <strong>Step log</strong>, then check the <strong>Live Logs</strong> card with <strong>Stream</strong> set to <code>rpt</code> for the boot tail. The panel does not abandon your instance: if it gave up after asking for a stop, it puts the instance back to running on its own, and if the lock was still held it queues an <code>#unlock</code>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Players cannot join and the server looks locked out</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> A restart failed after <code>#lock</code> went out but while the server was still up, so the lock outlived the run. The panel tries to clear this automatically, but it cannot if RCON is unreachable &mdash; which is often the same fault that broke the restart.</p>
<p><strong>How to fix it.</strong> Open the <strong>RCON</strong> tab, click <strong>Connect RCON</strong>, and send <code>#unlock</code>. If RCON will not connect, fix the password first. A completed <strong>Controlled Restart</strong> also clears it, because a freshly started server is unlocked. More RCON detail is in <a href="https://dzservers.host/articles/guides/dayz-rcon-bans-whitelist-priority-queue/">RCON, bans, whitelist and priority queue</a>.</p></div>
</details>

<h2 id="faq">Frequently asked questions</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Does Controlled Restart avoid kicking players?</h3></summary>
<div style="padding-top:.5em"><p>No, and nothing can. A DayZ restart ends the game process, which disconnects everyone on it. What <strong>Controlled Restart</strong> changes is that players are warned on a repeating countdown, the server is locked so nobody joins into a shutdown, and each player is disconnected properly instead of having the server disappear from under them &mdash; which is what keeps their character state intact.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">What is the difference between Restart and Controlled Restart?</h3></summary>
<div style="padding-top:.5em"><p><strong>Restart</strong> stops and starts the process immediately: no warning, no lock, no kick. It is the right tool on an empty server or when something is already broken. <strong>Controlled Restart</strong> adds the warning ladder, the <code>#lock</code>, the RCON kick and the live timeline, and it is what you should use any time somebody is connected.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Why does the panel lock the server before kicking players?</h3></summary>
<div style="padding-top:.5em"><p>So that the server does not refill while it is emptying. Without the lock, a player can connect during the kick sequence, spend fifteen seconds loading in and then be killed by the shutdown with nothing saved. The lock is temporary in every sense: it does not survive the restart, the panel sends an <code>#unlock</code> as a final step anyway, and it is cleared automatically if the run fails while still holding it.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">How long is my DayZ server down during a controlled restart?</h3></summary>
<div style="padding-top:.5em"><p>Only the tail end of the process is downtime &mdash; the whole warning window is normal play. Actual downtime depends on your map and mod list, so watch the timeline rather than working to a fixed number: a heavily modded server takes substantially longer to boot than vanilla. What is fixed is when the panel gives up: it allows roughly two minutes for the stop, three for the start and five more for the server to answer before declaring a failure. Those are outer bounds, not the expected wait.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I use Controlled Restart to save settings that need the server stopped?</h3></summary>
<div style="padding-top:.5em"><p>Not directly, because it always brings the server back up. <strong>Instance Settings</strong> still requires a stopped instance to save. The clean pattern is to run a <strong>Controlled Restart</strong> so players leave properly, then click <strong>Stop</strong> as soon as the timeline reports <code>Completed</code>, make your changes and start it again. Config detail is in <a href="https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/">every serverDZ.cfg setting explained</a>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can a controlled restart damage bases, vehicles or stashes?</h3></summary>
<div style="padding-top:.5em"><p>A clean shutdown will not. Player characters and world objects are stored separately under <code>mpmissions/&lt;world&gt;/storage_*/</code>, and a controlled restart lets the server close both properly. It is the abrupt kill that puts them at risk, which is one more reason not to reach for <strong>Stop</strong> with players online. Keep backups on regardless, because a restart is not the only thing that can go wrong.</p></div>
</details>

<h2>Related guides</h2>
<ul><li><a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">Getting started with the control panel</a></li><li><a href="https://dzservers.host/articles/guides/dayz-server-automatic-restart-scheduler/">Automatic restarts with the Scheduler</a></li><li><a href="https://dzservers.host/articles/guides/dayz-rcon-bans-whitelist-priority-queue/">RCON, bans, whitelist and priority queue</a></li></ul>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "HowTo",
	"name": "How to Warn Players and Restart a DayZ Server Without Rollbacks",
	"description": "Every DayZ restart kicks all players. Controlled Restart warns them first, locks the server and disconnects them cleanly so nobody loses gear.",
	"step": [
		{
			"@type": "HowToStep",
			"position": 1,
			"name": "See who is online, then pick a warning window",
			"text": "Open the Players tab and switch to Online to see who is actually connected right now. An empty server needs no ceremony — a plain Restart is fine. Twenty people mid-raid need the longest warning you can give them. Controlled Restart offers three windows, and each one fires a different ladder of in-game broadcasts. Window: Broadcasts players receive. 5 minutes: 5 min, 3 min, 1 min, 30 s. 10 minutes: 10 min, 5 min, 3 min, 1 min, 30 s. 15 minutes: 15 min, 10 min, 5 min, 3 min, 1 min, 30 s. Ten minutes is the sensible default for a populated server. Five is enough for a quiet one. Fifteen is for when you know a big fight or a base build is in progress and you would rather not be the reason it ends badly. Data loss risk: Do not use Stop or the plain Restart button while players are online. Both act immediately: Stop asks the game process to exit and force-kills it if it does not go quietly, and Restart does the same then starts it again. Nobody disconnects — the server simply vanishes from under them. Every connected character reverts to whatever the server last committed to persistence, which is exactly the “I lost my gear” rollback you are trying to avoid.",
			"url": "https://dzservers.host/articles/guides/dayz-restart-without-rollback/#step-1"
		},
		{
			"@type": "HowToStep",
			"position": 2,
			"name": "Start the Controlled Restart",
			"text": "Go to the instance Overview tab. In the power control bar you will find Start, Stop, Restart, Controlled Restart and Update. Click Controlled Restart and a small menu drops down headed Warn players, then restart in: with three choices: 5 minutes, 10 minutes and 15 minutes. Pick one. The button briefly reads Queuing… and you get a confirmation such as Controlled restart queued (10 min warning). A live timeline card appears directly above the Overview card and stays there for the whole run. The button is unavailable in four situations, and the tooltip tells you which. Server is not running — start it first; A controlled restart is already in progress — only one can run per instance at a time; Cannot restart while an update is in progress — wait for the game-data update to finish; Instance not provisioned — the instance is not ready yet; Note: Nothing destructive happens the moment you click. The countdown, the lock and the kick are all still ahead of you, and you can call the whole thing off until the lock goes out.",
			"url": "https://dzservers.host/articles/guides/dayz-restart-without-rollback/#step-2"
		},
		{
			"@type": "HowToStep",
			"position": 3,
			"name": "Tell your players what to do with the warning",
			"text": "The broadcasts go out over BattlEye as global chat messages, so they land in the in-game chat box and nowhere else. Players with chat scrolled away, or sitting in a menu, can miss one. That is why the ladder repeats rather than announcing once. The default wording is deliberately plain — Server restart in 10 minutes. down through Server restart in 30 seconds., followed at zero by Server restart is starting now. You will be kicked shortly. Put this in your rules channel once and point at it forever. When a player sees a restart warning they should. Break contact. Do not start a fight, a raid or a heli crash run inside the warning window; Finish whatever is in their hands — a half-completed craft or an open inventory transfer is the easiest way to lose an item; Move somewhere they are happy to reappear: away from other players, away from infected, off a roof, out of the water; Log out normally before the kick if they want certainty. A manual disconnect and the panel’s kick both produce a clean disconnect, but leaving voluntarily means they choose the moment; The reason the panel kicks players rather than simply killing the process is that a kick is a normal disconnect as far as the DayZ server is concerned. The server runs its usual disconnect path and writes the character out. Pull the process instead and there is no disconnect to run, so the character falls back to the last state the server committed — position, health and inventory included. Careful: Aborting after the broadcasts have gone out does not un-send them. If you cancel, say so in chat yourself from the RCON tab, or half your players will log off anyway.",
			"url": "https://dzservers.host/articles/guides/dayz-restart-without-rollback/#step-3"
		},
		{
			"@type": "HowToStep",
			"position": 4,
			"name": "Watch the eleven-step timeline",
			"text": "The card is headed Controlled restart with a note of who triggered it — (manual) for a button press or (scheduler) for a scheduled task. While the countdown is running it shows Restart in and a live clock such as 4m 05s. Once the lock is in place a locked badge with a padlock appears next to the title. Underneath, every stage of the process is listed in order. Completed stages turn green, the current one spins amber, and a failure marks the stage it died on in red. Step: What is happening. Queued: The request is accepted and waiting to be picked up. Preparing: The panel checks the instance is provisioned, running and has a resolvable RCON port, then fixes the exact restart moment so a queue delay cannot compress your warning window. Sending warnings: Each broadcast in the ladder goes out at its scheduled offset. Final warning: The zero-minute message is sent. Locking server: #lock is sent over RCON so no new player can join during the shutdown. Kicking players: The panel queries the player list and kicks each slot with the reason Server restart, then waits out a short post-kick delay. Stopping server: The game process is stopped now that nobody is connected. Starting server: The process is started again. Waiting for online: The panel waits until the server answers queries or reports a server FPS figure, which is the real proof it finished loading. Unlocking: #unlock is sent as a belt-and-braces measure. A fresh start is unlocked anyway — the lock does not survive a restart. Completed: The run is finished and the instance is back in service. Expand Step log for the timestamped detail: which warning went out when, the result of the lock and kick step, and the exact reason for any failure. Two extra states never appear in the list because they replace it: Failed and Aborted.",
			"url": "https://dzservers.host/articles/guides/dayz-restart-without-rollback/#step-4"
		},
		{
			"@type": "HowToStep",
			"position": 5,
			"name": "Abort while you still can",
			"text": "An Abort button sits at the top right of the timeline card during the first four steps only: Queued, Preparing, Sending warnings and Final warning. Click it and the run stops where it is, the card reads This restart was aborted before the destructive phase. and the server keeps running with everyone still connected. The moment the process reaches Locking server the button disappears, and the API will refuse a late attempt with The restart has entered its destructive phase and can no longer be aborted. That boundary is deliberate: once the lock and the kicks are in flight, stopping halfway would leave you with a locked, empty, still-running server, which is worse than either outcome. Note: If you genuinely need to cancel after the lock, let the restart complete. It ends with the server up, unlocked and accepting players — the cost is the downtime you were trying to avoid, not any data.",
			"url": "https://dzservers.host/articles/guides/dayz-restart-without-rollback/#step-5"
		},
		{
			"@type": "HowToStep",
			"position": 6,
			"name": "Confirm the server is back, then clear the card",
			"text": "Watch the last three steps. Starting server and Waiting for online are where a modded server takes its time; the panel allows roughly two minutes for the stop, three for the start and five more for the server to answer, and it gives up and reports a failure rather than hanging forever. You are back in service when the timeline reaches Completed, the Server Status pill reads Running and Server FPS on the Overview tab reports a number again. Click Dismiss to clear the finished card. If it ended in Failed instead, the reason is printed at the top of the card and repeated in Step log. Read it before touching anything — Server did not stop in time. and Lock/kick step failed or timed out. point at completely different problems.",
			"url": "https://dzservers.host/articles/guides/dayz-restart-without-rollback/#step-6"
		},
		{
			"@type": "HowToStep",
			"position": 7,
			"name": "Check the Audit Log trail",
			"text": "Every controlled restart writes itself into the Audit Log tab under the Scheduler category, so you can prove after the fact what happened and when. Filter to Scheduler and you will see the chain. Restart Queued; Restart: Locking Server; Restart: Kicking Players; Restart: Stopping Server; Restart: Starting Server; Restart Completed, or Restart Failed / Restart Aborted; This is the record that settles arguments. When a player insists they lost a backpack “in the restart”, the audit trail shows whether a controlled restart ran at all, whether it completed, and whether it was a member of staff who pressed the button. Actions taken by sub-users are attributed to them by name — see staff permissions and API keys.",
			"url": "https://dzservers.host/articles/guides/dayz-restart-without-rollback/#step-7"
		},
		{
			"@type": "HowToStep",
			"position": 8,
			"name": "Automate it so you rarely do this by hand",
			"text": "Doing this manually is for one-off maintenance. Routine restarts belong in the Scheduler tab: click New task, set Task type to Restart (controlled) and give it a daily time or two. Scheduled runs use exactly the same eleven-step engine and show the same live timeline, and the Next run column tells you when the next one lands. A scheduled restart task exposes more control than the three-option dropdown does. Under Restart process you can. edit the Warning broadcasts (before restart) ladder outright — change the offsets, rewrite the text, or Add warning for extra checkpoints; set the Final warning (at restart time) message; set the Kick reason players see, and the Post-kick delay (s) breathing room before the stop; turn off Lock the server (#lock) before kicking players, though there is rarely a good reason to; Set the times to your quiet hours and you will mostly stop thinking about restarts. Full detail, including how the schedule handles time zones, is in automatic restarts with the Scheduler. Note: Restarts and backups solve different problems. A controlled restart prevents rollbacks; backups undo them. Turn both on — see automatic backups and restore.",
			"url": "https://dzservers.host/articles/guides/dayz-restart-without-rollback/#step-8"
		}
	],
	"totalTime": "PT20M",
	"supply": [
		{
			"@type": "HowToSupply",
			"name": "The server must be Running. Controlled Restart is greyed out on a stopped instance — there is nothing to warn anyone about."
		},
		{
			"@type": "HowToSupply",
			"name": "The Start / stop / restart permission. Instance owners have it; sub-users need it granted under Members."
		},
		{
			"@type": "HowToSupply",
			"name": "A working admin and RCON password. The warnings, the lock and the kick all travel over BattlEye RCON, so if that password is wrong the restart cannot finish. Set it in Settings → Server \u0026 RCON Authentication — see getting started with the control panel."
		},
		{
			"@type": "HowToSupply",
			"name": "Ideally, backups already switched on in the Backups tab, so a bad night is recoverable rather than permanent."
		}
	]
}
</script>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "Does Controlled Restart avoid kicking players?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No, and nothing can. A DayZ restart ends the game process, which disconnects everyone on it. What Controlled Restart changes is that players are warned on a repeating countdown, the server is locked so nobody joins into a shutdown, and each player is disconnected properly instead of having the server disappear from under them — which is what keeps their character state intact."
			}
		},
		{
			"@type": "Question",
			"name": "What is the difference between Restart and Controlled Restart?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Restart stops and starts the process immediately: no warning, no lock, no kick. It is the right tool on an empty server or when something is already broken. Controlled Restart adds the warning ladder, the #lock, the RCON kick and the live timeline, and it is what you should use any time somebody is connected."
			}
		},
		{
			"@type": "Question",
			"name": "Why does the panel lock the server before kicking players?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "So that the server does not refill while it is emptying. Without the lock, a player can connect during the kick sequence, spend fifteen seconds loading in and then be killed by the shutdown with nothing saved. The lock is temporary in every sense: it does not survive the restart, the panel sends an #unlock as a final step anyway, and it is cleared automatically if the run fails while still holding it."
			}
		},
		{
			"@type": "Question",
			"name": "How long is my DayZ server down during a controlled restart?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Only the tail end of the process is downtime — the whole warning window is normal play. Actual downtime depends on your map and mod list, so watch the timeline rather than working to a fixed number: a heavily modded server takes substantially longer to boot than vanilla. What is fixed is when the panel gives up: it allows roughly two minutes for the stop, three for the start and five more for the server to answer before declaring a failure. Those are outer bounds, not the expected wait."
			}
		},
		{
			"@type": "Question",
			"name": "Can I use Controlled Restart to save settings that need the server stopped?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Not directly, because it always brings the server back up. Instance Settings still requires a stopped instance to save. The clean pattern is to run a Controlled Restart so players leave properly, then click Stop as soon as the timeline reports Completed, make your changes and start it again. Config detail is in every serverDZ.cfg setting explained."
			}
		},
		{
			"@type": "Question",
			"name": "Can a controlled restart damage bases, vehicles or stashes?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "A clean shutdown will not. Player characters and world objects are stored separately under mpmissions/\u003cworld\u003e/storage_*/, and a controlled restart lets the server close both properly. It is the abrupt kill that puts them at risk, which is one more reason not to reach for Stop with players online. Keep backups on regardless, because a restart is not the only thing that can go wrong."
			}
		}
	]
}
</script>]]></description><guid isPermaLink="false">3</guid><pubDate>Thu, 30 Jul 2026 12:51:06 +0000</pubDate></item><item><title>Getting Started With Your DayZ Server Control Panel</title><link>https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/</link><description><![CDATA[
<p><img src="https://dzservers.host/uploads/monthly_2026_07/instances-list.png.5d67e2825c263d7c1d886b4438941386.png" /></p>
<!-- DZSH-MANAGED slug=dayz-server-control-panel-getting-started rev=1 — generated by tools/articles. Do NOT edit in the IPS editor: HTMLPurifier strips <figure>, ids, data-* and JSON-LD. Edit tools/articles/articles/*-dayz-server-control-panel-getting-started.js and re-run bin/publish.mjs. -->

<p>Your DayZ server is created automatically the moment your order completes, so there is no server to build and no wizard to run &mdash; it is already waiting for you in the panel under <strong>Instances</strong>. The five things worth doing on day one are: name it, set an admin and RCON password, add any mods you want, start it, and schedule a nightly restart.</p>
<p>This guide walks through that first run in order and points at the deeper guides for each area. Budget about fifteen minutes.</p>

<nav class="dzshToc" aria-label="On this page" style="border:1px solid rgba(128,128,128,.28);border-left:3px solid #f59e0b;border-radius:4px;padding:.9em 1.1em .9em 1.4em;margin:1.75em 0;background:rgba(128,128,128,.05)">
<p style="margin:0 0 .5em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.78em;opacity:.8">On this page</p>
<ol style="margin:0;padding-left:1.2em;line-height:1.75"><li><a href="#step-1">Sign in and open your server</a></li><li><a href="#step-2">Read the Overview tab</a></li><li><a href="#step-3">Name your server and set the basics</a></li><li><a href="#step-4">Set your admin and RCON password</a></li><li><a href="#step-5">Add mods now, if you want any</a></li><li><a href="#step-6">Start the server and connect</a></li><li><a href="#step-7">Set up a nightly restart and backups</a></li><li><a href="#troubleshooting">Troubleshooting</a></li><li><a href="#faq">Frequently asked questions</a></li></ol>
</nav>

<h2>Before you start</h2>
<ul><li>A completed order. Provisioning happens on its own straight afterwards, so if you have just paid, give it a minute and refresh.</li><li>Your panel sign-in. Use your community account through <strong>Login via Frontend</strong>, or the local username and password you were sent.</li><li>DayZ installed on your own PC if you want to connect and test &mdash; you will need it for the final step.</li></ul>

<figure class="dzshShot" id="shot-instances-list" data-dzsh-slot="instances-list" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/instances-list.png.4e9291454631589cd2f662b28e1fb215.png" alt="The Instances page listing one DayZ server with a Stopped status pill" width="1847" height="407" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Instances page is the panel&rsquo;s home screen &mdash; every server you own is listed here.</figcaption>
</figure>

<h2 id="step-1">1. Sign in and open your server</h2>
<p>Go to the control panel and sign in. If your account came from the community site, use <strong>Login via Frontend</strong> &mdash; that hands you straight over without a second password. Otherwise sign in with the local username and password you were issued.</p>
<p>You land on <strong>Instances</strong>. Click your server to open its <strong>Overview</strong> tab, which is the hub for everything else: the power controls, the live status, the connection details and the tab bar for every other feature.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> The panel calls your server an <em>instance</em>. You will see that word throughout the interface; it means one DayZ server that you own.</p></div>

<h2 id="step-2">2. Read the Overview tab</h2>
<p>Before changing anything, get your bearings. The <strong>Overview</strong> tab shows you:</p>
<ul><li><strong>Server Status</strong> &mdash; <code>Running</code>, <code>Stopped</code> or <code>Updating</code>. A brand new server reads <code>Stopped</code>.</li><li>The connection block: <strong>IP</strong>, <strong>Game Port</strong>, <strong>Query Port</strong> and <strong>RCON Port</strong>. Your RCON port is always the game port plus three.</li><li><strong>Max Slots</strong>, <strong>Mission</strong> (the map, <code>dayzOffline.chernarusplus</code> by default) and <strong>Template</strong> (the game build).</li><li><strong>Connect</strong> with a <strong>Copy</strong> button, plus <strong>Direct Connect</strong> and <strong>List on DZSA Launcher</strong> links for sharing.</li><li>Live <strong>CPU</strong>, <strong>RAM</strong> and <strong>Disk</strong> meters, <strong>Uptime</strong> and <strong>Server FPS</strong> once it is running.</li></ul>
<p>Note the <strong>Auto game updates</strong> toggle. Leave it on: when Bohemia ships a new DayZ build, the panel stops your server, updates it and starts it again on its own, which is usually what you want.</p>

<figure class="dzshShot" id="shot-overview-tab" data-dzsh-slot="overview-tab" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/overview-tab.png.bcab5efe3d1d9caf8b025d63730313ad.png" alt="Instance Overview tab showing status pill, connection details, resource meters and the tab bar" width="1654" height="953" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Overview tab, with the per-instance tab bar along the top and the power controls at the right.</figcaption>
</figure>

<h2 id="step-3">3. Name your server and set the basics</h2>
<p>Click <strong>Settings</strong> in the tab bar to open the <strong>Instance Settings</strong> panel. This is a proper editor for <code>serverDZ.cfg</code> &mdash; every field maps to a real config value, so you never hand-edit the file for routine changes.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Settings can only be saved while the server is <code>Stopped</code>. On a new server it already is. Later on, stop it first or the panel will tell you to.</p></div>
<p>At minimum, set:</p>
<ol><li><strong>Host Name</strong> &mdash; what players see in the server browser. Make it searchable: the map name and your key features help far more than decoration.</li><li><strong>Description</strong> &mdash; one line, up to 255 characters.</li><li><strong>Max Players</strong> &mdash; capped at the slot count you bought.</li><li><strong>Password</strong> &mdash; leave empty for a public server.</li></ol>
<p>Everything else has a sensible default. When you are ready to tune loot, day length, third-person or the admin logs, work through <a href="https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/">every serverDZ.cfg setting explained</a> rather than guessing.</p>
<p>Click <strong>Save</strong>. You should see <code>Changes Saved!</code>.</p>

<figure class="dzshShot" id="shot-instance-settings" data-dzsh-slot="instance-settings" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/instance-settings.png.194277fa11c69a5ffb7e49202a55c6e5.png" alt="Instance Settings panel with Host Name, Description and Max Players filled in" width="1361" height="755" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Instance Settings editor writes serverDZ.cfg for you &mdash; the server must be stopped to save.</figcaption>
</figure>

<h2 id="step-4">4. Set your admin and RCON password</h2>
<p>Scroll to <strong>Server &amp; RCON Authentication</strong> in the same panel. This one password covers two things: the in-game admin login (<code>passwordAdmin</code>) and BattlEye RCON (<code>RConPassword</code>), which is what the panel&rsquo;s own RCON console and any external admin tool authenticate with.</p>
<p>Click <strong>Regenerate</strong> for a strong value, or type your own. The engine is strict here:</p>
<ul><li>4 to 10 characters, no more</li><li>letters and numbers only &mdash; <code>A-Z</code>, <code>a-z</code>, <code>0-9</code></li></ul>
<p>Hit <strong>Save password</strong>, then <strong>Copy</strong> and store it in your password manager. You will need it for <a href="https://dzservers.host/articles/guides/dayz-rcon-bans-whitelist-priority-queue/">RCON, bans and the whitelist</a>.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Treat this like a root password. Anyone holding it can run RCON commands against your server, which includes kicking and banning every player on it.</p></div>

<figure class="dzshShot" id="shot-rcon-password" data-dzsh-slot="rcon-password" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/rcon-password.png.37bb7c3d7c1d7392c5e3bae347513d7b.png" alt="Server and RCON Authentication section with a generated password and Copy, Regenerate and Save password buttons" width="1346" height="742" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">One password serves both the in-game admin login and BattlEye RCON.</figcaption>
</figure>

<h2 id="step-5">5. Add mods now, if you want any</h2>
<p>If you plan to run mods, add them before your first start so the world generates with them in place. Open <strong>Workshop Mods</strong>, paste a Steam Workshop URL or its numeric id, and click <strong>Lookup &amp; add</strong>.</p>
<p>The panel resolves the mod&rsquo;s dependencies for you and installs those first, which is the single most common cause of a modded server failing to boot. Load order, server-only mods and auto-updates all matter and all have real consequences, so work through <a href="https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/">installing Steam Workshop mods</a> rather than improvising.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Some mods are marked <strong>ESSENTIAL</strong> with a padlock. Those come from the service template, they are required for your server to work, and they cannot be removed or reordered.</p></div>
<p>Running vanilla for now? Skip this entirely. You can add mods at any time later.</p>

<h2 id="step-6">6. Start the server and connect</h2>
<p>Back on <strong>Overview</strong>, click <strong>Start</strong>. First boot takes longer than later ones because DayZ generates the persistence storage. Watch the <strong>Live Logs</strong> card underneath and switch the <strong>Stream</strong> dropdown to <code>rpt</code> to follow along.</p>
<p>You are up when <strong>Server Status</strong> shows <code>Running</code>, the <strong>Server Info</strong> panel fills in with your name and player count, and <strong>Server FPS</strong> reports a number.</p>
<p>Now test it from the game. Use <strong>Copy</strong> next to <strong>Connect</strong> to grab your <code>ip:port</code>, then in DayZ open the server browser, go to <strong>Community</strong>, paste it into the search box, and join. Your admin password is what logs you in in-game.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Not appearing in the public browser straight away is normal &mdash; it can take a few minutes to be listed. <strong>Direct Connect</strong> works immediately.</p></div>

<figure class="dzshShot" id="shot-server-running" data-dzsh-slot="server-running" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/server-running.png.fdd96753d37fafb4b91a154f95e4e508.png" alt="Overview tab with Server Status Running, populated Server Info panel and live RPT log output" width="1589" height="698" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">A healthy first boot: status Running, Server Info populated and the RPT log streaming.</figcaption>
</figure>

<h2 id="step-7">7. Set up a nightly restart and backups</h2>
<p>Two pieces of housekeeping make the difference between a server that stays healthy and one you end up firefighting.</p>
<p><strong>Nightly restarts.</strong> DayZ servers degrade over long uptimes. Open <strong>Scheduler</strong>, click <strong>New task</strong>, choose <strong>Restart (controlled)</strong> and set it to repeat daily at a quiet hour. The default warning ladder broadcasts at 10, 5, 3 and 1 minutes and again 30 seconds out, so players get a chance to log out somewhere safe. That is exactly what prevents the rollbacks and lost gear covered in <a href="https://dzservers.host/articles/guides/dayz-restart-without-rollback/">restarting without rollbacks</a>.</p>
<p><strong>Backups.</strong> Open <strong>Backups</strong> and pick a frequency &mdash; <strong>Daily</strong> suits most servers. Backups are kept for 30 days and you can restore <strong>Players DB</strong>, <strong>World Data</strong> and mission XMLs independently, which matters when you only want to undo one of them. See <a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">automatic backups and restore</a>.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Want your own copy on your own disk as well? <strong>SFTP</strong> gives you full access to the mission and persistence folders &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">connecting with SFTP</a>.</p></div>

<figure class="dzshShot" id="shot-scheduler-restart" data-dzsh-slot="scheduler-restart" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/scheduler-restart.png.3565b2b2b8635f329313e501f5406ae4.png" alt="Scheduler task editor creating a daily controlled restart with the default warning ladder" width="1621" height="871" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">A daily controlled restart with warning broadcasts &mdash; the single most valuable task to set up.</figcaption>
</figure>

<h2 id="troubleshooting">Troubleshooting</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">My server is not in the Instances list after ordering</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Provisioning runs as a background job just after payment, so there is a short gap. Occasionally it cannot complete on its own &mdash; if no node in your chosen location has capacity, it stops and raises an alert with our team instead of half-building your server.</p>
<p><strong>How to fix it.</strong> Give it a minute and refresh. If it is still missing after about five, open a ticket with your order number. We will see the provisioning alert on our side and can place it manually.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Settings will not save and the panel says to stop the instance</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> <code>serverDZ.cfg</code> is read by the engine at boot and rewriting it underneath a live process would either be ignored or corrupt it, so the panel refuses while the server is running.</p>
<p><strong>How to fix it.</strong> Click <strong>Stop</strong> on <strong>Overview</strong>, wait for <code>Stopped</code>, then save. If players are online, use <strong>Controlled Restart</strong> instead so they are warned first.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The server says Running but nobody can connect</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Usually the server is still loading &mdash; on a modded first boot that can take several minutes &mdash; or a mod failed and the engine is stuck part-way up.</p>
<p><strong>How to fix it.</strong> Open <strong>Live Logs</strong>, set <strong>Stream</strong> to <code>rpt</code> and read the tail. A clean boot ends with the mission loaded. If you see a mod error, check <strong>Workshop Mods</strong> for a <code>Failed</code> status or a <strong>Missing dependencies</strong> card.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">I lost my admin password</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The password is stored for the server, not for you, and the field is masked.</p>
<p><strong>How to fix it.</strong> Stop the server, open <strong>Settings</strong> &rarr; <strong>Server &amp; RCON Authentication</strong>, click <strong>Regenerate</strong> then <strong>Save password</strong>, and copy the new value. Anything using the old RCON password needs updating.</p></div>
</details>

<h2 id="faq">Frequently asked questions</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Do I have to install DayZ server files myself?</h3></summary>
<div style="padding-top:.5em"><p>No. The server is provisioned with the game files, a default mission and a working <code>serverDZ.cfg</code> already in place, and it keeps itself patched when <strong>Auto game updates</strong> is on. You only manage configuration and mods.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">How do I change the map?</h3></summary>
<div style="padding-top:.5em"><p>Open <strong>Settings</strong>, scroll to <strong>Edit Mission</strong> and pick a <strong>Preset</strong> such as <code>dayzOffline.enoch</code> for Livonia or <code>dayzOffline.sakhal</code> for Sakhal, then <strong>Save mission</strong>. The server must be stopped. Changing map means a different persistence world, so your existing bases and characters stay behind on the old one.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I give someone else access without sharing my password?</h3></summary>
<div style="padding-top:.5em"><p>Yes, and you should. <strong>Members</strong> lets you add a sub-user with precisely the permissions you choose &mdash; from log-reading only up to full control &mdash; and every action is attributed in the <strong>Audit Log</strong>. See <a href="https://dzservers.host/articles/guides/dayz-server-staff-permissions-api-keys/">staff permissions and API keys</a>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Where do I find my server files?</h3></summary>
<div style="padding-top:.5em"><p>Either the <strong>File Browser</strong> tab in the panel or an SFTP client. Both expose the same four folders: <code>profiles</code>, <code>mpmissions</code>, <code>config</code> and <code>mods</code>. SFTP is the better choice for anything large &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">connecting with SFTP</a>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Does the panel restart my server when a DayZ update ships?</h3></summary>
<div style="padding-top:.5em"><p>Yes, when <strong>Auto game updates</strong> is on. The panel notices the new build, stops the server, updates the game data and starts it again, logging each step in the <strong>Audit Log</strong>. Mods marked <strong>Auto-update</strong> are handled the same way.</p></div>
</details>

<h2>Related guides</h2>
<ul><li><a href="https://dzservers.host/articles/guides/dayz-restart-without-rollback/">Restarting without rollbacks</a></li><li><a href="https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/">every serverDZ.cfg setting explained</a></li><li><a href="https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/">installing Steam Workshop mods</a></li><li><a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">connecting with SFTP</a></li><li><a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">Automatic backups and restore</a></li></ul>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "HowTo",
	"name": "Getting Started With Your DayZ Server Control Panel",
	"description": "Find your new DayZ server in the DZSERVERS.HOST panel, name it, set your admin password and start it for the first time. A guided first-run walkthrough.",
	"step": [
		{
			"@type": "HowToStep",
			"position": 1,
			"name": "Sign in and open your server",
			"text": "Go to the control panel and sign in. If your account came from the community site, use Login via Frontend — that hands you straight over without a second password. Otherwise sign in with the local username and password you were issued. You land on Instances. Click your server to open its Overview tab, which is the hub for everything else: the power controls, the live status, the connection details and the tab bar for every other feature. Note: The panel calls your server an instance. You will see that word throughout the interface; it means one DayZ server that you own.",
			"url": "https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/#step-1"
		},
		{
			"@type": "HowToStep",
			"position": 2,
			"name": "Read the Overview tab",
			"text": "Before changing anything, get your bearings. The Overview tab shows you. Server Status — Running, Stopped or Updating. A brand new server reads Stopped; The connection block: IP, Game Port, Query Port and RCON Port. Your RCON port is always the game port plus three; Max Slots, Mission (the map, dayzOffline.chernarusplus by default) and Template (the game build); Connect with a Copy button, plus Direct Connect and List on DZSA Launcher links for sharing; Live CPU, RAM and Disk meters, Uptime and Server FPS once it is running; Note the Auto game updates toggle. Leave it on: when Bohemia ships a new DayZ build, the panel stops your server, updates it and starts it again on its own, which is usually what you want.",
			"url": "https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/#step-2"
		},
		{
			"@type": "HowToStep",
			"position": 3,
			"name": "Name your server and set the basics",
			"text": "Click Settings in the tab bar to open the Instance Settings panel. This is a proper editor for serverDZ.cfg — every field maps to a real config value, so you never hand-edit the file for routine changes. Careful: Settings can only be saved while the server is Stopped. On a new server it already is. Later on, stop it first or the panel will tell you to. At minimum, set. Host Name — what players see in the server browser. Make it searchable: the map name and your key features help far more than decoration; Description — one line, up to 255 characters; Max Players — capped at the slot count you bought; Password — leave empty for a public server; Everything else has a sensible default. When you are ready to tune loot, day length, third-person or the admin logs, work through every serverDZ.cfg setting explained rather than guessing. Click Save. You should see Changes Saved!.",
			"url": "https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/#step-3"
		},
		{
			"@type": "HowToStep",
			"position": 4,
			"name": "Set your admin and RCON password",
			"text": "Scroll to Server \u0026 RCON Authentication in the same panel. This one password covers two things: the in-game admin login ( passwordAdmin ) and BattlEye RCON ( RConPassword ), which is what the panel’s own RCON console and any external admin tool authenticate with. Click Regenerate for a strong value, or type your own. The engine is strict here. 4 to 10 characters, no more; letters and numbers only — A-Z, a-z, 0-9; Hit Save password, then Copy and store it in your password manager. You will need it for RCON, bans and the whitelist. Careful: Treat this like a root password. Anyone holding it can run RCON commands against your server, which includes kicking and banning every player on it.",
			"url": "https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/#step-4"
		},
		{
			"@type": "HowToStep",
			"position": 5,
			"name": "Add mods now, if you want any",
			"text": "If you plan to run mods, add them before your first start so the world generates with them in place. Open Workshop Mods, paste a Steam Workshop URL or its numeric id, and click Lookup \u0026 add. The panel resolves the mod’s dependencies for you and installs those first, which is the single most common cause of a modded server failing to boot. Load order, server-only mods and auto-updates all matter and all have real consequences, so work through installing Steam Workshop mods rather than improvising. Note: Some mods are marked ESSENTIAL with a padlock. Those come from the service template, they are required for your server to work, and they cannot be removed or reordered. Running vanilla for now? Skip this entirely. You can add mods at any time later.",
			"url": "https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/#step-5"
		},
		{
			"@type": "HowToStep",
			"position": 6,
			"name": "Start the server and connect",
			"text": "Back on Overview, click Start. First boot takes longer than later ones because DayZ generates the persistence storage. Watch the Live Logs card underneath and switch the Stream dropdown to rpt to follow along. You are up when Server Status shows Running, the Server Info panel fills in with your name and player count, and Server FPS reports a number. Now test it from the game. Use Copy next to Connect to grab your ip:port, then in DayZ open the server browser, go to Community, paste it into the search box, and join. Your admin password is what logs you in in-game. Note: Not appearing in the public browser straight away is normal — it can take a few minutes to be listed. Direct Connect works immediately.",
			"url": "https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/#step-6"
		},
		{
			"@type": "HowToStep",
			"position": 7,
			"name": "Set up a nightly restart and backups",
			"text": "Two pieces of housekeeping make the difference between a server that stays healthy and one you end up firefighting. Nightly restarts. DayZ servers degrade over long uptimes. Open Scheduler, click New task, choose Restart (controlled) and set it to repeat daily at a quiet hour. The default warning ladder broadcasts at 10, 5, 3 and 1 minutes and again 30 seconds out, so players get a chance to log out somewhere safe. That is exactly what prevents the rollbacks and lost gear covered in restarting without rollbacks. Backups. Open Backups and pick a frequency — Daily suits most servers. Backups are kept for 30 days and you can restore Players DB, World Data and mission XMLs independently, which matters when you only want to undo one of them. See automatic backups and restore. Note: Want your own copy on your own disk as well? SFTP gives you full access to the mission and persistence folders — see connecting with SFTP.",
			"url": "https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/#step-7"
		}
	],
	"totalTime": "PT15M",
	"supply": [
		{
			"@type": "HowToSupply",
			"name": "A completed order. Provisioning happens on its own straight afterwards, so if you have just paid, give it a minute and refresh."
		},
		{
			"@type": "HowToSupply",
			"name": "Your panel sign-in. Use your community account through Login via Frontend, or the local username and password you were sent."
		},
		{
			"@type": "HowToSupply",
			"name": "DayZ installed on your own PC if you want to connect and test — you will need it for the final step."
		}
	]
}
</script>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "Do I have to install DayZ server files myself?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. The server is provisioned with the game files, a default mission and a working serverDZ.cfg already in place, and it keeps itself patched when Auto game updates is on. You only manage configuration and mods."
			}
		},
		{
			"@type": "Question",
			"name": "How do I change the map?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Open Settings, scroll to Edit Mission and pick a Preset such as dayzOffline.enoch for Livonia or dayzOffline.sakhal for Sakhal, then Save mission. The server must be stopped. Changing map means a different persistence world, so your existing bases and characters stay behind on the old one."
			}
		},
		{
			"@type": "Question",
			"name": "Can I give someone else access without sharing my password?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Yes, and you should. Members lets you add a sub-user with precisely the permissions you choose — from log-reading only up to full control — and every action is attributed in the Audit Log. See staff permissions and API keys."
			}
		},
		{
			"@type": "Question",
			"name": "Where do I find my server files?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Either the File Browser tab in the panel or an SFTP client. Both expose the same four folders: profiles, mpmissions, config and mods. SFTP is the better choice for anything large — see connecting with SFTP."
			}
		},
		{
			"@type": "Question",
			"name": "Does the panel restart my server when a DayZ update ships?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Yes, when Auto game updates is on. The panel notices the new build, stops the server, updates the game data and starts it again, logging each step in the Audit Log. Mods marked Auto-update are handled the same way."
			}
		}
	]
}
</script>]]></description><guid isPermaLink="false">4</guid><pubDate>Thu, 30 Jul 2026 15:03:20 +0000</pubDate></item><item><title>Every serverDZ.cfg Setting Explained (DayZ Server Configuration)</title><link>https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/</link><description><![CDATA[
<p><img src="https://dzservers.host/uploads/monthly_2026_07/settings-identity.png.ea251732c34808d3eb60a73251c3f5ce.png" /></p>
<!-- DZSH-MANAGED slug=serverdz-cfg-settings-explained rev=1 — generated by tools/articles. Do NOT edit in the IPS editor: HTMLPurifier strips <figure>, ids, data-* and JSON-LD. Edit tools/articles/articles/*-serverdz-cfg-settings-explained.js and re-run bin/publish.mjs. -->

<p>Every <code>serverDZ.cfg</code> value you are likely to want is already a typed field in the panel: open <strong>Instances &rarr; your server &rarr; Settings</strong> and the <strong>Instance Settings</strong> editor lists all thirty of them, each with its own help line underneath. This guide documents every field &mdash; the <code>serverDZ.cfg</code> key it writes, its accepted range and a recommended value &mdash; plus the two things people get wrong most often: how time acceleration maps to real day length, and what changing the map does to your persistence.</p>
<p>The editor only saves while the instance is <code>Stopped</code>, so plan a stop or a <strong>Controlled Restart</strong> before you start editing. Nothing here takes effect until the server boots again.</p>

<nav class="dzshToc" aria-label="On this page" style="border:1px solid rgba(128,128,128,.28);border-left:3px solid #f59e0b;border-radius:4px;padding:.9em 1.1em .9em 1.4em;margin:1.75em 0;background:rgba(128,128,128,.05)">
<p style="margin:0 0 .5em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.78em;opacity:.8">On this page</p>
<ol style="margin:0;padding-left:1.2em;line-height:1.75"><li><a href="#step-1">Stop the instance and open the editor</a></li><li><a href="#step-2">Identity and access: name, description, password and slots</a></li><li><a href="#step-3">Time of day, and how long a day actually lasts</a></li><li><a href="#step-4">Gameplay restrictions</a></li><li><a href="#step-5">Admin logging: what lands in the ADM log</a></li><li><a href="#step-6">Networking, view distance and object streaming</a></li><li><a href="#step-7">Enable CfgGameplay File, and changing the map</a></li><li><a href="#step-8">Save, start and check your work</a></li><li><a href="#troubleshooting">Troubleshooting</a></li><li><a href="#faq">Frequently asked questions</a></li></ol>
</nav>

<h2>Before you start</h2>
<ul><li>An instance you can stop. <strong>Save</strong> is disabled while the status pill reads <code>Running</code>.</li><li>The <strong>Edit settings</strong> permission. Sub-users without it do not see the <strong>Settings</strong> button at all, and changing the map needs the separate <strong>Change mission</strong> permission &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-staff-permissions-api-keys/">staff permissions and API keys</a>.</li><li>Nothing else. You never need to open <code>serverDZ.cfg</code> by hand for any field listed below, although you can read it in <strong>File Browser</strong> under the <code>config</code> share if you want to check the panel&rsquo;s work.</li></ul>

<h2 id="step-1">1. Stop the instance and open the editor</h2>
<p>On <strong>Overview</strong>, click <strong>Stop</strong> and wait for the status pill to read <code>Stopped</code>. With players online, warn them with a <strong>Controlled Restart</strong> first &mdash; see <a href="https://dzservers.host/articles/guides/dayz-restart-without-rollback/">restarting without rollbacks</a> &mdash; then stop it.</p>
<p>Now click <strong>Settings</strong> in the tab bar. A dialog opens titled <strong>Instance Settings</strong> with your instance id beneath it. It contains, in order:</p>
<ol><li>A two-column grid of all thirty <code>serverDZ.cfg</code> fields, each with its help text under it.</li><li><strong>Edit Mission</strong> &mdash; the map selector, covered in step 7.</li><li><strong>Server &amp; RCON Authentication</strong> &mdash; the admin and RCON password, covered in <a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">getting started with the control panel</a>.</li></ol>
<p>Two behaviours are worth knowing before you touch anything. Grey placeholder text in a numeric or text box is DayZ&rsquo;s own default, not a value you have set. And <strong>clearing a field removes that key from <code>serverDZ.cfg</code> entirely</strong>, which hands the setting back to the engine default rather than writing a zero. That is the correct way to undo a change you no longer want.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> <strong>Save</strong> sends only the fields you actually changed, so leaving the rest untouched is safe. A successful write shows <code>Changes Saved!</code>; if you changed nothing you get <code>No changes required.</code> While the instance is running you get a red <code>Stop the instance to change settings.</code> banner and a dead <strong>Save</strong> button.</p></div>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Three things people look for here are deliberately elsewhere: whitelist enforcement is on <strong>Players &rarr; Whitelist</strong>, mods are on <strong>Workshop Mods</strong>, and BattlEye filter files are not exposed at all.</p></div>

<figure class="dzshShot" id="shot-settings-identity" data-dzsh-slot="settings-identity" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/settings-identity.png.11d5cf016b534a643ac9ee5beaa278b5.png" alt="Instance Settings dialog showing the Host Name, Description, Password and Max Players fields with their help text" width="1335" height="327" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Instance Settings editor is a typed front end for serverDZ.cfg &mdash; every field writes one real config key.</figcaption>
</figure>

<h2 id="step-2">2. Identity and access: name, description, password and slots</h2>
<p>These four are the only fields most servers ever change, and they are what a player sees before deciding whether to join. Treat <strong>Host Name</strong> as a search result rather than a title: the map name and your headline features earn far more clicks than decoration.</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="min-width:32em;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Field</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">serverDZ.cfg key</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Limits</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What to set</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Host Name</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>hostname</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Text, 96 characters</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The name in the server browser. Lead with the map and your two biggest selling points.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Description</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>description</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Text, 255 characters</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">One line of extra detail shown in the client server browser. Optional.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Password</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>password</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Text</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The join password. Leave it empty for a public server &mdash; empty means the key is removed, not set to blank.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Max Players</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>maxPlayers</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">1&ndash;127, capped at your slot count</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Your purchased slot count, or lower if you want to run smaller for a while.</td></tr></tbody></table></div>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> <strong>Host Name</strong> lets you keep typing past 96 characters but the save is rejected with <code>'hostName' too long (max 96).</code> Count it, or paste it somewhere that shows a character count first.</p></div>
<p><strong>Max Players</strong> is the one field with a hard ceiling above it. Its help line tells you yours &mdash; <code>Maximum amount of players. This instance's provisioned cap is 60.</code> with your own number. Anything from 1 up to that cap is allowed; above it the save fails. The agent also re-checks the value before every launch and clamps it back down, so editing <code>serverDZ.cfg</code> by hand will not get you extra slots.</p>

<h2 id="step-3">3. Time of day, and how long a day actually lasts</h2>
<p>This is the group that generates the most confusion, because the two acceleration fields multiply together rather than acting independently.</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="min-width:40em;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Field</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">serverDZ.cfg key</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Range</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Recommended</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What it does</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Server Time</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>serverTime</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>SystemTime</code> or <code>YYYY/MM/DD/HH/MM</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>SystemTime</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The in-game time the server starts at. <code>SystemTime</code> uses the host machine&rsquo;s local clock; a literal value looks like <code>2015/4/8/17/23</code>.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Server Time Acceleration</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>serverTimeAcceleration</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">0.1&ndash;64</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">4 to 12</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Multiplier for the passage of in-game time. At 1 a full day takes 24 real hours; at 24 it takes one.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Server Night Time Acceleration</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>serverNightTimeAcceleration</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">0.1&ndash;64</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">2 to 6</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">A second multiplier applied on top of the first, during night only. Use it to keep nights short without speeding up the whole day.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Server Time Persistent</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>serverTimePersistent</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Checkbox (0 or 1)</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">On</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Saves the clock to storage, so the next start resumes where the last one stopped instead of jumping back to <strong>Server Time</strong>.</td></tr></tbody></table></div>
<p>Work the arithmetic through once and it stops being mysterious. Take a 24-hour in-game cycle split evenly into 12 hours of daylight and 12 of night; the real split shifts with the map and the date, but even is close enough to plan with. With <strong>Server Time Acceleration</strong> at 8 and <strong>Server Night Time Acceleration</strong> at 4:</p>
<ul><li>Daylight runs at 8&times;, so 12 in-game hours take <strong>90 real minutes</strong>.</li><li>Night runs at 8 &times; 4 = 32&times;, so 12 in-game hours take <strong>22.5 real minutes</strong>.</li><li>A full cycle is therefore just under <strong>two real hours</strong>, of which players spend about 20 minutes in the dark.</li></ul>
<p>The general form: real minutes per cycle = (daylight hours &times; 60 &divide; acceleration) + (night hours &times; 60 &divide; (acceleration &times; night acceleration)). Written into the file, that example is:</p>
<pre class="ipsCode prettyprint lang-c">serverTime = "SystemTime";
serverTimeAcceleration = 8;
serverNightTimeAcceleration = 4;
serverTimePersistent = 1;</pre>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> These two fields are the only numbers in the editor with no enforced ceiling &mdash; the box will accept 500. DayZ only honours 0.1 to 64, so keep yourself inside that range. Values under 1 slow time down instead of speeding it up.</p></div>
<p><strong>Server Time Persistent</strong> matters more than it looks. With it off, every restart re-reads <strong>Server Time</strong>, so a server pinned to a literal timestamp lands on the same hour forever. With it on, the clock carries across restarts and keeps moving through the week.</p>

<figure class="dzshShot" id="shot-settings-time" data-dzsh-slot="settings-time" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/settings-time.png.45705b627cd4c97a2682d568d0c2d4be.png" alt="The Server Time, Server Time Acceleration, Server Night Time Acceleration and Server Time Persistent fields filled in" width="1312" height="246" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Time acceleration and night acceleration multiply together &mdash; 8 and 4 gives a 32x night.</figcaption>
</figure>

<h2 id="step-4">4. Gameplay restrictions</h2>
<p>Every field in this group is a checkbox that writes <code>0</code> or <code>1</code>. Read the labels carefully: most of them are phrased as <code>disable</code>, so <strong>ticking the box removes the feature</strong> rather than adding it.</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="min-width:32em;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Field</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">serverDZ.cfg key</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Recommended</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What it does</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Disable 3rd Person</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>disable3rdPerson</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Off, unless you want a first-person server</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Ticked forces every player into first person. This is the setting that defines a hardcore or first-person-only server.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Disable Crosshair</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>disableCrosshair</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Off for a public server, on for hardcore</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Ticked removes the centre crosshair, so players must use weapon sights.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Disable Personal Light</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>disablePersonalLight</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">On for real darkness</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Ticked removes the faint light that follows every player, which is what makes DayZ nights genuinely dark.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Disable Base Damage</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>disableBaseDamage</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Off</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Ticked makes fences and watchtowers indestructible. Popular on PvE; on a PvP server it means no one can ever be raided.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Disable Container Damage</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>disableContainerDamage</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Off</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Ticked makes tents, barrels, wooden crates and sea chests indestructible.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Disable Respawn Dialog</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>disableRespawnDialog</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Off</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Ticked removes the spawn-choice dialog, so new characters always spawn at a random point.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Shot Validation</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>shotValidation</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">On</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Ticked makes the server reject shots that arrive in an impossible state, such as from a client whose connection briefly froze.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Enable Mouse And Keyboard</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>enableMouseAndKeyboard</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Off</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">A console-platform option that permits mouse and keyboard input on Xbox and PlayStation servers. It changes nothing on a PC server.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Disable Multi Account Mitigation</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>disableMultiAccountMitigation</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Off</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Another console-only option, which turns off the platform&rsquo;s multi-account protection. No effect on PC.</td></tr></tbody></table></div>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> The help line under <strong>Enable Mouse And Keyboard</strong> describes a character debug window. That text belongs to a neighbouring key in Bohemia&rsquo;s own annotated <code>serverDZ.cfg</code> and travelled with it; the key itself is the console input option above, so ticking it will not give you a debug overlay.</p></div>
<p>Building a first-person server? Tick <strong>Disable 3rd Person</strong> and <strong>Disable Crosshair</strong> together and say so in <strong>Host Name</strong> &mdash; players searching for first person read the browser text, they do not filter on the key.</p>

<h2 id="step-5">5. Admin logging: what lands in the ADM log</h2>
<p>These four checkboxes control how much detail the engine writes to its admin log. The panel always launches your server with <code>-adminlog</code> and a profiles directory, so the <code>.ADM</code> file always exists &mdash; you can read it live from the <strong>Live Logs</strong> card on <strong>Overview</strong> by setting the <strong>Stream</strong> dropdown to <code>adm</code>, or open it in the <code>profiles</code> share.</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="min-width:32em;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Field</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">serverDZ.cfg key</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Recommended</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What it does</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Admin Log: Player Hits Only</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>adminLogPlayerHitsOnly</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">On</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Ticked logs only hits that involve players. Unticked logs every hit including animals and infected, which buries the PvP you were looking for.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Admin Log: Placement</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>adminLogPlacement</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">On</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Logs placement actions such as traps and tents. Useful for tracing who put a bear trap in a loot room.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Admin Log: Build Actions</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>adminLogBuildActions</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">On</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Logs base building: build, dismantle and destroy. Your evidence trail for raid and griefing disputes.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Admin Log: Player List</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>adminLogPlayerList</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">On</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Writes a list of connected players and their positions every five minutes. Invaluable after the fact; it also grows the log steadily.</td></tr></tbody></table></div>
<p>Turn all four on. The log is the only record of what happened once players have logged off, and it cannot be reconstructed retroactively &mdash; a setting you left off yesterday tells you nothing about yesterday.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> The ADM log answers &ldquo;what did this player do&rdquo;. For &ldquo;who is on right now and where&rdquo;, use <a href="https://dzservers.host/articles/guides/dayz-live-player-map/">the live player map</a> instead, and for kicks and bans use <a href="https://dzservers.host/articles/guides/dayz-rcon-bans-whitelist-priority-queue/">RCON, bans and the whitelist</a>.</p></div>

<figure class="dzshShot" id="shot-settings-adminlog" data-dzsh-slot="settings-adminlog" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/settings-adminlog.png.71eb163702001fe601e5d3a8af7194a8.png" alt="The four Admin Log checkboxes ticked with their help text visible" width="1317" height="424" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">All four admin log options on &mdash; the log is the only record of what happened while you were away.</figcaption>
</figure>

<h2 id="step-6">6. Networking, view distance and object streaming</h2>
<p>Everything in this group trades server CPU and bandwidth for what players can see and how quickly the world appears around them. The defaults are Bohemia&rsquo;s and they are well chosen; change them one at a time and watch <strong>Server FPS</strong> on <strong>Overview</strong> afterwards.</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="min-width:40em;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Field</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">serverDZ.cfg key</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Range</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Recommended</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What it does</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Network Range Close</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>networkRangeClose</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">0&ndash;2200</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">20</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Distance in metres at which objects that contain items, such as backpacks, are spawned for a client.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Network Range Near</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>networkRangeNear</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">0&ndash;2200</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">150</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Distance in metres at which loose inventory items are spawned for a client. Despawn happens 10% further out.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Network Range Far</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>networkRangeFar</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">0&ndash;2200</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">1000</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Distance in metres at which everything other than inventory items is spawned. Raising this is the usual way to see distant vehicles &mdash; and the usual way to wreck server FPS.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Network Range Distant Effect</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>networkRangeDistantEffect</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">0&ndash;8000</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">4000</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Distance in metres at which effects are spawned. Currently sound effects only, so this is what governs how far away gunshots can be heard.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Default Visibility</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>defaultVisibility</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">0&ndash;5000</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">1375</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Highest terrain render distance the server permits. A client asking for less than this gets what it asked for; a client asking for more is capped here.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Default Object View Distance</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>defaultObjectViewDistance</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">0&ndash;5000</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">1375</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The same ceiling for objects rather than terrain.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Network Object Batch Send</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>networkObjectBatchSend</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">1&ndash;500</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">10</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">How many objects the server may send for creation in one go. Higher values populate the world faster and cost more frame time.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Network Object Batch Compute</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>networkObjectBatchCompute</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">100&ndash;8000</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">1000</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">How many entries in the create and destroy lists the server checks per frame.</td></tr></tbody></table></div>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Raising the network ranges is the most common self-inflicted performance problem on a DayZ server. Every metre you add is more objects the server tracks and streams for every connected player, and the cost scales with player count. If <strong>Server FPS</strong> drops after a change, put it back.</p></div>
<p>Heavily modded servers are usually better served by leaving these alone and managing <a href="https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/">mod load order</a> instead. Loot volume belongs in <a href="https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/">types.xml and the loot economy</a>, not here.</p>

<figure class="dzshShot" id="shot-settings-network" data-dzsh-slot="settings-network" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/settings-network.png.ebb1c80b440d0399df7124d6ff0ff9af.png" alt="Network Range and view distance fields showing default values of 20, 150, 1000, 4000 and 1375" width="1316" height="443" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Network ranges and view distance ceilings, at the stock DayZ values.</figcaption>
</figure>

<h2 id="step-7">7. Enable CfgGameplay File, and changing the map</h2>
<p>Two controls reach outside <code>serverDZ.cfg</code>, so they behave a little differently.</p>
<p><strong><strong>Enable CfgGameplay File</strong></strong> is the last checkbox in the grid and writes <code>enableCfgGameplayFile = 1;</code>. With it on, the engine also reads gameplay values from <code>cfggameplay.json</code> inside your mission folder &mdash; things <code>serverDZ.cfg</code> cannot express, such as stamina and base-building rules. The panel neither edits nor validates that file, so check it exists in <strong>File Browser &rarr; mpmissions &rarr; your mission</strong> before ticking the box, and read the <code>rpt</code> stream on the next start. It is JSON: one stray comma is enough to break it.</p>
<p><strong><strong>Edit Mission</strong></strong> sits under the field grid and is how you change map. Pick from the <strong>Preset</strong> dropdown or type into the <strong>Value</strong> box:</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Preset</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Map</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>dayzOffline.chernarusplus</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Chernarus &mdash; the default</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>dayzOffline.enoch</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Livonia</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>dayzOffline.sakhal</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Sakhal</td></tr></tbody></table></div>
<p>Then click <strong>Save mission</strong>. <strong>Clear</strong> only empties the box on screen; you still have to save, and a blank value resolves back to <code>dayzOffline.chernarusplus</code>. Both buttons are disabled while the server is running, and this one save is governed by the <strong>Change mission</strong> permission rather than <strong>Edit settings</strong>.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> A mission name is a persistence world. Characters, bases, vehicles and the loot economy all live under <code>mpmissions/&lt;mission&gt;/storage_*/</code>, so switching map converts nothing &mdash; it starts a fresh world and leaves the old one untouched on disk. Switching back later brings the old world with it. Take a backup first regardless: see <a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">automatic backups and restore</a>.</p></div>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Whatever you type must match a folder that exists under <code>mpmissions</code>, because the launch command points straight at it. A mission name with no matching folder means the server will not start.</p></div>

<figure class="dzshShot" id="shot-settings-mission" data-dzsh-slot="settings-mission" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/settings-mission.png.12ab90a240c40034d0190825d26fecfb.png" alt="The Edit Mission row with the Preset dropdown open showing the three dayzOffline presets" width="1329" height="311" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Edit Mission changes the map &mdash; and with it the entire persistence world.</figcaption>
</figure>

<h2 id="step-8">8. Save, start and check your work</h2>
<p>Click <strong>Save</strong> at the bottom of the dialog. You want <code>Changes Saved!</code> in a green banner. Anything else is telling you something:</p>
<ul><li><code>No changes required.</code> &mdash; the editor compared your fields against what it loaded and found nothing different.</li><li><code>Stop the instance to change settings.</code> &mdash; the instance is not stopped.</li><li>A red message naming one field, such as <code>'hostName' too long (max 96).</code> &mdash; fix that field and save again. Nothing was written.</li></ul>
<p><strong>Edit Mission</strong> and <strong>Server &amp; RCON Authentication</strong> have their own buttons and save independently of the main <strong>Save</strong>, so if you changed the map or the password, make sure you pressed <strong>Save mission</strong> or <strong>Save password</strong> too. Close the dialog with <strong>Cancel</strong>, the <strong>Close</strong> icon in its top corner, or the Escape key.</p>
<p>Now go back to <strong>Overview</strong> and click <strong>Start</strong>. Watch the <strong>Live Logs</strong> card with <strong>Stream</strong> on <code>rpt</code> through the first boot &mdash; a bad value that the panel accepted will show up there rather than in the panel. Once it is up, your changes are live: check the day length against the clock, or open <code>config/serverDZ.cfg</code> in <strong>File Browser</strong> and read the keys back.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Every save is attributed. <strong>Audit Log</strong> records a <strong>Configuration</strong> entry of <strong>Settings Update</strong> for the field grid and <strong>Mission Change</strong> for the map, with the account that did it &mdash; useful when several staff share access.</p></div>

<h2 id="troubleshooting">Troubleshooting</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The Save button in Instance Settings is greyed out</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> <strong>Save</strong>, <strong>Save mission</strong>, <strong>Regenerate</strong> and <strong>Save password</strong> are all disabled unless the instance is stopped, and a red <code>Stop the instance to change settings.</code> banner appears at the bottom of the dialog. <code>serverDZ.cfg</code> is read once at boot and the engine holds the file open while it runs, so a write underneath a live server would be discarded or fail outright.</p>
<p><strong>How to fix it.</strong> Click <strong>Stop</strong> on <strong>Overview</strong>, wait for <code>Stopped</code>, then reopen <strong>Settings</strong>. If the <strong>Settings</strong> button is missing altogether rather than <strong>Save</strong> being dead, your account lacks the <strong>Edit settings</strong> permission on this instance.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Saving fails with hostName too long (max 96)</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The <strong>Host Name</strong> box does not stop you typing, but the API caps the value at 96 characters and rejects the whole save if you exceed it. Names padded with tags, brackets and separators hit that faster than you would expect.</p>
<p><strong>How to fix it.</strong> Shorten <strong>Host Name</strong> to 96 characters or fewer and save again &mdash; nothing was written on the failed attempt, so no other field was lost. Move the extra detail into <strong>Description</strong>, which allows 255.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Max Players will not go above my slot count</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> <code>maxPlayers</code> is capped at the slot count your instance was provisioned with. Above it the save is rejected with <code>maxPlayers cannot exceed this instance's cap (60).</code> carrying your own number, and the agent re-clamps the value in <code>serverDZ.cfg</code> before every launch.</p>
<p><strong>How to fix it.</strong> Set it at or below the cap shown in the field&rsquo;s help line. Raising the ceiling means more slots on the service itself, which is a <strong>Billing</strong> change rather than a config one. Editing the file over SFTP will not work &mdash; the clamp runs pre-launch, after your edit.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The server will not start after I changed the map</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The mission value is used verbatim as a path: the server launches against <code>mpmissions/&lt;your value&gt;</code>. If that folder does not exist &mdash; a typo, or a mission you have not uploaded &mdash; there is nothing to load.</p>
<p><strong>How to fix it.</strong> Open <strong>File Browser</strong>, look in <code>mpmissions</code> and compare the folder names against what you typed. Correct the <strong>Value</strong> box and press <strong>Save mission</strong>, or press <strong>Clear</strong> then <strong>Save mission</strong> to fall back to <code>dayzOffline.chernarusplus</code>. Uploading a custom mission is a job for <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">SFTP</a>, not the browser upload.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The in-game clock jumps back to the same time after every restart</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> <strong>Server Time</strong> is set to a literal timestamp and <strong>Server Time Persistent</strong> is unticked, so every boot resets the world clock to that exact moment. A nightly restart then drops players into the same hour every night.</p>
<p><strong>How to fix it.</strong> Tick <strong>Server Time Persistent</strong> so the clock is saved and resumed, or set <strong>Server Time</strong> back to <code>SystemTime</code> so it follows the host machine. Either way the new behaviour begins at the next start.</p></div>
</details>

<h2 id="faq">Frequently asked questions</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">How long is a DayZ day at serverTimeAcceleration 12?</h3></summary>
<div style="padding-top:.5em"><p>Two real hours for a full 24-hour in-game cycle, assuming <strong>Server Night Time Acceleration</strong> is left at 1. The multiplier divides straight into real time: 24 in-game hours &divide; 12 = 2 real hours, of which roughly one is night. Raise the night multiplier to shorten only the dark half &mdash; at 12 and 4 the same cycle takes about 75 minutes with just 15 of them at night.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Do I need to edit serverDZ.cfg by hand?</h3></summary>
<div style="padding-top:.5em"><p>No, and it is worth avoiding. Every field in <strong>Instance Settings</strong> writes the real key for you, and clearing a field removes the key so the engine default returns. The file is readable in <strong>File Browser</strong> under <code>config</code> if you want to verify a value, but hand edits to keys the panel manages can be overwritten &mdash; <code>maxPlayers</code> is re-checked before every launch.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Where is the whitelist setting?</h3></summary>
<div style="padding-top:.5em"><p>It is not in <strong>Instance Settings</strong> &mdash; whitelist enforcement lives on <strong>Players &rarr; Whitelist</strong>, where an <strong>Enable whitelist</strong> button toggles it and a banner shows whether enforcement is currently <code>ON</code> or <code>OFF</code>. It writes the same <code>serverDZ.cfg</code> key behind the scenes and takes effect at the next server restart. Details are in <a href="https://dzservers.host/articles/guides/dayz-rcon-bans-whitelist-priority-queue/">RCON, bans and the whitelist</a>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Does changing the map delete my bases?</h3></summary>
<div style="padding-top:.5em"><p>No. Each mission has its own persistence world under <code>mpmissions/&lt;mission&gt;/storage_*/</code>, so switching from Chernarus to Livonia starts a fresh world and leaves the Chernarus one sitting on disk. Switch the mission back and the old characters and bases come back with it. Nothing is converted between maps, so a base cannot follow you across.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Why does the server have to be stopped to save settings?</h3></summary>
<div style="padding-top:.5em"><p>Because DayZ reads <code>serverDZ.cfg</code> once, at boot, and keeps the file open while it runs. A change written to a live server would at best be ignored until the next restart and at worst collide with the engine&rsquo;s file handle, so the panel refuses the write rather than pretending it worked. That is why <strong>Save</strong> stays disabled until the status pill reads <code>Stopped</code>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Which of these settings apply without a restart?</h3></summary>
<div style="padding-top:.5em"><p>None of them. Every field in this editor is a <code>serverDZ.cfg</code> key, and the whole file is consumed at startup, so the earliest any change can take effect is the next boot. That is also why the editor is stop-gated: by the time you can save, a restart is already part of the process.</p></div>
</details>

<h2>Related guides</h2>
<ul><li><a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">Getting started with the control panel</a></li><li><a href="https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/">Editing types.xml safely</a></li><li><a href="https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/">installing Steam Workshop mods</a></li></ul>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "HowTo",
	"name": "Every serverDZ.cfg Setting Explained (DayZ Server Configuration)",
	"description": "Every field in the DZSERVERS.HOST Instance Settings editor: the serverDZ.cfg key it writes, its range, a recommended value and real day-length maths.",
	"step": [
		{
			"@type": "HowToStep",
			"position": 1,
			"name": "Stop the instance and open the editor",
			"text": "On Overview, click Stop and wait for the status pill to read Stopped. With players online, warn them with a Controlled Restart first — see restarting without rollbacks — then stop it. Now click Settings in the tab bar. A dialog opens titled Instance Settings with your instance id beneath it. It contains, in order. A two-column grid of all thirty serverDZ.cfg fields, each with its help text under it; Edit Mission — the map selector, covered in step 7; Server \u0026 RCON Authentication — the admin and RCON password, covered in getting started with the control panel; Two behaviours are worth knowing before you touch anything. Grey placeholder text in a numeric or text box is DayZ’s own default, not a value you have set. And clearing a field removes that key from serverDZ.cfg entirely, which hands the setting back to the engine default rather than writing a zero. That is the correct way to undo a change you no longer want. Careful: Save sends only the fields you actually changed, so leaving the rest untouched is safe. A successful write shows Changes Saved!; if you changed nothing you get No changes required. While the instance is running you get a red Stop the instance to change settings. banner and a dead Save button. Note: Three things people look for here are deliberately elsewhere: whitelist enforcement is on Players → Whitelist, mods are on Workshop Mods, and BattlEye filter files are not exposed at all.",
			"url": "https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/#step-1"
		},
		{
			"@type": "HowToStep",
			"position": 2,
			"name": "Identity and access: name, description, password and slots",
			"text": "These four are the only fields most servers ever change, and they are what a player sees before deciding whether to join. Treat Host Name as a search result rather than a title: the map name and your headline features earn far more clicks than decoration. Field: serverDZ.cfg key: Limits: What to set. Host Name: hostname: Text, 96 characters: The name in the server browser. Lead with the map and your two biggest selling points. Description: description: Text, 255 characters: One line of extra detail shown in the client server browser. Optional. Password: password: Text: The join password. Leave it empty for a public server — empty means the key is removed, not set to blank. Max Players: maxPlayers: 1–127, capped at your slot count: Your purchased slot count, or lower if you want to run smaller for a while. Careful: Host Name lets you keep typing past 96 characters but the save is rejected with 'hostName' too long (max 96). Count it, or paste it somewhere that shows a character count first. Max Players is the one field with a hard ceiling above it. Its help line tells you yours — Maximum amount of players. This instance's provisioned cap is 60. with your own number. Anything from 1 up to that cap is allowed; above it the save fails. The agent also re-checks the value before every launch and clamps it back down, so editing serverDZ.cfg by hand will not get you extra slots.",
			"url": "https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/#step-2"
		},
		{
			"@type": "HowToStep",
			"position": 3,
			"name": "Time of day, and how long a day actually lasts",
			"text": "This is the group that generates the most confusion, because the two acceleration fields multiply together rather than acting independently. Field: serverDZ.cfg key: Range: Recommended: What it does. Server Time: serverTime: SystemTime or YYYY/MM/DD/HH/MM: SystemTime: The in-game time the server starts at. SystemTime uses the host machine’s local clock; a literal value looks like 2015/4/8/17/23. Server Time Acceleration: serverTimeAcceleration: 0.1–64: 4 to 12: Multiplier for the passage of in-game time. At 1 a full day takes 24 real hours; at 24 it takes one. Server Night Time Acceleration: serverNightTimeAcceleration: 0.1–64: 2 to 6: A second multiplier applied on top of the first, during night only. Use it to keep nights short without speeding up the whole day. Server Time Persistent: serverTimePersistent: Checkbox (0 or 1): On: Saves the clock to storage, so the next start resumes where the last one stopped instead of jumping back to Server Time. Work the arithmetic through once and it stops being mysterious. Take a 24-hour in-game cycle split evenly into 12 hours of daylight and 12 of night; the real split shifts with the map and the date, but even is close enough to plan with. With Server Time Acceleration at 8 and Server Night Time Acceleration at 4. Daylight runs at 8×, so 12 in-game hours take 90 real minutes; Night runs at 8 × 4 = 32×, so 12 in-game hours take 22.5 real minutes; A full cycle is therefore just under two real hours, of which players spend about 20 minutes in the dark; The general form: real minutes per cycle = (daylight hours × 60 \u0026divide; acceleration) + (night hours × 60 \u0026divide; (acceleration × night acceleration)). Written into the file, that example is. serverTime = \"SystemTime\"; serverTimeAcceleration = 8; serverNightTimeAcceleration = 4; serverTimePersistent = 1; Careful: These two fields are the only numbers in the editor with no enforced ceiling — the box will accept 500. DayZ only honours 0.1 to 64, so keep yourself inside that range. Values under 1 slow time down instead of speeding it up. Server Time Persistent matters more than it looks. With it off, every restart re-reads Server Time, so a server pinned to a literal timestamp lands on the same hour forever. With it on, the clock carries across restarts and keeps moving through the week.",
			"url": "https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/#step-3"
		},
		{
			"@type": "HowToStep",
			"position": 4,
			"name": "Gameplay restrictions",
			"text": "Every field in this group is a checkbox that writes 0 or 1. Read the labels carefully: most of them are phrased as disable, so ticking the box removes the feature rather than adding it. Field: serverDZ.cfg key: Recommended: What it does. Disable 3rd Person: disable3rdPerson: Off, unless you want a first-person server: Ticked forces every player into first person. This is the setting that defines a hardcore or first-person-only server. Disable Crosshair: disableCrosshair: Off for a public server, on for hardcore: Ticked removes the centre crosshair, so players must use weapon sights. Disable Personal Light: disablePersonalLight: On for real darkness: Ticked removes the faint light that follows every player, which is what makes DayZ nights genuinely dark. Disable Base Damage: disableBaseDamage: Off: Ticked makes fences and watchtowers indestructible. Popular on PvE; on a PvP server it means no one can ever be raided. Disable Container Damage: disableContainerDamage: Off: Ticked makes tents, barrels, wooden crates and sea chests indestructible. Disable Respawn Dialog: disableRespawnDialog: Off: Ticked removes the spawn-choice dialog, so new characters always spawn at a random point. Shot Validation: shotValidation: On: Ticked makes the server reject shots that arrive in an impossible state, such as from a client whose connection briefly froze. Enable Mouse And Keyboard: enableMouseAndKeyboard: Off: A console-platform option that permits mouse and keyboard input on Xbox and PlayStation servers. It changes nothing on a PC server. Disable Multi Account Mitigation: disableMultiAccountMitigation: Off: Another console-only option, which turns off the platform’s multi-account protection. No effect on PC. Note: The help line under Enable Mouse And Keyboard describes a character debug window. That text belongs to a neighbouring key in Bohemia’s own annotated serverDZ.cfg and travelled with it; the key itself is the console input option above, so ticking it will not give you a debug overlay. Building a first-person server? Tick Disable 3rd Person and Disable Crosshair together and say so in Host Name — players searching for first person read the browser text, they do not filter on the key.",
			"url": "https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/#step-4"
		},
		{
			"@type": "HowToStep",
			"position": 5,
			"name": "Admin logging: what lands in the ADM log",
			"text": "These four checkboxes control how much detail the engine writes to its admin log. The panel always launches your server with -adminlog and a profiles directory, so the.ADM file always exists — you can read it live from the Live Logs card on Overview by setting the Stream dropdown to adm, or open it in the profiles share. Field: serverDZ.cfg key: Recommended: What it does. Admin Log: Player Hits Only: adminLogPlayerHitsOnly: On: Ticked logs only hits that involve players. Unticked logs every hit including animals and infected, which buries the PvP you were looking for. Admin Log: Placement: adminLogPlacement: On: Logs placement actions such as traps and tents. Useful for tracing who put a bear trap in a loot room. Admin Log: Build Actions: adminLogBuildActions: On: Logs base building: build, dismantle and destroy. Your evidence trail for raid and griefing disputes. Admin Log: Player List: adminLogPlayerList: On: Writes a list of connected players and their positions every five minutes. Invaluable after the fact; it also grows the log steadily. Turn all four on. The log is the only record of what happened once players have logged off, and it cannot be reconstructed retroactively — a setting you left off yesterday tells you nothing about yesterday. Note: The ADM log answers “what did this player do”. For “who is on right now and where”, use the live player map instead, and for kicks and bans use RCON, bans and the whitelist.",
			"url": "https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/#step-5"
		},
		{
			"@type": "HowToStep",
			"position": 6,
			"name": "Networking, view distance and object streaming",
			"text": "Everything in this group trades server CPU and bandwidth for what players can see and how quickly the world appears around them. The defaults are Bohemia’s and they are well chosen; change them one at a time and watch Server FPS on Overview afterwards. Field: serverDZ.cfg key: Range: Recommended: What it does. Network Range Close: networkRangeClose: 0–2200: 20: Distance in metres at which objects that contain items, such as backpacks, are spawned for a client. Network Range Near: networkRangeNear: 0–2200: 150: Distance in metres at which loose inventory items are spawned for a client. Despawn happens 10% further out. Network Range Far: networkRangeFar: 0–2200: 1000: Distance in metres at which everything other than inventory items is spawned. Raising this is the usual way to see distant vehicles — and the usual way to wreck server FPS. Network Range Distant Effect: networkRangeDistantEffect: 0–8000: 4000: Distance in metres at which effects are spawned. Currently sound effects only, so this is what governs how far away gunshots can be heard. Default Visibility: defaultVisibility: 0–5000: 1375: Highest terrain render distance the server permits. A client asking for less than this gets what it asked for; a client asking for more is capped here. Default Object View Distance: defaultObjectViewDistance: 0–5000: 1375: The same ceiling for objects rather than terrain. Network Object Batch Send: networkObjectBatchSend: 1–500: 10: How many objects the server may send for creation in one go. Higher values populate the world faster and cost more frame time. Network Object Batch Compute: networkObjectBatchCompute: 100–8000: 1000: How many entries in the create and destroy lists the server checks per frame. Careful: Raising the network ranges is the most common self-inflicted performance problem on a DayZ server. Every metre you add is more objects the server tracks and streams for every connected player, and the cost scales with player count. If Server FPS drops after a change, put it back. Heavily modded servers are usually better served by leaving these alone and managing mod load order instead. Loot volume belongs in types.xml and the loot economy, not here.",
			"url": "https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/#step-6"
		},
		{
			"@type": "HowToStep",
			"position": 7,
			"name": "Enable CfgGameplay File, and changing the map",
			"text": "Two controls reach outside serverDZ.cfg, so they behave a little differently. Enable CfgGameplay File is the last checkbox in the grid and writes enableCfgGameplayFile = 1. With it on, the engine also reads gameplay values from cfggameplay.json inside your mission folder — things serverDZ.cfg cannot express, such as stamina and base-building rules. The panel neither edits nor validates that file, so check it exists in File Browser → mpmissions → your mission before ticking the box, and read the rpt stream on the next start. It is JSON: one stray comma is enough to break it. Edit Mission sits under the field grid and is how you change map. Pick from the Preset dropdown or type into the Value box. Preset: Map. dayzOffline.chernarusplus: Chernarus — the default. dayzOffline.enoch: Livonia. dayzOffline.sakhal: Sakhal. Then click Save mission. Clear only empties the box on screen; you still have to save, and a blank value resolves back to dayzOffline.chernarusplus. Both buttons are disabled while the server is running, and this one save is governed by the Change mission permission rather than Edit settings. Data loss risk: A mission name is a persistence world. Characters, bases, vehicles and the loot economy all live under mpmissions/\u003cmission\u003e/storage_*/, so switching map converts nothing — it starts a fresh world and leaves the old one untouched on disk. Switching back later brings the old world with it. Take a backup first regardless: see automatic backups and restore. Careful: Whatever you type must match a folder that exists under mpmissions, because the launch command points straight at it. A mission name with no matching folder means the server will not start.",
			"url": "https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/#step-7"
		},
		{
			"@type": "HowToStep",
			"position": 8,
			"name": "Save, start and check your work",
			"text": "Click Save at the bottom of the dialog. You want Changes Saved! in a green banner. Anything else is telling you something. No changes required. — the editor compared your fields against what it loaded and found nothing different; Stop the instance to change settings. — the instance is not stopped; A red message naming one field, such as 'hostName' too long (max 96). — fix that field and save again. Nothing was written; Edit Mission and Server \u0026 RCON Authentication have their own buttons and save independently of the main Save, so if you changed the map or the password, make sure you pressed Save mission or Save password too. Close the dialog with Cancel, the Close icon in its top corner, or the Escape key. Now go back to Overview and click Start. Watch the Live Logs card with Stream on rpt through the first boot — a bad value that the panel accepted will show up there rather than in the panel. Once it is up, your changes are live: check the day length against the clock, or open config/serverDZ.cfg in File Browser and read the keys back. Note: Every save is attributed. Audit Log records a Configuration entry of Settings Update for the field grid and Mission Change for the map, with the account that did it — useful when several staff share access.",
			"url": "https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/#step-8"
		}
	],
	"totalTime": "PT20M",
	"supply": [
		{
			"@type": "HowToSupply",
			"name": "An instance you can stop. Save is disabled while the status pill reads Running."
		},
		{
			"@type": "HowToSupply",
			"name": "The Edit settings permission. Sub-users without it do not see the Settings button at all, and changing the map needs the separate Change mission permission — see staff permissions and API keys."
		},
		{
			"@type": "HowToSupply",
			"name": "Nothing else. You never need to open serverDZ.cfg by hand for any field listed below, although you can read it in File Browser under the config share if you want to check the panel’s work."
		}
	]
}
</script>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "How long is a DayZ day at serverTimeAcceleration 12?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Two real hours for a full 24-hour in-game cycle, assuming Server Night Time Acceleration is left at 1. The multiplier divides straight into real time: 24 in-game hours \u0026divide; 12 = 2 real hours, of which roughly one is night. Raise the night multiplier to shorten only the dark half — at 12 and 4 the same cycle takes about 75 minutes with just 15 of them at night."
			}
		},
		{
			"@type": "Question",
			"name": "Do I need to edit serverDZ.cfg by hand?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No, and it is worth avoiding. Every field in Instance Settings writes the real key for you, and clearing a field removes the key so the engine default returns. The file is readable in File Browser under config if you want to verify a value, but hand edits to keys the panel manages can be overwritten — maxPlayers is re-checked before every launch."
			}
		},
		{
			"@type": "Question",
			"name": "Where is the whitelist setting?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "It is not in Instance Settings — whitelist enforcement lives on Players → Whitelist, where an Enable whitelist button toggles it and a banner shows whether enforcement is currently ON or OFF. It writes the same serverDZ.cfg key behind the scenes and takes effect at the next server restart. Details are in RCON, bans and the whitelist."
			}
		},
		{
			"@type": "Question",
			"name": "Does changing the map delete my bases?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. Each mission has its own persistence world under mpmissions/\u003cmission\u003e/storage_*/, so switching from Chernarus to Livonia starts a fresh world and leaves the Chernarus one sitting on disk. Switch the mission back and the old characters and bases come back with it. Nothing is converted between maps, so a base cannot follow you across."
			}
		},
		{
			"@type": "Question",
			"name": "Why does the server have to be stopped to save settings?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Because DayZ reads serverDZ.cfg once, at boot, and keeps the file open while it runs. A change written to a live server would at best be ignored until the next restart and at worst collide with the engine’s file handle, so the panel refuses the write rather than pretending it worked. That is why Save stays disabled until the status pill reads Stopped."
			}
		},
		{
			"@type": "Question",
			"name": "Which of these settings apply without a restart?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "None of them. Every field in this editor is a serverDZ.cfg key, and the whole file is consumed at startup, so the earliest any change can take effect is the next boot. That is also why the editor is stop-gated: by the time you can save, a restart is already part of the process."
			}
		}
	]
}
</script>]]></description><guid isPermaLink="false">5</guid><pubDate>Thu, 30 Jul 2026 15:03:28 +0000</pubDate></item><item><title>Installing DayZ Steam Workshop Mods: Load Order, Server-Only and Auto-Update</title><link>https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/</link><description><![CDATA[
<p><img src="https://dzservers.host/uploads/monthly_2026_07/mods-table.png.eb341f53413474a01284d49e05276147.png" /></p>
<!-- DZSH-MANAGED slug=dayz-workshop-mods-load-order rev=1 — generated by tools/articles. Do NOT edit in the IPS editor: HTMLPurifier strips <figure>, ids, data-* and JSON-LD. Edit tools/articles/articles/*-dayz-workshop-mods-load-order.js and re-run bin/publish.mjs. -->

<p>You install Steam Workshop mods on a DZSERVERS.HOST server from the <strong>Workshop Mods</strong> tab: paste the mod&rsquo;s Workshop URL or numeric id, click <strong>Lookup &amp; add</strong>, accept its required dependencies, then restart. The panel builds the <code>-mod=</code> and <code>-servermod=</code> launch arguments from that list on every start, in the order the rows appear &mdash; so the order in that table is what decides whether a modded server boots.</p>
<p>This guide covers the tab end to end: dependencies, load order, server-only mods, auto-update, <strong>Verify Files</strong> and safe removal. New here? Start with <a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">getting started with the control panel</a>.</p>

<nav class="dzshToc" aria-label="On this page" style="border:1px solid rgba(128,128,128,.28);border-left:3px solid #f59e0b;border-radius:4px;padding:.9em 1.1em .9em 1.4em;margin:1.75em 0;background:rgba(128,128,128,.05)">
<p style="margin:0 0 .5em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.78em;opacity:.8">On this page</p>
<ol style="margin:0;padding-left:1.2em;line-height:1.75"><li><a href="#step-1">Look the mod up on the Workshop Mods tab</a></li><li><a href="#step-2">Choose how the mod loads</a></li><li><a href="#step-3">Accept the required dependencies</a></li><li><a href="#step-4">Read the mod table while it installs</a></li><li><a href="#step-5">Set the load order, then save your row changes</a></li><li><a href="#step-6">Restart, then publish your mod list</a></li><li><a href="#step-7">Keep mods up to date</a></li><li><a href="#step-8">Remove a mod safely</a></li><li><a href="#troubleshooting">Troubleshooting</a></li><li><a href="#faq">Frequently asked questions</a></li></ol>
</nav>

<h2>Before you start</h2>
<ul><li>An instance you can manage mods on. The tab is permission-gated; without it the page tells you to ask the owner for the <strong>Manage Mods</strong> permission.</li><li>The Workshop page or numeric id of each mod. <strong>Browse Workshop</strong> on the tab opens the DayZ Workshop in a new tab.</li><li>A current backup if players are already on the server &mdash; mod changes can invalidate stored objects. See <a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">automatic backups and restore</a>.</li><li>Ideally a stopped server. You can add mods while it runs, but the install waits for the next restart and reinstall, update, verify and remove are all disabled.</li></ul>

<figure class="dzshShot" id="shot-mods-table" data-dzsh-slot="mods-table" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/mods-table.png.9d96274a2183f710c67d151728dbaaa4.png" alt="Workshop Mods tab listing four mods with Order, Folder, Status, Enabled, Server-only and Auto-update columns" width="1598" height="833" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Workshop Mods table is the source of truth for your DayZ server&rsquo;s mod list and its load order.</figcaption>
</figure>

<h2 id="step-1">1. Look the mod up on the Workshop Mods tab</h2>
<p>Go to <strong>Instances &rarr; your instance &rarr; Workshop Mods</strong>. The <strong>Add a mod</strong> card takes either identifier: the numeric id on its own, such as <code>1559212036</code>, or the full address, <code>https://steamcommunity.com/sharedfiles/filedetails/?id=1559212036</code>.</p>
<p>Paste one into the <strong>Steam Workshop URL or numeric ID</strong> box and click <strong>Lookup &amp; add</strong>. The panel fetches the item&rsquo;s title, size, last-updated date and declared dependencies from Steam and opens the <strong>Add Workshop Mod</strong> panel. Nothing has been added yet &mdash; this is a preview.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Every mod name in the table below links back to its own Workshop page, so you never have to hunt for an id twice.</p></div>

<figure class="dzshShot" id="shot-add-mod-lookup" data-dzsh-slot="add-mod-lookup" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/add-mod-lookup.png.e698e158d62cec6fd21a7cc5a486a02d.png" alt="Add a mod card with a Workshop URL pasted into the input and the Lookup and add button beside it" width="1589" height="257" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Paste a Steam Workshop URL or numeric ID, then use Lookup &amp; add to fetch the mod&rsquo;s metadata.</figcaption>
</figure>

<h2 id="step-2">2. Choose how the mod loads</h2>
<p>The <strong>Add Workshop Mod</strong> panel shows the thumbnail, title, <strong>Last updated</strong> date and <strong>Size</strong>, and flags two things worth stopping for: a banned Workshop item, and a mod already in this server&rsquo;s list. Then three decisions:</p>
<ol><li><strong>Load as server-only mod (uses -ServerMod=)</strong> &mdash; passes the mod in <code>-servermod=</code> instead of <code>-mod=</code>, so players do <em>not</em> need it to join. Leave it off unless the mod&rsquo;s description says it runs server-side only.</li><li><strong>Install immediately after adding</strong> &mdash; on by default. While the server is running the same checkbox reads <strong>Download now, install on next restart</strong>: the download starts against the node&rsquo;s Workshop cache at once, and the mod is copied into your instance automatically at the next start.</li><li><strong>Auto-update this mod when new versions are published</strong> &mdash; the panel watches Steam and applies new versions unattended. If the server is up it broadcasts a short warning, stops, updates and starts again, recording each step in the <strong>Audit Log</strong>.</li></ol>
<p>Then click <strong>Add to server</strong>.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Server-only is a property of the mod, not a preference. Ticking it on a mod that ships client content produces a server nobody can join correctly &mdash; if the Workshop page does not say server-side only, leave the box clear.</p></div>

<figure class="dzshShot" id="shot-add-mod-panel" data-dzsh-slot="add-mod-panel" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/add-mod-panel.png.8ca2b7e0a204abb6d8cd096e714b35bf.png" alt="Add Workshop Mod dialog showing the server-only, install immediately and auto-update checkboxes" width="670" height="469" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Add Workshop Mod panel: server-only, install timing and auto-update are all decided before the mod is added.</figcaption>
</figure>

<h2 id="step-3">3. Accept the required dependencies</h2>
<p>If the mod declares required items, a <strong>Required dependencies</strong> card lists each with a pre-ticked checkbox. Anything already in your list is greyed out and marked <code>(already added)</code>.</p>
<p>Leave them ticked. Checked dependencies are added <strong>and installed before the main mod</strong> &mdash; the panel puts their rows ahead of the parent in load order and queues their downloads first, so the files DayZ needs exist before the mod that reads them is parsed. Getting this wrong is the most common reason a modded DayZ server will not boot, and it is handled for you.</p>
<p>If the mod declares nothing, the panel says so. That is not a guarantee: plenty of authors document dependencies in prose and never declare them, so read the Workshop description before assuming a mod stands alone.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Skipping a dependency you do not already have does not fail silently. It reappears on the tab as a <strong>Missing dependencies</strong> card naming the id and how many of your mods need it, with an <strong>Add it</strong> button. Clear that card before starting the server.</p></div>

<h2 id="step-4">4. Read the mod table while it installs</h2>
<p>Rows with queued work grow a progress strip and refresh themselves when the command finishes; <strong>Refresh</strong> in the header is there if you want it sooner. The table has eight columns:</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Column</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What it means</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Order</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Load order, lowest first, with up and down arrows. This is the sequence used to build <code>-mod=</code> and <code>-servermod=</code>.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Mod</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Thumbnail, title and Workshop id, all linking to Steam, plus install date, published version, size and dependency count. Errors print here in red.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Folder</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The <code>@ModName</code> folder it installed into, derived from the mod&rsquo;s own <code>meta.cpp</code>. A dash means nothing is on disk yet.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Status</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The lifecycle pill &mdash; see below.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Enabled</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Whether the mod is in the launch arguments at all. Untick to park it without deleting it.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Server-only</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Whether it goes into <code>-servermod=</code> rather than <code>-mod=</code>.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Auto-update</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Whether the panel updates it unattended.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Actions</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Install</strong> / <strong>Reinstall</strong> / <strong>Update</strong>, <strong>Verify Files</strong> and <strong>Remove</strong>.</td></tr></tbody></table></div>
<ul><li><code>NotInstalled</code> &mdash; in your list, nothing on disk. <code>Queued</code> then <code>Installing</code> &mdash; the agent is working on it.</li><li><code>Installed</code> &mdash; on disk and current. <code>Update available</code> &mdash; the author published a newer version.</li><li><code>Installs on restart</code> &mdash; added while the server ran; downloaded and waiting for the next start.</li><li><code>Removing</code> &mdash; a removal is in flight. <code>Failed</code> &mdash; the last install did not complete, with the reason under the mod name.</li></ul>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> A mod with an empty <strong>Folder</strong> column is left out of the launch line even when <strong>Enabled</strong> is ticked &mdash; the panel will not name a folder that does not exist. Signature keys need no attention: each mod&rsquo;s <code>.bikey</code> files are copied into the server&rsquo;s key directory for you.</p></div>

<h2 id="step-5">5. Set the load order, then save your row changes</h2>
<p>DayZ reads its mod list left to right and resolves each mod against what is already loaded. Anything a later mod builds on &mdash; a framework, a shared library, a base mod whose classes get extended &mdash; must appear earlier. The same rule settles conflicts: when two mods define the same thing, the one loaded later wins.</p>
<p>So: frameworks and dependencies first, content mods next, override or tweak mods last. Use the arrows in the <strong>Order</strong> column to move a row. Reordering is written immediately, with no save step, and takes effect at the next start. Your list becomes launch arguments shaped like this:</p>
<pre class="ipsCode prettyprint lang-auto">"-mod=@Dependency;@BigContentMod;@TweaksThatOverrideIt" "-servermod=@AdminToolsServerSide"</pre>
<p>The three checkbox columns behave differently. <strong>Enabled</strong>, <strong>Server-only</strong> and <strong>Auto-update</strong> are <strong>drafts</strong>: clicking one outlines the box and adds the row to a banner counting your unsaved rows. Nothing reaches the server until you click <strong>Save</strong> on that row. <strong>Reset</strong> discards one row, <strong>Discard all</strong> discards every pending change. Saved toggles apply at the next launch and can be saved even while the server is running.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Rows badged <strong>Essential</strong> with a padlock come from your service template. They cannot be reordered, toggled or removed &mdash; your server needs them. <code>GameEventDispatcher</code>, which feeds the <strong>Live Map</strong> and server FPS, is one of them.</p></div>

<figure class="dzshShot" id="shot-load-order-arrows" data-dzsh-slot="load-order-arrows" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/load-order-arrows.png.60c78ab8b81c065cf6b82e903ae35c93.png" alt="Order column arrows moving a mod up the list, with an Essential padlock badge on a locked row" width="498" height="699" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The arrows in the Order column set DayZ&rsquo;s left-to-right mod load order; Essential rows are padlocked in place.</figcaption>
</figure>

<h2 id="step-6">6. Restart, then publish your mod list</h2>
<p>Nothing on this tab is live until the server relaunches, because the list only becomes command-line arguments at start. Use <strong>Start</strong> on <strong>Overview</strong>, or <strong>Controlled Restart</strong> if players are on, and watch the <strong>Live Logs</strong> card on the <code>rpt</code> stream. A first boot with new mods is slower than usual.</p>
<p>Then deal with the client side, because this is where the complaints come from: <strong>every mod not marked server-only must be installed on each player&rsquo;s PC too</strong>, or they cannot join.</p>
<ul><li>Build a Steam Workshop collection with exactly your client-side mods and pin it in your Discord and server description.</li><li>Share the <strong>List on DZSA Launcher</strong> link from <strong>Overview</strong> &mdash; launcher users are least likely to get this wrong.</li><li>Announce every client-side mod you add or remove. Players joining with a stale mod set get bounced and will blame the server.</li></ul>
<p>Mod settings live in the mod&rsquo;s own config files, usually under <code>profiles</code> &mdash; the <strong>Settings</strong> editor still governs vanilla options only. See <a href="https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/">every serverDZ.cfg setting explained</a>.</p>

<h2 id="step-7">7. Keep mods up to date</h2>
<p>The panel polls Steam for new versions. When it finds one, the pill turns to <code>Update available</code>, the <strong>Mod</strong> cell shows the newer publish date in amber, and the row&rsquo;s button changes from <strong>Reinstall</strong> to <strong>Update</strong>.</p>
<ul><li><strong>Sync all updates</strong> in the header queues every out-of-date enabled mod at once; the number in brackets is how many it will touch.</li><li><strong>Update</strong> on a row does that one only.</li><li><strong>Auto-update</strong> on a row means you do nothing: the panel warns players, stops, updates and starts the server itself, and logs each step in the <strong>Audit Log</strong>.</li><li><strong>Verify Files</strong> is the repair tool &mdash; it discards the cached copy, re-downloads from Steam and prunes files the item no longer ships, so disk matches the Workshop exactly. Use it when a mod is installed but misbehaving.</li></ul>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> All four rewrite files inside the server&rsquo;s directory, so they are disabled while it is running and a banner on the tab says so. Stop the server first. If a mod update coincides with a DayZ update, do the game update first, then the mods.</p></div>

<figure class="dzshShot" id="shot-update-available" data-dzsh-slot="update-available" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/update-available.png.73e69dedc9233d81efa01a78091f2e55.png" alt="Mod row with an Update available pill and an Update button, beside the Sync all updates header button" width="451" height="273" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">An Update available pill and the Sync all updates button, which queues every out-of-date mod in one go.</figcaption>
</figure>

<h2 id="step-8">8. Remove a mod safely</h2>
<p>Stop the server, then click <strong>Remove</strong> on the row. The <strong>Remove mod</strong> dialog offers <strong>Also delete the mod files from this instance's directory</strong>, ticked by default; clearing it drops the row but leaves the files. If other mods declare this one as a dependency, the dialog becomes <strong>Other mods depend on this one</strong>, names them, and makes you choose <strong>Remove anyway</strong> deliberately.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Removing a mod that placed objects in the world cannot be undone from the panel. Bases, storage and vehicles belonging to that mod are gone from persistence the moment the server starts without it, and inventories holding its items can be damaged. Back up first and restore <strong>Players DB</strong> and <strong>World Data</strong> together if it goes wrong &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">automatic backups and restore</a>.</p></div>
<p>The reverse holds too: adding a large content or map mod to a server that already has bases can change which stored objects are valid. Schedule that kind of change for a quiet hour with a fresh backup.</p>

<figure class="dzshShot" id="shot-remove-mod-dependents" data-dzsh-slot="remove-mod-dependents" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/remove-mod-dependents.png.28ff756aa9b577121a24087d67dd8313.png" alt="Remove mod dialog warning that other mods depend on this one, listing them above a Remove anyway button" width="673" height="210" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The panel blocks a removal that would break another mod until you confirm it explicitly.</figcaption>
</figure>

<h2 id="troubleshooting">Troubleshooting</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">My server will not start after I added a mod</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Usually one of three things: the mod is still <code>NotInstalled</code> or <code>Failed</code> so its files are not on disk, a dependency was never added, or the load order puts a mod ahead of something it needs.</p>
<p><strong>How to fix it.</strong> Check <strong>Status</strong> and <strong>Folder</strong> first &mdash; a dash in <strong>Folder</strong> means that mod was excluded from the launch line. Clear any <strong>Missing dependencies</strong> card, then read the tail of <strong>Live Logs</strong> on the <code>rpt</code> stream: the first missing class or file named there tells you which mod loaded too early.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Players cannot join my modded server</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Their client is not running the same client-side mods as the server, or a mod that needs to run on both was flagged <strong>Server-only</strong> so clients are never told about it.</p>
<p><strong>How to fix it.</strong> Publish your client-side list as a Workshop collection and share the <strong>List on DZSA Launcher</strong> link from <strong>Overview</strong>. Then review the <strong>Server-only</strong> column, untick anything whose Workshop page does not explicitly say server-side only, click <strong>Save</strong> on that row and restart.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Reinstall, Update, Verify Files and Remove are greyed out</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The server is running and holds its mod files open, so they cannot be rewritten underneath it. A banner at the top of the tab explains this.</p>
<p><strong>How to fix it.</strong> Stop the instance from <strong>Overview</strong>, or use <strong>Controlled Restart</strong> to warn players first. Adding a new mod still works while it runs, and the three toggle columns can still be drafted and saved.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">A mod is stuck on "Installs on restart"</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> It was added while the server was up. The download finished into the node&rsquo;s Workshop cache, but copying into a live instance is not safe, so the install waits for a stop or restart.</p>
<p><strong>How to fix it.</strong> Restart the server &mdash; pending mods are installed immediately before it launches and the pill flips to <code>Installed</code>. If it is still pending after a full restart, run <strong>Install</strong> on the row with the server stopped and read the progress strip.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The panel warns that Extra args already contains -mod= or -servermod=</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Launch arguments were set manually on your instance and duplicate what the Workshop manager already builds from this table, so DayZ is told to load the same mods twice and your load order stops being authoritative.</p>
<p><strong>How to fix it.</strong> Open a support ticket asking for the manual <code>-mod=</code> and <code>-servermod=</code> entries to be stripped from the instance&rsquo;s extra launch arguments, and manage the whole list from <strong>Workshop Mods</strong> instead.</p></div>
</details>

<h2 id="faq">Frequently asked questions</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Do my players need to install the same mods?</h3></summary>
<div style="padding-top:.5em"><p>Yes, for every mod not flagged <strong>Server-only</strong> &mdash; those are the ones DayZ passes in <code>-mod=</code>, and a client without them cannot join. Server-only mods travel in <code>-servermod=</code> and are never downloaded by players, which is why admin tools and server-side economy mods belong in that column.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Do I have to add a mod’s dependencies myself?</h3></summary>
<div style="padding-top:.5em"><p>No. The <strong>Add Workshop Mod</strong> panel lists every dependency the mod declares, pre-ticked, and adds them ahead of the parent in load order so they install and load first. Anything you skip, or that an author never declared, appears afterwards as a <strong>Missing dependencies</strong> card with an <strong>Add it</strong> button.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Why does load order matter for DayZ mods?</h3></summary>
<div style="padding-top:.5em"><p>DayZ processes <code>-mod=</code> left to right, so a mod can only build on classes already loaded, and when two mods define the same thing the later one wins. That makes the <strong>Order</strong> column functional rather than cosmetic: frameworks and dependencies at the top, content mods next, override mods last.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Where do the mod files actually live?</h3></summary>
<div style="padding-top:.5em"><p>Each mod installs into its own <code>@ModName</code> folder inside the <code>mods</code> share, reachable from <strong>File Browser</strong> or over <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">SFTP</a>. Treat it as read-only: the installer mirrors the Workshop item and prunes files it no longer ships, so hand edits are removed on the next install, update or <strong>Verify Files</strong>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Will adding or removing a mod wipe my players or their bases?</h3></summary>
<div style="padding-top:.5em"><p>It does not wipe anything by itself, but it can destroy specific objects. Structures, containers and vehicles from a removed mod disappear from persistence the first time the server starts without it, and inventories holding its items can be damaged. Always back up before a mod change on a populated server.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Does auto-update restart my server on its own?</h3></summary>
<div style="padding-top:.5em"><p>Yes, when the mod is flagged <strong>Auto-update</strong> and a newer Workshop version appears. If the server is running the panel broadcasts a short warning, stops it, installs the update and starts it again, logging every step in the <strong>Audit Log</strong>. Leave it off for mods you would rather test first.</p></div>
</details>

<h2>Related guides</h2>
<ul><li><a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">Getting started with the control panel</a></li><li><a href="https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/">every serverDZ.cfg setting explained</a></li><li><a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">Automatic backups and restore</a></li></ul>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "HowTo",
	"name": "Installing DayZ Steam Workshop Mods: Load Order, Server-Only and Auto-Update",
	"description": "Add Steam Workshop mods to your DayZ server: paste a Workshop ID, install dependencies first, fix the load order, and set server-only and auto-update.",
	"step": [
		{
			"@type": "HowToStep",
			"position": 1,
			"name": "Look the mod up on the Workshop Mods tab",
			"text": "Go to Instances → your instance → Workshop Mods. The Add a mod card takes either identifier: the numeric id on its own, such as 1559212036, or the full address, https://steamcommunity.com/sharedfiles/filedetails/?id=1559212036. Paste one into the Steam Workshop URL or numeric ID box and click Lookup \u0026 add. The panel fetches the item’s title, size, last-updated date and declared dependencies from Steam and opens the Add Workshop Mod panel. Nothing has been added yet — this is a preview. Note: Every mod name in the table below links back to its own Workshop page, so you never have to hunt for an id twice.",
			"url": "https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/#step-1"
		},
		{
			"@type": "HowToStep",
			"position": 2,
			"name": "Choose how the mod loads",
			"text": "The Add Workshop Mod panel shows the thumbnail, title, Last updated date and Size, and flags two things worth stopping for: a banned Workshop item, and a mod already in this server’s list. Then three decisions. Load as server-only mod (uses -ServerMod=) — passes the mod in -servermod= instead of -mod=, so players do not need it to join. Leave it off unless the mod’s description says it runs server-side only; Install immediately after adding — on by default. While the server is running the same checkbox reads Download now, install on next restart: the download starts against the node’s Workshop cache at once, and the mod is copied into your instance automatically at the next start; Auto-update this mod when new versions are published — the panel watches Steam and applies new versions unattended. If the server is up it broadcasts a short warning, stops, updates and starts again, recording each step in the Audit Log; Then click Add to server. Careful: Server-only is a property of the mod, not a preference. Ticking it on a mod that ships client content produces a server nobody can join correctly — if the Workshop page does not say server-side only, leave the box clear.",
			"url": "https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/#step-2"
		},
		{
			"@type": "HowToStep",
			"position": 3,
			"name": "Accept the required dependencies",
			"text": "If the mod declares required items, a Required dependencies card lists each with a pre-ticked checkbox. Anything already in your list is greyed out and marked (already added). Leave them ticked. Checked dependencies are added and installed before the main mod — the panel puts their rows ahead of the parent in load order and queues their downloads first, so the files DayZ needs exist before the mod that reads them is parsed. Getting this wrong is the most common reason a modded DayZ server will not boot, and it is handled for you. If the mod declares nothing, the panel says so. That is not a guarantee: plenty of authors document dependencies in prose and never declare them, so read the Workshop description before assuming a mod stands alone. Careful: Skipping a dependency you do not already have does not fail silently. It reappears on the tab as a Missing dependencies card naming the id and how many of your mods need it, with an Add it button. Clear that card before starting the server.",
			"url": "https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/#step-3"
		},
		{
			"@type": "HowToStep",
			"position": 4,
			"name": "Read the mod table while it installs",
			"text": "Rows with queued work grow a progress strip and refresh themselves when the command finishes; Refresh in the header is there if you want it sooner. The table has eight columns. Column: What it means. Order: Load order, lowest first, with up and down arrows. This is the sequence used to build -mod= and -servermod=. Mod: Thumbnail, title and Workshop id, all linking to Steam, plus install date, published version, size and dependency count. Errors print here in red. Folder: The @ModName folder it installed into, derived from the mod’s own meta.cpp. A dash means nothing is on disk yet. Status: The lifecycle pill — see below. Enabled: Whether the mod is in the launch arguments at all. Untick to park it without deleting it. Server-only: Whether it goes into -servermod= rather than -mod=. Auto-update: Whether the panel updates it unattended. Actions: Install / Reinstall / Update, Verify Files and Remove. NotInstalled — in your list, nothing on disk. Queued then Installing — the agent is working on it; Installed — on disk and current. Update available — the author published a newer version; Installs on restart — added while the server ran; downloaded and waiting for the next start; Removing — a removal is in flight. Failed — the last install did not complete, with the reason under the mod name; Note: A mod with an empty Folder column is left out of the launch line even when Enabled is ticked — the panel will not name a folder that does not exist. Signature keys need no attention: each mod’s.bikey files are copied into the server’s key directory for you.",
			"url": "https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/#step-4"
		},
		{
			"@type": "HowToStep",
			"position": 5,
			"name": "Set the load order, then save your row changes",
			"text": "DayZ reads its mod list left to right and resolves each mod against what is already loaded. Anything a later mod builds on — a framework, a shared library, a base mod whose classes get extended — must appear earlier. The same rule settles conflicts: when two mods define the same thing, the one loaded later wins. So: frameworks and dependencies first, content mods next, override or tweak mods last. Use the arrows in the Order column to move a row. Reordering is written immediately, with no save step, and takes effect at the next start. Your list becomes launch arguments shaped like this. \"-mod=@Dependency;@BigContentMod;@TweaksThatOverrideIt\" \"-servermod=@AdminToolsServerSide\" The three checkbox columns behave differently. Enabled, Server-only and Auto-update are drafts: clicking one outlines the box and adds the row to a banner counting your unsaved rows. Nothing reaches the server until you click Save on that row. Reset discards one row, Discard all discards every pending change. Saved toggles apply at the next launch and can be saved even while the server is running. Note: Rows badged Essential with a padlock come from your service template. They cannot be reordered, toggled or removed — your server needs them. GameEventDispatcher, which feeds the Live Map and server FPS, is one of them.",
			"url": "https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/#step-5"
		},
		{
			"@type": "HowToStep",
			"position": 6,
			"name": "Restart, then publish your mod list",
			"text": "Nothing on this tab is live until the server relaunches, because the list only becomes command-line arguments at start. Use Start on Overview, or Controlled Restart if players are on, and watch the Live Logs card on the rpt stream. A first boot with new mods is slower than usual. Then deal with the client side, because this is where the complaints come from: every mod not marked server-only must be installed on each player’s PC too, or they cannot join. Build a Steam Workshop collection with exactly your client-side mods and pin it in your Discord and server description; Share the List on DZSA Launcher link from Overview — launcher users are least likely to get this wrong; Announce every client-side mod you add or remove. Players joining with a stale mod set get bounced and will blame the server; Mod settings live in the mod’s own config files, usually under profiles — the Settings editor still governs vanilla options only. See every serverDZ.cfg setting explained.",
			"url": "https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/#step-6"
		},
		{
			"@type": "HowToStep",
			"position": 7,
			"name": "Keep mods up to date",
			"text": "The panel polls Steam for new versions. When it finds one, the pill turns to Update available, the Mod cell shows the newer publish date in amber, and the row’s button changes from Reinstall to Update. Sync all updates in the header queues every out-of-date enabled mod at once; the number in brackets is how many it will touch; Update on a row does that one only; Auto-update on a row means you do nothing: the panel warns players, stops, updates and starts the server itself, and logs each step in the Audit Log; Verify Files is the repair tool — it discards the cached copy, re-downloads from Steam and prunes files the item no longer ships, so disk matches the Workshop exactly. Use it when a mod is installed but misbehaving; Careful: All four rewrite files inside the server’s directory, so they are disabled while it is running and a banner on the tab says so. Stop the server first. If a mod update coincides with a DayZ update, do the game update first, then the mods.",
			"url": "https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/#step-7"
		},
		{
			"@type": "HowToStep",
			"position": 8,
			"name": "Remove a mod safely",
			"text": "Stop the server, then click Remove on the row. The Remove mod dialog offers Also delete the mod files from this instance's directory, ticked by default; clearing it drops the row but leaves the files. If other mods declare this one as a dependency, the dialog becomes Other mods depend on this one, names them, and makes you choose Remove anyway deliberately. Data loss risk: Removing a mod that placed objects in the world cannot be undone from the panel. Bases, storage and vehicles belonging to that mod are gone from persistence the moment the server starts without it, and inventories holding its items can be damaged. Back up first and restore Players DB and World Data together if it goes wrong — see automatic backups and restore. The reverse holds too: adding a large content or map mod to a server that already has bases can change which stored objects are valid. Schedule that kind of change for a quiet hour with a fresh backup.",
			"url": "https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/#step-8"
		}
	],
	"totalTime": "PT20M",
	"supply": [
		{
			"@type": "HowToSupply",
			"name": "An instance you can manage mods on. The tab is permission-gated; without it the page tells you to ask the owner for the Manage Mods permission."
		},
		{
			"@type": "HowToSupply",
			"name": "The Workshop page or numeric id of each mod. Browse Workshop on the tab opens the DayZ Workshop in a new tab."
		},
		{
			"@type": "HowToSupply",
			"name": "A current backup if players are already on the server — mod changes can invalidate stored objects. See automatic backups and restore."
		},
		{
			"@type": "HowToSupply",
			"name": "Ideally a stopped server. You can add mods while it runs, but the install waits for the next restart and reinstall, update, verify and remove are all disabled."
		}
	]
}
</script>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "Do my players need to install the same mods?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Yes, for every mod not flagged Server-only — those are the ones DayZ passes in -mod=, and a client without them cannot join. Server-only mods travel in -servermod= and are never downloaded by players, which is why admin tools and server-side economy mods belong in that column."
			}
		},
		{
			"@type": "Question",
			"name": "Do I have to add a mod’s dependencies myself?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. The Add Workshop Mod panel lists every dependency the mod declares, pre-ticked, and adds them ahead of the parent in load order so they install and load first. Anything you skip, or that an author never declared, appears afterwards as a Missing dependencies card with an Add it button."
			}
		},
		{
			"@type": "Question",
			"name": "Why does load order matter for DayZ mods?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "DayZ processes -mod= left to right, so a mod can only build on classes already loaded, and when two mods define the same thing the later one wins. That makes the Order column functional rather than cosmetic: frameworks and dependencies at the top, content mods next, override mods last."
			}
		},
		{
			"@type": "Question",
			"name": "Where do the mod files actually live?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Each mod installs into its own @ModName folder inside the mods share, reachable from File Browser or over SFTP. Treat it as read-only: the installer mirrors the Workshop item and prunes files it no longer ships, so hand edits are removed on the next install, update or Verify Files."
			}
		},
		{
			"@type": "Question",
			"name": "Will adding or removing a mod wipe my players or their bases?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "It does not wipe anything by itself, but it can destroy specific objects. Structures, containers and vehicles from a removed mod disappear from persistence the first time the server starts without it, and inventories holding its items can be damaged. Always back up before a mod change on a populated server."
			}
		},
		{
			"@type": "Question",
			"name": "Does auto-update restart my server on its own?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Yes, when the mod is flagged Auto-update and a newer Workshop version appears. If the server is running the panel broadcasts a short warning, stops it, installs the update and starts it again, logging every step in the Audit Log. Leave it off for mods you would rather test first."
			}
		}
	]
}
</script>]]></description><guid isPermaLink="false">6</guid><pubDate>Thu, 30 Jul 2026 15:03:34 +0000</pubDate></item><item><title>How to Edit types.xml and Your DayZ Loot Economy Safely</title><link>https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/</link><description><![CDATA[
<p><img src="https://dzservers.host/uploads/monthly_2026_07/types-xml-editor.png.2c62e0c6c814011b88660fdc92ab5fce.png" /></p>
<!-- DZSH-MANAGED slug=dayz-types-xml-loot-economy-editing rev=1 — generated by tools/articles. Do NOT edit in the IPS editor: HTMLPurifier strips <figure>, ids, data-* and JSON-LD. Edit tools/articles/articles/*-dayz-types-xml-loot-economy-editing.js and re-run bin/publish.mjs. -->

<p>Everything that decides what spawns on your DayZ server lives in the mission&rsquo;s XML files, and you edit them from the <strong>File Browser</strong> tab: set the <strong>Share</strong> dropdown to <code>mpmissions</code>, open your mission folder, then <code>db</code>, and click <strong>View/Edit</strong> on <code>types.xml</code>. The editor checks your XML as you type and refuses to save a file with a syntax error, which is the main thing standing between a small loot tweak and a server that boots with no loot at all.</p>
<p>This guide takes the safe route: keep a copy, understand what each attribute actually does, save clean, then restart to apply. Budget twenty minutes for your first edit.</p>

<nav class="dzshToc" aria-label="On this page" style="border:1px solid rgba(128,128,128,.28);border-left:3px solid #f59e0b;border-radius:4px;padding:.9em 1.1em .9em 1.4em;margin:1.75em 0;background:rgba(128,128,128,.05)">
<p style="margin:0 0 .5em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.78em;opacity:.8">On this page</p>
<ol style="margin:0;padding-left:1.2em;line-height:1.75"><li><a href="#step-1">Keep a copy before you change anything</a></li><li><a href="#step-2">Open the File Browser on the mpmissions share</a></li><li><a href="#step-3">Find the right mission folder, then open db</a></li><li><a href="#step-4">Open types.xml in the editor</a></li><li><a href="#step-5">Read the entry before you change it</a></li><li><a href="#step-6">Let the validator clear you before you save</a></li><li><a href="#step-7">Restart to apply, then confirm the economy loaded</a></li><li><a href="#step-8">Know when to stop using the browser and use SFTP</a></li><li><a href="#troubleshooting">Troubleshooting</a></li><li><a href="#faq">Frequently asked questions</a></li></ol>
</nav>

<h2>Before you start</h2>
<ul><li>An instance you can restart. The central economy is read once when the mission loads, so nothing you save takes effect until then.</li><li><strong>Read files</strong> and <strong>Write files</strong> permission on the instance. Owners have both; sub-users need them granted under <strong>Members</strong>.</li><li>Somewhere to keep a copy of the file before you change it &mdash; your own disk is fine.</li><li>A rough idea of which item you are changing. Class names in <code>types.xml</code> are exact and case-sensitive.</li></ul>

<h2 id="step-1">1. Keep a copy before you change anything</h2>
<p>The editor writes straight over the file. There is no version history, no diff, and the moment you click <strong>Save</strong> the modal closes and the editor&rsquo;s <code>Ctrl + Z</code> history goes with it.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Once you save, the previous <code>types.xml</code> is gone. If your edit turns out to be wrong, the only ways back are a copy you kept yourself or a backup restore, and a restore needs the server stopped.</p></div>
<p>Pick whichever of these fits the size of the job:</p>
<ul><li><strong>One file.</strong> Click <strong>Download</strong> on the <code>types.xml</code> row before you open it. That gives you the exact bytes you started from, and you can paste them back into the editor if you need to.</li><li><strong>The whole mission.</strong> Pull <code>mpmissions</code> down over SFTP &mdash; see <a href="https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/">taking your own backup over SFTP</a>. This is what you want if you are about to work through several economy files.</li><li><strong>Rely on the automatic backups.</strong> Mission XML is captured in the <strong>XMLs &amp; JSONs &amp; other(s)</strong> category and kept for 30 days. It works, but a restore rolls the whole category back and the server has to be stopped for it &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">automatic backups and restore</a>.</li></ul>
<p>A downloaded copy costs you one click. Take it.</p>

<h2 id="step-2">2. Open the File Browser on the mpmissions share</h2>
<p>Go to <strong>Instances &rarr; your server &rarr; File Browser</strong>. The page opens on the <code>profiles</code> share, which is not where you want to be.</p>
<p>Use the <strong>Share</strong> dropdown at the top right and choose <code>mpmissions</code>. The badge under it changes to <code>Share: mpmissions</code> and the breadcrumb resets to <code>(root)</code>. Switching shares always returns you to that share&rsquo;s root, so you never end up looking at a path that belongs to a different share.</p>
<p>Four shares are exposed, and each one holds something different:</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Share</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What lives there</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>profiles</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Server logs and the profile directory &mdash; <code>.RPT</code>, <code>.ADM</code>, crash and script logs.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>mpmissions</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Your mission folders. Economy XML, spawn configs and persistence all live under here.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>config</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>serverDZ.cfg</code>, the BattlEye keys folder, <code>whitelist.txt</code>, <code>ban.txt</code> and <code>priority.txt</code>.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>mods</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The installed Workshop mod folders. You can edit files inside a mod, but the folders themselves are owned by <strong>Workshop Mods</strong>.</td></tr></tbody></table></div>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Some entries are protected: the panel will not delete or rename <code>serverDZ.cfg</code>, the <code>keys</code> folder, <code>whitelist.txt</code>, <code>ban.txt</code>, <code>priority.txt</code> or a top-level mod folder. You get <code>This file and or directory cannot be deleted or renamed</code> instead. Editing their contents is still allowed &mdash; it is only the file itself that is pinned in place.</p></div>
<p>Worth expanding once: the <strong>File Browser Help &amp; Tips</strong> card at the top of the page lists every action the browser supports, including drag-to-move and folder uploads.</p>

<figure class="dzshShot" id="shot-share-mpmissions" data-dzsh-slot="share-mpmissions" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/share-mpmissions.png.fe9e061771abff957f2f16650e24768d.png" alt="File Browser with the Share dropdown set to mpmissions and a mission folder listed" width="363" height="182" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Share dropdown switches between profiles, mpmissions, config and mods &mdash; mission XML lives in mpmissions.</figcaption>
</figure>

<h2 id="step-3">3. Find the right mission folder, then open db</h2>
<p>The <code>mpmissions</code> root holds one folder per mission, and a stock instance usually ships with more than one. Only the folder named on the <strong>Overview</strong> tab&rsquo;s <strong>Mission</strong> pill is actually loaded &mdash; typically <code>dayzOffline.chernarusplus</code>.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Editing the economy inside a mission your server is not loading produces no error and no effect. It is the most common wasted hour in DayZ server admin. Check the <strong>Mission</strong> pill on <strong>Overview</strong> first, then open that exact folder.</p></div>
<p>Click into the mission folder. What you are looking at:</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Path</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What it controls</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>db/types.xml</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Every item&rsquo;s spawn rules: how many, how long they last, where they are allowed.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>db/events.xml</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Dynamic events &mdash; vehicles, helicopter crashes, animals, infected hordes.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>db/globals.xml</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Economy-wide variables such as cleanup and idle timers.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>db/economy.xml</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Which economy subsystems the mission initialises and persists.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>db/messages.xml</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Scheduled in-game broadcasts and the shutdown countdown.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>cfgeconomycore.xml</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Sits at the mission root. Registers extra economy files, which is how most mods add their own types.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>storage_1/</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Persistence. Your players and their bases. Never hand-edit anything in here.</td></tr></tbody></table></div>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> <code>storage_*</code> folders are live save data, including <code>players.db</code>. Opening one in a text editor and saving it will corrupt characters. If you need to roll persistence back, use a backup restore, not the editor.</p></div>
<p>Open <code>db</code>. The economy files are all there, all small, and all editable in the panel.</p>

<figure class="dzshShot" id="shot-mission-db-folder" data-dzsh-slot="mission-db-folder" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/mission-db-folder.png.52d2b858fda84cfb03f19bddd0cada25.png" alt="File Browser inside a mission folder showing the db directory, cfgeconomycore.xml and a storage folder" width="1602" height="948" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Inside the mission folder: db holds the economy XML, storage_1 holds live persistence.</figcaption>
</figure>

<h2 id="step-4">4. Open types.xml in the editor</h2>
<p>Find the <code>types.xml</code> row and click <strong>View/Edit</strong>. A modal opens, titled <strong>Edit:</strong> followed by the file&rsquo;s path inside the share, with a real code editor in it: line numbers, code folding, syntax colouring and a lint gutter down the left.</p>
<p>Two things about the editor that save time:</p>
<ul><li><code>types.xml</code> is long &mdash; several thousand lines on a vanilla mission. Do not scroll. Press <code>Ctrl + F</code>, type the class name, and press <code>Enter</code> to jump straight to it.</li><li>The <strong>Editor Shortcuts</strong> card sits under the editor, collapsed. Click <strong>Expand</strong> once and you have the full keymap: <code>Ctrl + H</code> for find and replace, <code>Ctrl + Alt + G</code> to jump to a line number, <code>Alt + Up</code> and <code>Alt + Down</code> to move a line, <code>Ctrl + Z</code> to undo.</li></ul>
<p>The status bar under the editor shows <code>Ln 1, Col 1</code> and a character count, then the validation pill on the right. When the file parses, the pill reads <code>XML: valid</code> in green. A JSON file such as <code>cfggameplay.json</code> gets exactly the same treatment and reads <code>JSON: valid</code>.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Only text formats the panel recognises can be saved: <code>.cfg</code>, <code>.txt</code>, <code>.xml</code>, <code>.json</code>, <code>.rpt</code> and <code>.log</code>. Anything else has to be replaced by uploading a new copy. Files of about 50&nbsp;MB and up will not open in the editor at all &mdash; that limit exists to keep a giant <code>.RPT</code> from being pulled through your browser.</p></div>

<figure class="dzshShot" id="shot-types-xml-editor" data-dzsh-slot="types-xml-editor" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/types-xml-editor.png.b964e2c28416250e910c0b11f288004a.png" alt="types.xml open in the panel editor with line numbers and an XML: valid status pill" width="1199" height="836" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">types.xml open in the File Browser editor, parsing cleanly &mdash; the green XML: valid pill is your go-ahead to save.</figcaption>
</figure>

<h2 id="step-5">5. Read the entry before you change it</h2>
<p>Each item is one <code>&lt;type&gt;</code> block. Here is a rifle entry, and every number in it is doing a specific job:</p>
<pre class="ipsCode prettyprint lang-xml">&lt;type name="AKM"&gt;
    &lt;nominal&gt;15&lt;/nominal&gt;
    &lt;lifetime&gt;7200&lt;/lifetime&gt;
    &lt;restock&gt;0&lt;/restock&gt;
    &lt;min&gt;10&lt;/min&gt;
    &lt;quantmin&gt;-1&lt;/quantmin&gt;
    &lt;quantmax&gt;-1&lt;/quantmax&gt;
    &lt;cost&gt;100&lt;/cost&gt;
    &lt;flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/&gt;
    &lt;category name="weapons"/&gt;
    &lt;usage name="Military"/&gt;
&lt;/type&gt;</pre>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Attribute</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What it does</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>nominal</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">How many the economy tries to keep in the world at once. A target, not a promise &mdash; it is also capped by how many eligible spawn points exist.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>min</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The floor. When the counted number falls to this, the economy starts producing more, aiming back at <code>nominal</code>. Keep it at or below <code>nominal</code>.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>lifetime</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Seconds an untouched item survives before it is cleaned up. <code>7200</code> is two hours. The clock resets when a player handles it.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>restock</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Seconds the economy waits before topping this type back up. <code>0</code> means as soon as it can.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>quantmin</code> / <code>quantmax</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">For items that hold a quantity &mdash; magazines, drinks, food, fuel &mdash; the percentage range they spawn filled to. <code>-1</code> means the item has no quantity.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>cost</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Relative priority when several eligible types compete for one slot. Almost every vanilla entry uses <code>100</code>; lower it to make a type rarer without touching <code>nominal</code>.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>category</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The loot class &mdash; <code>weapons</code>, <code>clothes</code>, <code>food</code>, <code>tools</code>, <code>containers</code>, <code>explosives</code>, <code>vehiclesparts</code>.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>usage</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Which areas may spawn it: <code>Military</code>, <code>Police</code>, <code>Town</code>, <code>Village</code>, <code>Farm</code>, <code>Industrial</code>, <code>Hunting</code>, <code>Medical</code> and so on. Repeat the line to allow several.</td></tr></tbody></table></div>
<p><strong>The flags block is the part people miss.</strong> Each <code>count_in_*</code> flag decides whether copies in that place count towards <code>nominal</code>. In the entry above only <code>count_in_map</code> is set, so the economy counts AKMs lying in the world &mdash; and ignores every AKM in a player&rsquo;s hands, backpack, tent or stash. That is why a heavily looted server keeps producing rifles: the hoarded ones are invisible to the count.</p>
<ul><li><code>count_in_cargo</code> &mdash; count copies inside containers and bags on the ground.</li><li><code>count_in_hoarder</code> &mdash; count copies stashed in tents, barrels and other hoarder storage.</li><li><code>count_in_map</code> &mdash; count copies lying loose in the world. Set on virtually everything.</li><li><code>count_in_player</code> &mdash; count copies in players&rsquo; inventories.</li><li><code>crafted</code> &mdash; the item only exists through crafting, so the economy never spawns it.</li><li><code>deloot</code> &mdash; the item comes from dynamic events only, not from ordinary loot points.</li></ul>
<p>Turning <code>count_in_hoarder</code> and <code>count_in_player</code> on for high-value gear is the standard way to stop a server drowning in hoarded rifles. It is also the change most likely to surprise you, so make it on one or two types first and watch what happens over a couple of days.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Never change the <code>name</code> attribute to something the game does not know. Class names are exact and case-sensitive, and a modded class only resolves while that mod is installed. An unknown class is logged and skipped, so the item you were expecting simply never appears.</p></div>

<h2 id="step-6">6. Let the validator clear you before you save</h2>
<p>As you type, the editor parses the file. Two things react:</p>
<ol><li>The <strong>lint gutter</strong> on the left marks the line the parser choked on, and the offending text is underlined in the body.</li><li>The <strong>status pill</strong> flips from <code>XML: valid</code> to <code>XML: 1 error</code>, and a red bar appears above the buttons naming the problem, for example <code>Cannot save: this XML file has a syntax error</code> followed by the parser&rsquo;s own message. XML parsers stop at the first fault they hit, so fix that one and the next hidden one appears.</li></ol>
<p>While the pill is red, <strong>Save</strong> is disabled. That is deliberate.</p>
<p><strong>Format</strong> at the bottom right re-indents the whole file at two spaces per level, which makes an unbalanced block obvious at a glance. It only works on a file that already parses, so treat it as a tidy-up rather than a repair tool &mdash; on a broken file it just tells you it cannot format.</p>
<p>When the file is broken, a <strong>Save anyway (ignore format errors)</strong> checkbox appears next to the buttons and ticking it re-enables <strong>Save</strong>.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Do not tick <strong>Save anyway</strong> to get out of a syntax error. The only check it bypasses is the panel&rsquo;s. DayZ&rsquo;s own parser is stricter, and a malformed <code>types.xml</code> means the central economy fails to load &mdash; the server boots, players connect, and nothing spawns anywhere on the map. You will not find out until the next restart, by which time you have forgotten what you changed. The one defensible use is deliberately parking a half-finished edit that you will fix before the server next starts.</p></div>
<p>Once the pill is green, click <strong>Save</strong>. A <code>Saved.</code> toast confirms it and the modal closes.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> A green pill means the file is well-formed XML. It does not mean DayZ will accept it &mdash; the panel has no way to know that <code>Milatary</code> is not a real <code>usage</code> value. Well-formed but wrong is still wrong, which is why the next step is not optional.</p></div>

<figure class="dzshShot" id="shot-xml-error-blocked" data-dzsh-slot="xml-error-blocked" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/xml-error-blocked.png.f4553412008cea68c7b053a425f3ff0b.png" alt="Editor showing a red XML error banner, an error marker in the lint gutter and a disabled Save button" width="1189" height="863" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">A syntax error blocks Save outright &mdash; the lint gutter points at the line and the status pill turns red.</figcaption>
</figure>

<h2 id="step-7">7. Restart to apply, then confirm the economy loaded</h2>
<p>The central economy is read once, while the mission loads. Saving <code>types.xml</code> on a running server changes nothing that players can see, and a running server will happily keep going for days on the old numbers.</p>
<p>Back on <strong>Overview</strong>:</p>
<ol><li>Nobody online? <strong>Restart</strong> is fine.</li><li>Players on? Use <strong>Controlled Restart</strong> and pick 5, 10 or 15 minutes so they are warned and can log out somewhere safe. See <a href="https://dzservers.host/articles/guides/dayz-restart-without-rollback/">restarting without rollbacks</a>.</li></ol>
<p>When the status pill returns to <code>Running</code>, open the <strong>Live Logs</strong> card, set <strong>Stream</strong> to <code>rpt</code> and read the first part of the boot. Economy complaints are logged there, and an unknown class name or a bad <code>usage</code> value shows up as a named error you can search for. A clean boot ends with the mission loaded and no economy errors.</p>
<p>Then check it in game. If you raised <code>nominal</code>, give the economy a few minutes &mdash; it feeds items in gradually rather than dumping them the instant the server starts.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> If loot is missing everywhere rather than just for the type you touched, the economy did not load. Go straight back to the file: something is well-formed but invalid. Reverting to your saved copy and restarting again is faster than hunting it live.</p></div>

<h2 id="step-8">8. Know when to stop using the browser and use SFTP</h2>
<p>The web File Browser is the right tool for one file at a time. Past that it starts to fight you.</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Job</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Use</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Tweaking a handful of <code>&lt;type&gt;</code> entries</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>View/Edit</strong> in the browser. Fastest route, validator included.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Replacing a whole <code>db</code> folder or a full loot overhaul</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">SFTP. Edit locally in your own editor, keep it in version control, push the folder up.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Anything over 300&nbsp;MB</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">SFTP. The web upload cap is 300&nbsp;MB per file; SFTP takes up to 2.5&nbsp;GB.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Pulling logs or persistence down to inspect</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">SFTP. The browser refuses to read a file of about 50&nbsp;MB or more, and <code>.RPT</code> files get large fast.</td></tr></tbody></table></div>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Uploads through the browser never overwrite. If <code>types.xml</code> already exists and you upload another one, that row comes back <code>Failed</code> in the upload summary. Rename or delete the existing file first, or just edit it in place. An SFTP client, by contrast, will overwrite without asking.</p></div>
<p>SFTP runs on port 2022 with a username derived from your panel account and a separate SFTP password, and it exposes the same four shares. Full setup is in <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">connecting to your server with SFTP</a>.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> <strong>Upload folder</strong> in the browser does recreate a folder&rsquo;s structure for you, which is handy for adding a new subfolder of custom XML. It still will not overwrite files that already exist.</p></div>

<h2 id="troubleshooting">Troubleshooting</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The Save button is greyed out and the editor says the XML has a syntax error</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The editor parses the file on every keystroke and blocks <strong>Save</strong> while it will not parse. Almost always it is a missing <code>&gt;</code>, a closing tag that does not match its opener, an unescaped <code>&amp;</code> in a name, or a <code>&lt;type&gt;</code> block that lost its <code>&lt;/type&gt;</code>.</p>
<p><strong>How to fix it.</strong> Look at the lint gutter for the marked line and read the message in the red bar &mdash; it is your browser&rsquo;s own XML parser talking, and it usually names the line and column. Fix that one fault; the parser stops at the first, so another may appear behind it. Once the pill reads <code>XML: valid</code>, <strong>Save</strong> re-enables. Do not tick <strong>Save anyway (ignore format errors)</strong> to escape this.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">After editing types.xml there is no loot anywhere on the server</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The central economy failed to load, so nothing spawns at all &mdash; not just the type you edited. The file is well-formed enough for the panel to accept but invalid to DayZ: a misspelled <code>usage</code> or <code>category</code> value, <code>min</code> above <code>nominal</code>, or a duplicated <code>&lt;type&gt;</code> name.</p>
<p><strong>How to fix it.</strong> Open <strong>Live Logs</strong>, set <strong>Stream</strong> to <code>rpt</code> and read the start of the boot &mdash; the economy names what it rejected. Fastest recovery is to paste your downloaded copy back into the editor, save, and restart. Then reapply the change one entry at a time.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">My types.xml changes had no effect after a restart</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Either the server has not actually reloaded the mission since you saved, or you edited a mission folder the server does not load. <code>mpmissions</code> usually contains several mission folders and only one is live.</p>
<p><strong>How to fix it.</strong> Check the <strong>Mission</strong> pill on <strong>Overview</strong> and confirm it matches the folder you opened. Then confirm the restart completed: the status pill should have gone through <code>Stopped</code> and back to <code>Running</code>, and the <strong>Audit Log</strong> records the action.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">My uploaded replacement file comes back as Failed in the upload summary</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The File Browser never overwrites on upload. A file of that name already exists in the target folder, so the operation is refused rather than silently replacing your live config.</p>
<p><strong>How to fix it.</strong> Rename the existing file &mdash; <code>types.xml.old</code> is fine, the mission only reads <code>types.xml</code> &mdash; or delete it, then upload. For routine changes, <strong>View/Edit</strong> in place avoids the problem entirely; for bulk work, use SFTP, which does overwrite.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The panel says editing is not allowed for that extension, or that the file is too large to read</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Text editing is restricted to <code>.cfg</code>, <code>.txt</code>, <code>.xml</code>, <code>.json</code>, <code>.rpt</code> and <code>.log</code>, and files of roughly 50&nbsp;MB and up are not pulled into the browser at all. Both limits exist to stop the panel trying to stream binary or enormous files through a web request.</p>
<p><strong>How to fix it.</strong> For an unsupported extension, edit the file on your own machine and put it back over SFTP. For an oversized log, use SFTP to download it, or clear it out with <strong>Purge logs</strong> on the <code>profiles</code> share if you only wanted it gone.</p></div>
</details>

<h2 id="faq">Frequently asked questions</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Do types.xml changes need a server restart?</h3></summary>
<div style="padding-top:.5em"><p>Yes. DayZ reads the central economy once while the mission loads, so a saved change sits inert until the server restarts. Use <strong>Controlled Restart</strong> on <strong>Overview</strong> if players are online so they get warning broadcasts first.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Does the panel check my types.xml against DayZ’s rules?</h3></summary>
<div style="padding-top:.5em"><p>No &mdash; it checks that the file is well-formed XML, nothing more. Tags have to balance and attributes have to be quoted, but the panel has no idea whether <code>Milatary</code> is a valid <code>usage</code> or whether <code>AKMM</code> is a real class name. That is why you restart and read the <code>rpt</code> stream in <strong>Live Logs</strong> afterwards.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Will lowering nominal delete loot that is already on the map?</h3></summary>
<div style="padding-top:.5em"><p>No. Nothing is removed when you save. The economy simply stops replacing that type as existing copies are picked up or reach the end of their <code>lifetime</code>, so the count drifts down to the new target over hours rather than instantly.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Where do I add types for a modded item?</h3></summary>
<div style="padding-top:.5em"><p>Usually not in <code>types.xml</code> at all. Most mods ship their own types file that you register in <code>cfgeconomycore.xml</code> at the mission root, which keeps your changes separate from the vanilla file and survives a mission reset. Check the mod&rsquo;s Workshop page &mdash; and remember a modded class only resolves while the mod is installed, so add it through <a href="https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/">Workshop mods and load order</a> first.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I restore just types.xml from a backup?</h3></summary>
<div style="padding-top:.5em"><p>Not on its own. Restores are category-level: mission XML lives in <strong>XMLs &amp; JSONs &amp; other(s)</strong>, so restoring brings that whole category back to the snapshot and the server must be stopped for it. This is exactly why downloading the single file before you edit it is worth the click. See <a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">automatic backups and restore</a>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">How big a file can I upload through the File Browser?</h3></summary>
<div style="padding-top:.5em"><p>300&nbsp;MB per file through the web browser, and 2.5&nbsp;GB over SFTP. Economy XML is nowhere near either limit, but mod folders and log archives are, which is why anything bulky should go over <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">SFTP</a>.</p></div>
</details>

<h2>Related guides</h2>
<ul><li><a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">Getting started with the control panel</a></li><li><a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">connecting with SFTP</a></li><li><a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">Automatic backups and restore</a></li></ul>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "HowTo",
	"name": "How to Edit types.xml and Your DayZ Loot Economy Safely",
	"description": "Edit types.xml and your DayZ mission economy safely in the DZSERVERS.HOST File Browser: copy it first, use the XML validator, then restart to apply.",
	"step": [
		{
			"@type": "HowToStep",
			"position": 1,
			"name": "Keep a copy before you change anything",
			"text": "The editor writes straight over the file. There is no version history, no diff, and the moment you click Save the modal closes and the editor’s Ctrl + Z history goes with it. Data loss risk: Once you save, the previous types.xml is gone. If your edit turns out to be wrong, the only ways back are a copy you kept yourself or a backup restore, and a restore needs the server stopped. Pick whichever of these fits the size of the job. One file. Click Download on the types.xml row before you open it. That gives you the exact bytes you started from, and you can paste them back into the editor if you need to; The whole mission. Pull mpmissions down over SFTP — see taking your own backup over SFTP. This is what you want if you are about to work through several economy files; Rely on the automatic backups. Mission XML is captured in the XMLs \u0026 JSONs \u0026 other(s) category and kept for 30 days. It works, but a restore rolls the whole category back and the server has to be stopped for it — see automatic backups and restore; A downloaded copy costs you one click. Take it.",
			"url": "https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/#step-1"
		},
		{
			"@type": "HowToStep",
			"position": 2,
			"name": "Open the File Browser on the mpmissions share",
			"text": "Go to Instances → your server → File Browser. The page opens on the profiles share, which is not where you want to be. Use the Share dropdown at the top right and choose mpmissions. The badge under it changes to Share: mpmissions and the breadcrumb resets to (root). Switching shares always returns you to that share’s root, so you never end up looking at a path that belongs to a different share. Four shares are exposed, and each one holds something different. Share: What lives there. profiles: Server logs and the profile directory —.RPT,.ADM, crash and script logs. mpmissions: Your mission folders. Economy XML, spawn configs and persistence all live under here. config: serverDZ.cfg, the BattlEye keys folder, whitelist.txt, ban.txt and priority.txt. mods: The installed Workshop mod folders. You can edit files inside a mod, but the folders themselves are owned by Workshop Mods. Note: Some entries are protected: the panel will not delete or rename serverDZ.cfg, the keys folder, whitelist.txt, ban.txt, priority.txt or a top-level mod folder. You get This file and or directory cannot be deleted or renamed instead. Editing their contents is still allowed — it is only the file itself that is pinned in place. Worth expanding once: the File Browser Help \u0026 Tips card at the top of the page lists every action the browser supports, including drag-to-move and folder uploads.",
			"url": "https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/#step-2"
		},
		{
			"@type": "HowToStep",
			"position": 3,
			"name": "Find the right mission folder, then open db",
			"text": "The mpmissions root holds one folder per mission, and a stock instance usually ships with more than one. Only the folder named on the Overview tab’s Mission pill is actually loaded — typically dayzOffline.chernarusplus. Careful: Editing the economy inside a mission your server is not loading produces no error and no effect. It is the most common wasted hour in DayZ server admin. Check the Mission pill on Overview first, then open that exact folder. Click into the mission folder. What you are looking at. Path: What it controls. db/types.xml: Every item’s spawn rules: how many, how long they last, where they are allowed. db/events.xml: Dynamic events — vehicles, helicopter crashes, animals, infected hordes. db/globals.xml: Economy-wide variables such as cleanup and idle timers. db/economy.xml: Which economy subsystems the mission initialises and persists. db/messages.xml: Scheduled in-game broadcasts and the shutdown countdown. cfgeconomycore.xml: Sits at the mission root. Registers extra economy files, which is how most mods add their own types. storage_1/: Persistence. Your players and their bases. Never hand-edit anything in here. Data loss risk: storage_* folders are live save data, including players.db. Opening one in a text editor and saving it will corrupt characters. If you need to roll persistence back, use a backup restore, not the editor. Open db. The economy files are all there, all small, and all editable in the panel.",
			"url": "https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/#step-3"
		},
		{
			"@type": "HowToStep",
			"position": 4,
			"name": "Open types.xml in the editor",
			"text": "Find the types.xml row and click View/Edit. A modal opens, titled Edit: followed by the file’s path inside the share, with a real code editor in it: line numbers, code folding, syntax colouring and a lint gutter down the left. Two things about the editor that save time. types.xml is long — several thousand lines on a vanilla mission. Do not scroll. Press Ctrl + F, type the class name, and press Enter to jump straight to it; The Editor Shortcuts card sits under the editor, collapsed. Click Expand once and you have the full keymap: Ctrl + H for find and replace, Ctrl + Alt + G to jump to a line number, Alt + Up and Alt + Down to move a line, Ctrl + Z to undo; The status bar under the editor shows Ln 1, Col 1 and a character count, then the validation pill on the right. When the file parses, the pill reads XML: valid in green. A JSON file such as cfggameplay.json gets exactly the same treatment and reads JSON: valid. Note: Only text formats the panel recognises can be saved.cfg,.txt,.xml,.json,.rpt and.log. Anything else has to be replaced by uploading a new copy. Files of about 50 MB and up will not open in the editor at all — that limit exists to keep a giant.RPT from being pulled through your browser.",
			"url": "https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/#step-4"
		},
		{
			"@type": "HowToStep",
			"position": 5,
			"name": "Read the entry before you change it",
			"text": "Each item is one \u003ctype\u003e block. Here is a rifle entry, and every number in it is doing a specific job. \u003ctype name=\"AKM\"\u003e \u003cnominal\u003e15\u003c/nominal\u003e \u003clifetime\u003e7200\u003c/lifetime\u003e \u003crestock\u003e0\u003c/restock\u003e \u003cmin\u003e10\u003c/min\u003e \u003cquantmin\u003e-1\u003c/quantmin\u003e \u003cquantmax\u003e-1\u003c/quantmax\u003e \u003ccost\u003e100\u003c/cost\u003e \u003cflags count_in_cargo=\"0\" count_in_hoarder=\"0\" count_in_map=\"1\" count_in_player=\"0\" crafted=\"0\" deloot=\"0\"/\u003e \u003ccategory name=\"weapons\"/\u003e \u003cusage name=\"Military\"/\u003e \u003c/type\u003e Attribute: What it does. nominal: How many the economy tries to keep in the world at once. A target, not a promise — it is also capped by how many eligible spawn points exist. min: The floor. When the counted number falls to this, the economy starts producing more, aiming back at nominal. Keep it at or below nominal. lifetime: Seconds an untouched item survives before it is cleaned up. 7200 is two hours. The clock resets when a player handles it. restock: Seconds the economy waits before topping this type back up. 0 means as soon as it can. quantmin / quantmax: For items that hold a quantity — magazines, drinks, food, fuel — the percentage range they spawn filled to. -1 means the item has no quantity. cost: Relative priority when several eligible types compete for one slot. Almost every vanilla entry uses 100; lower it to make a type rarer without touching nominal. category: The loot class — weapons, clothes, food, tools, containers, explosives, vehiclesparts. usage: Which areas may spawn it: Military, Police, Town, Village, Farm, Industrial, Hunting, Medical and so on. Repeat the line to allow several. The flags block is the part people miss. Each count_in_* flag decides whether copies in that place count towards nominal. In the entry above only count_in_map is set, so the economy counts AKMs lying in the world — and ignores every AKM in a player’s hands, backpack, tent or stash. That is why a heavily looted server keeps producing rifles: the hoarded ones are invisible to the count. count_in_cargo — count copies inside containers and bags on the ground; count_in_hoarder — count copies stashed in tents, barrels and other hoarder storage; count_in_map — count copies lying loose in the world. Set on virtually everything; count_in_player — count copies in players’ inventories; crafted — the item only exists through crafting, so the economy never spawns it; deloot — the item comes from dynamic events only, not from ordinary loot points; Turning count_in_hoarder and count_in_player on for high-value gear is the standard way to stop a server drowning in hoarded rifles. It is also the change most likely to surprise you, so make it on one or two types first and watch what happens over a couple of days. Careful: Never change the name attribute to something the game does not know. Class names are exact and case-sensitive, and a modded class only resolves while that mod is installed. An unknown class is logged and skipped, so the item you were expecting simply never appears.",
			"url": "https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/#step-5"
		},
		{
			"@type": "HowToStep",
			"position": 6,
			"name": "Let the validator clear you before you save",
			"text": "As you type, the editor parses the file. Two things react. The lint gutter on the left marks the line the parser choked on, and the offending text is underlined in the body; The status pill flips from XML: valid to XML: 1 error, and a red bar appears above the buttons naming the problem, for example Cannot save: this XML file has a syntax error followed by the parser’s own message. XML parsers stop at the first fault they hit, so fix that one and the next hidden one appears; While the pill is red, Save is disabled. That is deliberate. Format at the bottom right re-indents the whole file at two spaces per level, which makes an unbalanced block obvious at a glance. It only works on a file that already parses, so treat it as a tidy-up rather than a repair tool — on a broken file it just tells you it cannot format. When the file is broken, a Save anyway (ignore format errors) checkbox appears next to the buttons and ticking it re-enables Save. Data loss risk: Do not tick Save anyway to get out of a syntax error. The only check it bypasses is the panel’s. DayZ’s own parser is stricter, and a malformed types.xml means the central economy fails to load — the server boots, players connect, and nothing spawns anywhere on the map. You will not find out until the next restart, by which time you have forgotten what you changed. The one defensible use is deliberately parking a half-finished edit that you will fix before the server next starts. Once the pill is green, click Save. A Saved. toast confirms it and the modal closes. Note: A green pill means the file is well-formed XML. It does not mean DayZ will accept it — the panel has no way to know that Milatary is not a real usage value. Well-formed but wrong is still wrong, which is why the next step is not optional.",
			"url": "https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/#step-6"
		},
		{
			"@type": "HowToStep",
			"position": 7,
			"name": "Restart to apply, then confirm the economy loaded",
			"text": "The central economy is read once, while the mission loads. Saving types.xml on a running server changes nothing that players can see, and a running server will happily keep going for days on the old numbers. Back on Overview. Nobody online? Restart is fine; Players on? Use Controlled Restart and pick 5, 10 or 15 minutes so they are warned and can log out somewhere safe. See restarting without rollbacks; When the status pill returns to Running, open the Live Logs card, set Stream to rpt and read the first part of the boot. Economy complaints are logged there, and an unknown class name or a bad usage value shows up as a named error you can search for. A clean boot ends with the mission loaded and no economy errors. Then check it in game. If you raised nominal, give the economy a few minutes — it feeds items in gradually rather than dumping them the instant the server starts. Careful: If loot is missing everywhere rather than just for the type you touched, the economy did not load. Go straight back to the file: something is well-formed but invalid. Reverting to your saved copy and restarting again is faster than hunting it live.",
			"url": "https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/#step-7"
		},
		{
			"@type": "HowToStep",
			"position": 8,
			"name": "Know when to stop using the browser and use SFTP",
			"text": "The web File Browser is the right tool for one file at a time. Past that it starts to fight you. Job: Use. Tweaking a handful of \u003ctype\u003e entries: View/Edit in the browser. Fastest route, validator included. Replacing a whole db folder or a full loot overhaul: SFTP. Edit locally in your own editor, keep it in version control, push the folder up. Anything over 300 MB: SFTP. The web upload cap is 300 MB per file; SFTP takes up to 2.5 GB. Pulling logs or persistence down to inspect: SFTP. The browser refuses to read a file of about 50 MB or more, and.RPT files get large fast. Careful: Uploads through the browser never overwrite. If types.xml already exists and you upload another one, that row comes back Failed in the upload summary. Rename or delete the existing file first, or just edit it in place. An SFTP client, by contrast, will overwrite without asking. SFTP runs on port 2022 with a username derived from your panel account and a separate SFTP password, and it exposes the same four shares. Full setup is in connecting to your server with SFTP. Note: Upload folder in the browser does recreate a folder’s structure for you, which is handy for adding a new subfolder of custom XML. It still will not overwrite files that already exist.",
			"url": "https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/#step-8"
		}
	],
	"totalTime": "PT20M",
	"supply": [
		{
			"@type": "HowToSupply",
			"name": "An instance you can restart. The central economy is read once when the mission loads, so nothing you save takes effect until then."
		},
		{
			"@type": "HowToSupply",
			"name": "Read files and Write files permission on the instance. Owners have both; sub-users need them granted under Members."
		},
		{
			"@type": "HowToSupply",
			"name": "Somewhere to keep a copy of the file before you change it — your own disk is fine."
		},
		{
			"@type": "HowToSupply",
			"name": "A rough idea of which item you are changing. Class names in types.xml are exact and case-sensitive."
		}
	]
}
</script>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "Do types.xml changes need a server restart?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Yes. DayZ reads the central economy once while the mission loads, so a saved change sits inert until the server restarts. Use Controlled Restart on Overview if players are online so they get warning broadcasts first."
			}
		},
		{
			"@type": "Question",
			"name": "Does the panel check my types.xml against DayZ’s rules?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No — it checks that the file is well-formed XML, nothing more. Tags have to balance and attributes have to be quoted, but the panel has no idea whether Milatary is a valid usage or whether AKMM is a real class name. That is why you restart and read the rpt stream in Live Logs afterwards."
			}
		},
		{
			"@type": "Question",
			"name": "Will lowering nominal delete loot that is already on the map?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. Nothing is removed when you save. The economy simply stops replacing that type as existing copies are picked up or reach the end of their lifetime, so the count drifts down to the new target over hours rather than instantly."
			}
		},
		{
			"@type": "Question",
			"name": "Where do I add types for a modded item?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Usually not in types.xml at all. Most mods ship their own types file that you register in cfgeconomycore.xml at the mission root, which keeps your changes separate from the vanilla file and survives a mission reset. Check the mod’s Workshop page — and remember a modded class only resolves while the mod is installed, so add it through Workshop mods and load order first."
			}
		},
		{
			"@type": "Question",
			"name": "Can I restore just types.xml from a backup?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Not on its own. Restores are category-level: mission XML lives in XMLs \u0026 JSONs \u0026 other(s), so restoring brings that whole category back to the snapshot and the server must be stopped for it. This is exactly why downloading the single file before you edit it is worth the click. See automatic backups and restore."
			}
		},
		{
			"@type": "Question",
			"name": "How big a file can I upload through the File Browser?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "300 MB per file through the web browser, and 2.5 GB over SFTP. Economy XML is nowhere near either limit, but mod folders and log archives are, which is why anything bulky should go over SFTP."
			}
		}
	]
}
</script>]]></description><guid isPermaLink="false">7</guid><pubDate>Thu, 30 Jul 2026 15:03:38 +0000</pubDate></item><item><title>Connecting to Your DayZ Server With SFTP (WinSCP and FileZilla)</title><link>https://dzservers.host/articles/guides/dayz-server-sftp-access/</link><description><![CDATA[
<p><img src="https://dzservers.host/uploads/monthly_2026_07/sftp-tab.png.0d95e6f18c837af194304e79981e040b.png" /></p>
<!-- DZSH-MANAGED slug=dayz-server-sftp-access rev=1 — generated by tools/articles. Do NOT edit in the IPS editor: HTMLPurifier strips <figure>, ids, data-* and JSON-LD. Edit tools/articles/articles/*-dayz-server-sftp-access.js and re-run bin/publish.mjs. -->

<p>Everything you need to connect to your DayZ server over SFTP sits on one page: open your instance, click the <strong>SFTP</strong> tab, and the <strong>Connection</strong> card gives you the <strong>Host</strong>, the <strong>Port</strong> (<code>2022</code>) and your <strong>Username</strong>, each with a <strong>Copy</strong> button. The <strong>Password</strong> card below holds a dedicated SFTP password, separate from your panel login.</p>
<p>This guide sets up WinSCP and FileZilla step by step, explains the unusual username format, and covers the two mistakes that cost real time: editing files while the server runs, and regenerating the password without updating saved sessions.</p>

<nav class="dzshToc" aria-label="On this page" style="border:1px solid rgba(128,128,128,.28);border-left:3px solid #f59e0b;border-radius:4px;padding:.9em 1.1em .9em 1.4em;margin:1.75em 0;background:rgba(128,128,128,.05)">
<p style="margin:0 0 .5em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.78em;opacity:.8">On this page</p>
<ol style="margin:0;padding-left:1.2em;line-height:1.75"><li><a href="#step-1">Open the SFTP tab and read the Connection card</a></li><li><a href="#step-2">Generate or copy your SFTP password</a></li><li><a href="#step-3">Connect with WinSCP</a></li><li><a href="#step-4">Connect with FileZilla</a></li><li><a href="#step-5">Find your way around the four folders</a></li><li><a href="#step-6">Upload and download without breaking anything</a></li><li><a href="#step-7">Give staff SFTP access without sharing your password</a></li><li><a href="#troubleshooting">Troubleshooting</a></li><li><a href="#faq">Frequently asked questions</a></li></ol>
</nav>

<h2>Before you start</h2>
<ul><li>A provisioned instance and a panel account with the <strong>Allow SFTP access</strong> permission on it. Instance owners have it automatically.</li><li>An SFTP client. This guide uses <a href="https://winscp.net/" rel="noopener nofollow" target="_blank">WinSCP</a> and <a href="https://filezilla-project.org/" rel="noopener nofollow" target="_blank">FileZilla</a>, both free on Windows.</li><li>Outbound TCP on port <code>2022</code> allowed by your own network &mdash; some corporate and school networks permit only 80 and 443.</li></ul>

<figure class="dzshShot" id="shot-sftp-tab" data-dzsh-slot="sftp-tab" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/sftp-tab.png.94cda394755885c7967c8b4f1e696cd7.png" alt="The SFTP tab showing the Connection card with Host, Port and Username, and the Password card below it" width="1626" height="625" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The SFTP tab holds every value your client needs &mdash; host, port 2022, username and a dedicated SFTP password.</figcaption>
</figure>

<h2 id="step-1">1. Open the SFTP tab and read the Connection card</h2>
<p>Go to <strong>Instances &rarr; your instance &rarr; SFTP</strong>. The header reads <strong>SFTP Access</strong> followed by your instance name, and the <strong>Connection</strong> card lists three values, each with its own <strong>Copy</strong> button:</p>
<ul><li><strong>Host</strong> &mdash; the machine your instance runs on. Depending on the node this is either a hostname or the same IP you connect to in game.</li><li><strong>Port</strong> &mdash; <code>2022</code>, not the usual <code>22</code>. Leave your client on the default and it will fail to connect.</li><li><strong>Username</strong> &mdash; your panel username, a dot, and eight hexadecimal characters, for example <code>yourname.4f2a91c0</code>.</li></ul>
<p>That trailing block is the first eight characters of the instance&rsquo;s internal id, and it is how the SFTP server knows which instance you want. One account with three servers therefore has three different SFTP usernames. Copy it verbatim &mdash; a login built from your panel username alone is rejected.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> <strong>Open in SFTP client</strong> hands the host, port and username to your computer&rsquo;s default SFTP application, so you only type the password. If nothing happens when you click it, set the client up manually as below.</p></div>

<h2 id="step-2">2. Generate or copy your SFTP password</h2>
<p>Scroll to the <strong>Password</strong> card. Its badge reads <code>Set</code> or <code>Not set</code>, and the subtitle gives the date it was last set. The first time you open this tab with no password on file, the panel generates one immediately and confirms with <code>SFTP password generated.</code> &mdash; so usually there is nothing to do but reveal it.</p>
<p>Use <strong>Show</strong> to unmask the value and <strong>Copy</strong> to take it, then store it in your password manager. For a fresh one, click <strong>Regenerate password</strong>.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> This password belongs to your <em>panel account</em>, not to one instance. Regenerating takes effect immediately and stops the old password working on every instance at once, so saved sessions in WinSCP or FileZilla and any script that pulls backups fail until you update them.</p></div>
<p>Two other states exist. <code>Not set</code> with an empty field means none exists yet &mdash; click <strong>Generate password</strong>. The message <code>This password was set before it could be shown here. Generate a new one to view and copy it.</code> means yours predates the panel storing a displayable copy: it still works if you know it, but cannot be shown.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> This is not your admin or RCON password. The <strong>SFTP</strong> tab is the only place it lives.</p></div>

<figure class="dzshShot" id="shot-sftp-password-card" data-dzsh-slot="sftp-password-card" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/sftp-password-card.png.af48fe1a340286b23d84f5ed7a229af5.png" alt="The Password card with a Set badge, a revealed password and Show, Copy and Regenerate password buttons" width="1615" height="218" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The SFTP password is per panel account &mdash; regenerating it invalidates the old one everywhere at once.</figcaption>
</figure>

<h2 id="step-3">3. Connect with WinSCP</h2>
<p>WinSCP opens its <strong>Login</strong> dialog on launch; if it does not, use <strong>Session</strong> then <strong>New Session</strong>. Fill in four fields:</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Field</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Value</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>File protocol</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>SFTP</code></td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Host name</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">the <strong>Host</strong> from the <strong>Connection</strong> card</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Port number</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>2022</code></td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>User name</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">the full <strong>Username</strong>, dot and eight characters included</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Password</strong></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">your SFTP password</td></tr></tbody></table></div>
<p>Click <strong>Save</strong> if you want the session kept, then <strong>Login</strong>. The first connection asks you to accept the server&rsquo;s host key fingerprint &mdash; normal, and once per machine. You then land in a directory holding your four folders.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> If WinSCP fails without ever prompting for a password, an SSH agent is offering keys and burning the five attempts the server allows. Under <strong>Advanced</strong> &rarr; <strong>Authentication</strong>, clear the public-key and agent options.</p></div>

<figure class="dzshShot" id="shot-winscp-login" data-dzsh-slot="winscp-login" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/winscp-login.png.44310fd18148e508050ab852d107f4f8.png" alt="WinSCP Login dialog with File protocol SFTP, port 2022 and a per-instance username filled in" width="375" height="470" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">WinSCP configured for a DayZ server: protocol SFTP, port 2022 and the per-instance username.</figcaption>
</figure>

<h2 id="step-4">4. Connect with FileZilla</h2>
<p>FileZilla&rsquo;s Quickconnect bar defaults to plain FTP, which will not work here, so use the Site Manager:</p>
<ol><li>Open <strong>File</strong> &rarr; <strong>Site Manager</strong> and click <strong>New site</strong>. Name it after your instance.</li><li>Set <strong>Protocol</strong> to <code>SFTP - SSH File Transfer Protocol</code>.</li><li>Paste the panel&rsquo;s <strong>Host</strong> into <strong>Host</strong>, and <code>2022</code> into <strong>Port</strong>.</li><li>Set <strong>Logon Type</strong> to <code>Normal</code>, then paste the full <strong>Username</strong> into <strong>User</strong> and your SFTP password into <strong>Password</strong>.</li><li>Click <strong>Connect</strong> and accept the host key when prompted.</li></ol>
<p>To avoid storing the password, choose <code>Ask for password</code> as the logon type instead.</p>

<h2 id="step-5">5. Find your way around the four folders</h2>
<p>SFTP shows the same four shares as the panel&rsquo;s <strong>File Browser</strong>, and nothing else:</p>
<ul><li><code>profiles</code> &mdash; server logs (<code>.ADM</code>, <code>.RPT</code>, <code>script_*.log</code>) and profile data: full log history, rather than the live tail.</li><li><code>mpmissions</code> &mdash; the mission folder, holding both your economy XMLs and your persistence.</li><li><code>config</code> &mdash; <code>serverDZ.cfg</code>, the BattlEye keys directory, and the <code>whitelist.txt</code>, <code>ban.txt</code> and <code>priority.txt</code> lists.</li><li><code>mods</code> &mdash; installed Workshop mods.</li></ul>
<p>Persistence lives at <code>mpmissions/&lt;world&gt;/storage_*/</code>. <code>players.db</code> (with its <code>-wal</code> and <code>-shm</code> companions) holds every character and inventory; the rest of the folder holds built structures, vehicles and other world state. Pull these down before anything risky &mdash; see <a href="https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/">taking a manual backup over SFTP</a>.</p>
<p>Loot and economy editing happens one level up, in <code>mpmissions/&lt;world&gt;/</code>: <code>types.xml</code>, <code>events.xml</code>, <code>cfgspawnabletypes.xml</code>. There is no GUI for these, so SFTP plus a text editor is the workflow &mdash; <a href="https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/">editing types.xml and the loot economy</a> covers them.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> The DayZ server executable and the BattlEye working directory are deliberately not exposed &mdash; your session root holds only the four shares.</p></div>

<figure class="dzshShot" id="shot-sftp-four-folders" data-dzsh-slot="sftp-four-folders" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/sftp-four-folders.png.73b4886e3b7015f2e1067c71ebc2d6a0.png" alt="SFTP client remote pane listing the profiles, mpmissions, config and mods folders" width="804" height="273" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Every SFTP session lands in a root holding just four folders: profiles, mpmissions, config and mods.</figcaption>
</figure>

<h2 id="step-6">6. Upload and download without breaking anything</h2>
<p>SFTP exists mainly to lift the size ceiling: the web <strong>File Browser</strong> accepts uploads up to 300 MB, SFTP up to 2.5 GB.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Never write to <code>storage_*</code> while the instance is <code>Running</code>. DayZ holds <code>players.db</code> open and rewrites the storage folder on shutdown, so an upload under a live server is either ignored or flushed away, and a partial write to an open database can corrupt every character. Stop the instance, wait for <code>Stopped</code>, then upload.</p></div>
<p>The same logic applies more gently to configuration: <code>serverDZ.cfg</code> and the economy XMLs are read once at boot, so a mid-session edit does nothing until the next start.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Executable and script types are rejected outright: <code>.exe</code>, <code>.dll</code>, <code>.bat</code>, <code>.cmd</code>, <code>.ps1</code>, <code>.sh</code>, <code>.msi</code>, <code>.scr</code> and <code>.com</code>. If a mod ships a helper program, open a ticket rather than renaming the file to get it past the filter.</p></div>
<p>Two structural limits round it off. Renaming is blocked in <code>config</code> and <code>mods</code>, which hold template-managed files, so upload under the final name instead. And <code>serverDZ.cfg</code>, the <code>keys</code> directory, <code>whitelist.txt</code>, <code>ban.txt</code>, <code>priority.txt</code> and the top-level mod folders cannot be deleted at all &mdash; overwrite those.</p>

<h2 id="step-7">7. Give staff SFTP access without sharing your password</h2>
<p>Because the password is tied to a panel account, handing yours to a helper gives them your whole account. Add them under <strong>Members</strong> instead and let them generate their own.</p>
<p>Two layers apply. <strong>Allow SFTP access</strong> decides whether they can log in; the <strong>Files</strong> permissions decide what they can do once in. <strong>Read files</strong> is the floor &mdash; SFTP access without it is refused at login &mdash; while <strong>Write files</strong> adds upload, overwrite and folder creation, and <strong>Delete files</strong> adds deletion. The rights match the <strong>File Browser</strong> exactly, so SFTP is not a back door.</p>
<p>A member without access sees <code>You don't have SFTP access to this instance. Ask the instance owner to grant it from the Members page.</code> Successful logins are recorded in the <strong>Audit Log</strong> under the <strong>SFTP</strong> category with the account and the file rights it was granted; client IP addresses are deliberately kept out.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> API keys cannot read the SFTP details or set the password &mdash; both endpoints reject key authentication. These credentials are for humans signed in to the panel.</p></div>

<h2 id="troubleshooting">Troubleshooting</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">My SFTP client says authentication failed or invalid credentials</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> One of three things: the username was typed without the dot and eight characters, the panel login password was used instead of the SFTP password, or the account lacks <strong>Allow SFTP access</strong> or <strong>Read files</strong>. The server returns the same generic failure for all three.</p>
<p><strong>How to fix it.</strong> Use <strong>Copy</strong> on the <strong>Username</strong> row and the <strong>Password</strong> card rather than retyping. If both are right, check those permissions in <strong>Members</strong>. The server allows five authentication attempts per connection, so a client offering SSH keys first can exhaust them first.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">SFTP worked yesterday and now the password is rejected on every server</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Someone clicked <strong>Regenerate password</strong>. The SFTP password belongs to the panel account, not one instance, so regenerating invalidates it everywhere at once &mdash; every saved session, plus any backup script using it.</p>
<p><strong>How to fix it.</strong> Open any instance&rsquo;s <strong>SFTP</strong> tab, <strong>Show</strong> and <strong>Copy</strong> the current password, and paste it into each saved site. If nobody knows the current value, regenerate once more and update everything from that one value.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The panel says my password was set before it could be shown here</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The password predates the panel keeping a displayable copy, so only the stored hash exists. It still works &mdash; the panel just cannot tell you what it is.</p>
<p><strong>How to fix it.</strong> Click <strong>Regenerate password</strong>, then <strong>Show</strong> and <strong>Copy</strong> the new value and update your clients. The old one cannot be recovered.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Uploads fail with permission denied, or the file never appears</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Three limits look alike: the account lacks <strong>Write files</strong>, the file exceeds the 2.5 GB SFTP ceiling, or its extension is blocked (<code>.exe</code>, <code>.dll</code>, <code>.bat</code>, <code>.cmd</code>, <code>.ps1</code>, <code>.sh</code>, <code>.msi</code>, <code>.scr</code>, <code>.com</code>). A failed <em>rename</em> in <code>config</code> or <code>mods</code> is separate: those hold template-managed files.</p>
<p><strong>How to fix it.</strong> Check the extension first, then <strong>Write files</strong> in <strong>Members</strong>. For a rename, upload under the final name. Split any archive over 2.5 GB and reassemble it on the server.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">I edited types.xml or serverDZ.cfg over SFTP but the server has not changed</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The engine reads those files once, at boot, and a running server keeps the values it loaded for as long as it is up.</p>
<p><strong>How to fix it.</strong> Restart the instance &mdash; use <strong>Controlled Restart</strong> if players are on. For persistence the rule is stricter: stop the server before touching <code>storage_*</code>, because a running server rewrites that folder on shutdown and discards your upload.</p></div>
</details>

<h2 id="faq">Frequently asked questions</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Is my SFTP password the same as my panel password?</h3></summary>
<div style="padding-top:.5em"><p>No. It is a separate credential, generated and shown only on the <strong>SFTP</strong> tab, and changing one has no effect on the other. Accounts that sign in through the community site with no local panel password get one the same way, so single sign-on never locks you out of file access.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Why does my SFTP username have a dot and eight characters after it?</h3></summary>
<div style="padding-top:.5em"><p>Those eight hexadecimal characters identify the instance. The SFTP server has no other way to know which of your servers you want, so it reads the instance out of the username at login &mdash; hence a different SFTP username per instance, and the need to copy it exactly.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I connect with plain FTP or FTPS?</h3></summary>
<div style="padding-top:.5em"><p>No. Only SFTP is offered, on port <code>2022</code>, and the account is restricted to that protocol at the server, so FTP and FTPS fail even against the right host. This matters in FileZilla, whose Quickconnect bar assumes FTP: use <strong>Site Manager</strong> and select <code>SFTP - SSH File Transfer Protocol</code>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I use an SSH key instead of a password?</h3></summary>
<div style="padding-top:.5em"><p>No &mdash; authentication is by password only, and there is nowhere in the panel to register a public key. If your client tries keys first, turn that off in its site settings so it does not waste the five attempts the server permits per connection.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Why can I only see four folders, and not the DayZ server files?</h3></summary>
<div style="padding-top:.5em"><p>Your session is confined to <code>profiles</code>, <code>mpmissions</code>, <code>config</code> and <code>mods</code> &mdash; the same shares the <strong>File Browser</strong> exposes. The game binaries and the BattlEye working directory sit outside that boundary, which is why the session root looks nearly empty.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">How large a file can I upload, and when should I use SFTP over the File Browser?</h3></summary>
<div style="padding-top:.5em"><p>SFTP takes single files up to 2.5 GB, against 300 MB in the web <strong>File Browser</strong>. Use the <strong>File Browser</strong> for quick XML tweaks and log reading, and SFTP for anything bulky &mdash; custom maps, large mod payloads, whole-folder uploads, and pulling your persistence down to your own disk.</p></div>
</details>

<h2>Related guides</h2>
<ul><li><a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">Getting started with the control panel</a></li><li><a href="https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/">Making a manual backup over SFTP</a></li><li><a href="https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/">Editing types.xml safely</a></li></ul>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "HowTo",
	"name": "Connecting to Your DayZ Server With SFTP (WinSCP and FileZilla)",
	"description": "Get your SFTP host, port 2022, username and password from the DZSERVERS.HOST panel, then connect with WinSCP or FileZilla to manage DayZ server files.",
	"step": [
		{
			"@type": "HowToStep",
			"position": 1,
			"name": "Open the SFTP tab and read the Connection card",
			"text": "Go to Instances → your instance → SFTP. The header reads SFTP Access followed by your instance name, and the Connection card lists three values, each with its own Copy button. Host — the machine your instance runs on. Depending on the node this is either a hostname or the same IP you connect to in game; Port — 2022, not the usual 22. Leave your client on the default and it will fail to connect; Username — your panel username, a dot, and eight hexadecimal characters, for example yourname.4f2a91c0; That trailing block is the first eight characters of the instance’s internal id, and it is how the SFTP server knows which instance you want. One account with three servers therefore has three different SFTP usernames. Copy it verbatim — a login built from your panel username alone is rejected. Note: Open in SFTP client hands the host, port and username to your computer’s default SFTP application, so you only type the password. If nothing happens when you click it, set the client up manually as below.",
			"url": "https://dzservers.host/articles/guides/dayz-server-sftp-access/#step-1"
		},
		{
			"@type": "HowToStep",
			"position": 2,
			"name": "Generate or copy your SFTP password",
			"text": "Scroll to the Password card. Its badge reads Set or Not set, and the subtitle gives the date it was last set. The first time you open this tab with no password on file, the panel generates one immediately and confirms with SFTP password generated. — so usually there is nothing to do but reveal it. Use Show to unmask the value and Copy to take it, then store it in your password manager. For a fresh one, click Regenerate password. Careful: This password belongs to your panel account, not to one instance. Regenerating takes effect immediately and stops the old password working on every instance at once, so saved sessions in WinSCP or FileZilla and any script that pulls backups fail until you update them. Two other states exist. Not set with an empty field means none exists yet — click Generate password. The message This password was set before it could be shown here. Generate a new one to view and copy it. means yours predates the panel storing a displayable copy: it still works if you know it, but cannot be shown. Note: This is not your admin or RCON password. The SFTP tab is the only place it lives.",
			"url": "https://dzservers.host/articles/guides/dayz-server-sftp-access/#step-2"
		},
		{
			"@type": "HowToStep",
			"position": 3,
			"name": "Connect with WinSCP",
			"text": "WinSCP opens its Login dialog on launch; if it does not, use Session then New Session. Fill in four fields. Field: Value. File protocol: SFTP. Host name: the Host from the Connection card. Port number: 2022. User name: the full Username, dot and eight characters included. Password: your SFTP password. Click Save if you want the session kept, then Login. The first connection asks you to accept the server’s host key fingerprint — normal, and once per machine. You then land in a directory holding your four folders. Note: If WinSCP fails without ever prompting for a password, an SSH agent is offering keys and burning the five attempts the server allows. Under Advanced → Authentication, clear the public-key and agent options.",
			"url": "https://dzservers.host/articles/guides/dayz-server-sftp-access/#step-3"
		},
		{
			"@type": "HowToStep",
			"position": 4,
			"name": "Connect with FileZilla",
			"text": "FileZilla’s Quickconnect bar defaults to plain FTP, which will not work here, so use the Site Manager. Open File → Site Manager and click New site. Name it after your instance; Set Protocol to SFTP - SSH File Transfer Protocol; Paste the panel’s Host into Host, and 2022 into Port; Set Logon Type to Normal, then paste the full Username into User and your SFTP password into Password; Click Connect and accept the host key when prompted; To avoid storing the password, choose Ask for password as the logon type instead.",
			"url": "https://dzservers.host/articles/guides/dayz-server-sftp-access/#step-4"
		},
		{
			"@type": "HowToStep",
			"position": 5,
			"name": "Find your way around the four folders",
			"text": "SFTP shows the same four shares as the panel’s File Browser, and nothing else. profiles — server logs (.ADM,.RPT, script_*.log ) and profile data: full log history, rather than the live tail; mpmissions — the mission folder, holding both your economy XMLs and your persistence; config — serverDZ.cfg, the BattlEye keys directory, and the whitelist.txt, ban.txt and priority.txt lists; mods — installed Workshop mods; Persistence lives at mpmissions/\u003cworld\u003e/storage_*/. players.db (with its -wal and -shm companions) holds every character and inventory; the rest of the folder holds built structures, vehicles and other world state. Pull these down before anything risky — see taking a manual backup over SFTP. Loot and economy editing happens one level up, in mpmissions/\u003cworld\u003e/: types.xml, events.xml, cfgspawnabletypes.xml. There is no GUI for these, so SFTP plus a text editor is the workflow — editing types.xml and the loot economy covers them. Note: The DayZ server executable and the BattlEye working directory are deliberately not exposed — your session root holds only the four shares.",
			"url": "https://dzservers.host/articles/guides/dayz-server-sftp-access/#step-5"
		},
		{
			"@type": "HowToStep",
			"position": 6,
			"name": "Upload and download without breaking anything",
			"text": "SFTP exists mainly to lift the size ceiling: the web File Browser accepts uploads up to 300 MB, SFTP up to 2.5 GB. Data loss risk: Never write to storage_* while the instance is Running. DayZ holds players.db open and rewrites the storage folder on shutdown, so an upload under a live server is either ignored or flushed away, and a partial write to an open database can corrupt every character. Stop the instance, wait for Stopped, then upload. The same logic applies more gently to configuration: serverDZ.cfg and the economy XMLs are read once at boot, so a mid-session edit does nothing until the next start. Careful: Executable and script types are rejected outright.exe,.dll,.bat,.cmd,.ps1,.sh,.msi,.scr and.com. If a mod ships a helper program, open a ticket rather than renaming the file to get it past the filter. Two structural limits round it off. Renaming is blocked in config and mods, which hold template-managed files, so upload under the final name instead. And serverDZ.cfg, the keys directory, whitelist.txt, ban.txt, priority.txt and the top-level mod folders cannot be deleted at all — overwrite those.",
			"url": "https://dzservers.host/articles/guides/dayz-server-sftp-access/#step-6"
		},
		{
			"@type": "HowToStep",
			"position": 7,
			"name": "Give staff SFTP access without sharing your password",
			"text": "Because the password is tied to a panel account, handing yours to a helper gives them your whole account. Add them under Members instead and let them generate their own. Two layers apply. Allow SFTP access decides whether they can log in; the Files permissions decide what they can do once in. Read files is the floor — SFTP access without it is refused at login — while Write files adds upload, overwrite and folder creation, and Delete files adds deletion. The rights match the File Browser exactly, so SFTP is not a back door. A member without access sees You don't have SFTP access to this instance. Ask the instance owner to grant it from the Members page. Successful logins are recorded in the Audit Log under the SFTP category with the account and the file rights it was granted; client IP addresses are deliberately kept out. Note: API keys cannot read the SFTP details or set the password — both endpoints reject key authentication. These credentials are for humans signed in to the panel.",
			"url": "https://dzservers.host/articles/guides/dayz-server-sftp-access/#step-7"
		}
	],
	"totalTime": "PT10M",
	"supply": [
		{
			"@type": "HowToSupply",
			"name": "A provisioned instance and a panel account with the Allow SFTP access permission on it. Instance owners have it automatically."
		},
		{
			"@type": "HowToSupply",
			"name": "An SFTP client. This guide uses WinSCP and FileZilla, both free on Windows."
		},
		{
			"@type": "HowToSupply",
			"name": "Outbound TCP on port 2022 allowed by your own network — some corporate and school networks permit only 80 and 443."
		}
	]
}
</script>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "Is my SFTP password the same as my panel password?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. It is a separate credential, generated and shown only on the SFTP tab, and changing one has no effect on the other. Accounts that sign in through the community site with no local panel password get one the same way, so single sign-on never locks you out of file access."
			}
		},
		{
			"@type": "Question",
			"name": "Why does my SFTP username have a dot and eight characters after it?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Those eight hexadecimal characters identify the instance. The SFTP server has no other way to know which of your servers you want, so it reads the instance out of the username at login — hence a different SFTP username per instance, and the need to copy it exactly."
			}
		},
		{
			"@type": "Question",
			"name": "Can I connect with plain FTP or FTPS?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. Only SFTP is offered, on port 2022, and the account is restricted to that protocol at the server, so FTP and FTPS fail even against the right host. This matters in FileZilla, whose Quickconnect bar assumes FTP: use Site Manager and select SFTP - SSH File Transfer Protocol."
			}
		},
		{
			"@type": "Question",
			"name": "Can I use an SSH key instead of a password?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No — authentication is by password only, and there is nowhere in the panel to register a public key. If your client tries keys first, turn that off in its site settings so it does not waste the five attempts the server permits per connection."
			}
		},
		{
			"@type": "Question",
			"name": "Why can I only see four folders, and not the DayZ server files?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Your session is confined to profiles, mpmissions, config and mods — the same shares the File Browser exposes. The game binaries and the BattlEye working directory sit outside that boundary, which is why the session root looks nearly empty."
			}
		},
		{
			"@type": "Question",
			"name": "How large a file can I upload, and when should I use SFTP over the File Browser?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "SFTP takes single files up to 2.5 GB, against 300 MB in the web File Browser. Use the File Browser for quick XML tweaks and log reading, and SFTP for anything bulky — custom maps, large mod payloads, whole-folder uploads, and pulling your persistence down to your own disk."
			}
		}
	]
}
</script>]]></description><guid isPermaLink="false">8</guid><pubDate>Thu, 30 Jul 2026 15:03:43 +0000</pubDate></item><item><title>DayZ Server Backups: Schedule, Retention and Category-Level Restore</title><link>https://dzservers.host/articles/guides/dayz-server-backups-and-restore/</link><description><![CDATA[
<p><img src="https://dzservers.host/uploads/monthly_2026_07/backups-tab.png.069593cdce4ddd6ee8d923d4369638c0.png" /></p>
<!-- DZSH-MANAGED slug=dayz-server-backups-and-restore rev=1 — generated by tools/articles. Do NOT edit in the IPS editor: HTMLPurifier strips <figure>, ids, data-* and JSON-LD. Edit tools/articles/articles/*-dayz-server-backups-and-restore.js and re-run bin/publish.mjs. -->

<p>Backups on your DZSERVERS.HOST server run automatically on a frequency you choose, are kept for 30 days, and restore one category at a time &mdash; so you can roll back a griefed base without resetting a single player&rsquo;s character, or put back only your economy XMLs after a bad edit. Everything lives on the <strong>Backups</strong> tab of your instance: a <strong>Backup schedule</strong> card, a <strong>Backup history</strong> list, and a restore panel where you tick which parts of which world to put back.</p>
<p>This guide covers that automatic side. There is no create-now button and no download button on the tab, which is deliberate: a copy on your own disk is a separate job over SFTP.</p>

<nav class="dzshToc" aria-label="On this page" style="border:1px solid rgba(128,128,128,.28);border-left:3px solid #f59e0b;border-radius:4px;padding:.9em 1.1em .9em 1.4em;margin:1.75em 0;background:rgba(128,128,128,.05)">
<p style="margin:0 0 .5em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.78em;opacity:.8">On this page</p>
<ol style="margin:0;padding-left:1.2em;line-height:1.75"><li><a href="#step-1">Open the Backups tab</a></li><li><a href="#step-2">Choose a backup frequency</a></li><li><a href="#step-3">Know what is in a backup, and what is not</a></li><li><a href="#step-4">Read the backup history</a></li><li><a href="#step-5">Stop the server before you restore</a></li><li><a href="#step-6">Restore only the parts you need</a></li><li><a href="#step-7">Watch it finish, then start the server</a></li><li><a href="#step-8">Keep your own copy for anything older than 30 days</a></li><li><a href="#troubleshooting">Troubleshooting</a></li><li><a href="#faq">Frequently asked questions</a></li></ol>
</nav>

<h2>Before you start</h2>
<ul><li>An instance and the <strong>Manage backups</strong> permission. The <strong>Backups</strong> tab only appears in the tab bar if you have it.</li><li>The <strong>Start / stop / restart</strong> permission too if you intend to restore &mdash; a restore needs the server stopped, and both the panel and the node refuse otherwise.</li><li>A rough idea of when the problem started, so you pick the right entry. History timestamps are shown in your own local time.</li></ul>

<figure class="dzshShot" id="shot-backups-tab" data-dzsh-slot="backups-tab" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/backups-tab.png.8f671e1bc7084fb27019c4160bc58627.png" alt="The Backups tab showing the Backup schedule card set to Daily above a Backup history list of available backups" width="1615" height="728" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Backups tab: an automatic schedule at the top, 30 days of restorable history underneath.</figcaption>
</figure>

<h2 id="step-1">1. Open the Backups tab</h2>
<p>Go to <strong>Instances &rarr; your instance &rarr; Backups</strong>. The page opens with two cards, <strong>Backup schedule</strong> and <strong>Backup history</strong>. <strong>Refresh</strong> re-reads both; <strong>Back to Instance</strong> returns you to <strong>Overview</strong>.</p>
<p>A message reading <code>You don't have permission to manage backups on this instance.</code> means you are a sub-user without the <strong>Manage backups</strong> permission, which the owner grants under <strong>Members</strong>.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> One permission covers the whole tab: anyone who can change the schedule can also restore and delete, so grant it only to people you trust with the persistence data. Every schedule change, restore and delete is attributed in the <strong>Audit Log</strong> &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-staff-permissions-api-keys/">staff permissions and API keys</a>.</p></div>

<h2 id="step-2">2. Choose a backup frequency</h2>
<p>The <strong>Backup schedule</strong> card holds one dropdown. Pick a value and click <strong>Save</strong>; a toast confirms it, such as <code>Backup frequency set to Daily.</code> <strong>Discard</strong> appears beside <strong>Save</strong> while a change is unsaved.</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Option</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What it does</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Off</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">No backups at all. Existing entries stay until retention removes them.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Every 6 hours</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">For a busy server where six hours of base building is a lot to lose.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Every 12 hours</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">A good default for most community servers.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Daily</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Enough for a low-population or PvE server.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Weekly</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Only useful alongside your own manual copies.</td></tr></tbody></table></div>
<p>The interval runs from the last backup <em>attempt</em>, not against the clock, so <code>Daily</code> means about every 24 hours and drifts slightly forward each day; there is no field to pin it to a set hour. Backups need no downtime either: the node takes a Volume Shadow Copy snapshot first, so <code>players.db</code> is captured cleanly while DayZ holds it open and players are online.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> <code>Off</code> means exactly that. Turn backups off and there is nothing on the node to restore from when someone gets griefed three days later.</p></div>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> A banner reading <code>Backups are not fully configured on this node yet.</code> means your choice is saved but will not produce entries until an administrator finishes enabling backups on that node. Open a ticket if it persists.</p></div>

<figure class="dzshShot" id="shot-backup-frequency-dropdown" data-dzsh-slot="backup-frequency-dropdown" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/backup-frequency-dropdown.png.d8b6b5d6ede1c4a4a3f985f0d4a00f9b.png" alt="The Backup schedule card with the frequency dropdown open showing Off, Every 6 hours, Every 12 hours, Daily and Weekly" width="555" height="261" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The five backup frequency presets. The interval runs from the last backup, not from a fixed hour.</figcaption>
</figure>

<h2 id="step-3">3. Know what is in a backup, and what is not</h2>
<p>A backup captures your mission folder under <code>mpmissions</code> &mdash; persistence and mission config &mdash; split into three independently restorable categories:</p>
<ul><li><strong>Players DB</strong> &mdash; player characters and inventory: <code>players.db</code> plus <code>players.db-wal</code> and <code>players.db-shm</code>.</li><li><strong>World Data</strong> &mdash; built structures, vehicles and other persisted world state. Everything else in the <code>storage_*</code> folder.</li><li><strong>XMLs &amp; JSONs &amp; other(s)</strong> &mdash; mission-level config: <code>types.xml</code>, events, spawn configs and the rest of the mission folder outside <code>storage_*</code>.</li></ul>
<pre class="ipsCode prettyprint lang-auto">mpmissions/
  dayzOffline.chernarusplus/       one "world" in the restore tree
    db/                            XMLs &amp; JSONs &amp; other(s)
    cfgeconomycore.xml             XMLs &amp; JSONs &amp; other(s)
    cfgspawnabletypes.xml          XMLs &amp; JSONs &amp; other(s)
    storage_1/
      players.db                   Players DB
      players.db-wal               Players DB
      players.db-shm               Players DB
      data/                        World Data</pre>
<p>Every mission folder under <code>mpmissions</code> is captured separately, so if you have switched maps you will see more than one world in the restore tree.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Not in a backup: your mods, your logs under <code>profiles</code>, and <code>serverDZ.cfg</code>. The config is safe anyway because the panel writes it from the typed <strong>Instance Settings</strong> editor, but a mod that keeps its state under <code>profiles</code> is outside the backup&rsquo;s scope &mdash; copy that folder down yourself over <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">SFTP</a>.</p></div>

<h2 id="step-4">4. Read the backup history</h2>
<p><strong>Backup history</strong> lists entries newest first. On a new instance it reads <code>No backups yet. They'll appear here once the schedule runs.</code>; the first arrives after one interval has elapsed.</p>
<p>Each row shows a status pill, the creation time in your local timezone, the compressed size, and whether it was <code>Scheduled</code> or <code>Manual</code>. Everything the schedule produces is <code>Scheduled</code>; <code>Manual</code> only appears on an entry created from our side, for instance while a support ticket is being worked.</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Status</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Meaning</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Available</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Finished and restorable. The only status <strong>Restore</strong> accepts.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Creating</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Snapshotting and zipping now. Becomes <code>Available</code> on its own.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Restoring</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">A restore from this entry is running. The backup file is not modified, so the row returns to <code>Available</code> either way.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Deleting</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Removal is queued, either because you asked or because retention aged it out.</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>Failed</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Could not be created. The reason is appended after the size.</td></tr></tbody></table></div>
<p><strong>Restore</strong> opens the restore panel &mdash; greyed out unless the entry is <code>Available</code> <em>and</em> the server is stopped, and hovering it names the blocking condition. <strong>Delete</strong> removes the backup file from the node. Entries are deleted automatically 30 days after creation, so <code>Every 6 hours</code> carries roughly 120 restore points and <code>Weekly</code> roughly four.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> <strong>Delete</strong> is permanent, and the confirmation says so: <code>This cannot be undone.</code> There is no recycle bin and we cannot bring a deleted backup back. Use it to clear <code>Failed</code> entries, not to tidy up.</p></div>

<figure class="dzshShot" id="shot-backup-history-list" data-dzsh-slot="backup-history-list" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/backup-history-list.png.3790490b9f57c6dbd308a9c93c2ce080.png" alt="Backup history rows with Available status pills, timestamps, sizes and Scheduled labels beside Restore and Delete buttons" width="1556" height="246" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Backup history rows: status pill, local timestamp, size, trigger label and the per-entry Restore and Delete buttons.</figcaption>
</figure>

<h2 id="step-5">5. Stop the server before you restore</h2>
<p>While the instance is up, <strong>Backup history</strong> shows a banner reading <code>The server is running. Stop it before restoring a backup.</code> and every <strong>Restore</strong> button is disabled with the tooltip <code>Stop the server first</code>.</p>
<p>That is not a formality. A running DayZ server holds <code>players.db</code> open and flushes persistence as it goes and again on shutdown, so restoring underneath it either fails on a locked file or gets overwritten the moment the server next saves &mdash; burning the outage without fixing anything. The panel and the node both refuse outright.</p>
<p>Click <strong>Stop</strong> on <strong>Overview</strong>. If players are online, use <strong>Controlled Restart</strong> first so they are warned and can log out somewhere safe &mdash; <a href="https://dzservers.host/articles/guides/dayz-restart-without-rollback/">restarting without rollbacks</a> explains what an abrupt kill costs them. Back on <strong>Backups</strong>, the banner clears a few seconds after the instance reports <code>Stopped</code>.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Plan the outage. The server stays down until you start it again, and a large <strong>World Data</strong> category on a long-lived server takes a while to unpack.</p></div>

<figure class="dzshShot" id="shot-stop-before-restore" data-dzsh-slot="stop-before-restore" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/stop-before-restore.png.ad748e398db5ba8354cd2dae5ec9f6fd.png" alt="Amber banner reading that the server is running and must be stopped, above a backup row with a greyed out Restore button" width="1573" height="171" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">While the instance is running the Restore buttons stay disabled &mdash; restoring live persistence would be refused or overwritten.</figcaption>
</figure>

<h2 id="step-6">6. Restore only the parts you need</h2>
<p>Click <strong>Restore</strong> on the entry you want. A panel headed <strong>Restore backup</strong> opens, subtitled with that backup&rsquo;s timestamp, and states plainly: <code>Choose which parts to restore. Existing files will be overwritten.</code></p>
<p>Below is a checkbox tree, one group per world. The group header is the mission folder name &mdash; <code>dayzOffline.chernarusplus</code> &mdash; with <code>(Persistence)</code> beside it, and ticking it toggles all of its categories. Each category shows its size and file count, so you can see that <strong>Players DB</strong> is a few megabytes while <strong>World Data</strong> may be hundreds.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> <strong>Everything starts ticked.</strong> Untick what you want to keep, because whatever stays ticked is overwritten from the backup and the live copy is gone. Leaving <strong>Players DB</strong> ticked when you only meant to fix a base rolls every character back to that timestamp &mdash; inventory, position, health, all of it.</p></div>
<p>That separation is the whole point:</p>
<ul><li><strong>A group blew up someone&rsquo;s base overnight.</strong> Tick <strong>World Data</strong> only: structures and vehicles go back to last night, and everyone keeps the character and gear they have now.</li><li><strong>A bad <code>types.xml</code> edit broke your economy.</strong> Tick <strong>XMLs &amp; JSONs &amp; other(s)</strong> only: loot config reverts, no base or character is touched. <a href="https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/">Editing types.xml and the loot economy</a> covers avoiding the next one.</li></ul>
<p>The confirm button counts your ticks &mdash; <strong>Restore 1 part</strong> for one category, <strong>Restore 3 parts</strong> for three &mdash; and stays disabled until a box is checked. <strong>Cancel</strong> changes nothing.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> A restore overwrites the files that are in the backup and leaves anything else alone; it is not a wipe-and-replace of the directory. A genuinely clean slate is a wipe, which is not a panel operation &mdash; open a ticket.</p></div>

<figure class="dzshShot" id="shot-restore-panel" data-dzsh-slot="restore-panel" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/restore-panel.png.c6a3c1dd2877ee892523f61d971a2893.png" alt="Restore backup panel with a world group expanded and Players DB unticked, World Data and XMLs ticked, above a Restore 2 parts button" width="587" height="436" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The restore panel: tick one world&rsquo;s World Data alone to undo griefing without rolling back player characters.</figcaption>
</figure>

<h2 id="step-7">7. Watch it finish, then start the server</h2>
<p>Confirming queues the work on the node. The pill switches to <code>Restoring</code> and a progress strip appears under that row, polled every second or two until it settles on <code>Done</code> or <code>Failed</code>; <strong>Dismiss</strong> clears it. The backup file is never modified, so the row returns to <code>Available</code> either way &mdash; and if it failed, the reason is appended after the size. Read that before retrying.</p>
<p>Now click <strong>Start</strong> on <strong>Overview</strong> and verify before announcing you are back: <strong>Server Status</strong> reads <code>Running</code>, <strong>Server FPS</strong> reports a number, and the thing you restored looks right in game. If you restored <strong>Players DB</strong>, tell players first &mdash; a silent character rollback reads as a bug.</p>

<h2 id="step-8">8. Keep your own copy for anything older than 30 days</h2>
<p>This tab is 30 days of node-side history, not an archive, and its entries are only ever restored in place. Two situations need more:</p>
<ul><li><strong>A copy off the node.</strong> Pull <code>mpmissions/&lt;world&gt;/storage_*</code> down over SFTP. That is the whole persistence set, and it is yours to keep &mdash; see <a href="https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/">making and downloading a manual backup over SFTP</a>.</li><li><strong>Something risky right now</strong> &mdash; an economy rewrite, a mod that touches persistence, a map change. Do not wait for the schedule: stop the server, copy the mission folder down, then make the change. <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">Connecting with SFTP</a> covers credentials and clients.</li></ul>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> SFTP is the route for anything large either way: the web <strong>File Browser</strong> caps uploads at 300 MB against SFTP&rsquo;s 2.5 GB, and a mature <code>storage_1</code> folder can be well past the smaller limit. A restore here only reads backups this panel created, so an archive from another host goes in over SFTP too &mdash; see <a href="https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/">migrating a DayZ server to a new host</a>.</p></div>

<h2 id="troubleshooting">Troubleshooting</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The Restore button is greyed out and I cannot click it</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Only two things disable it: the entry is not <code>Available</code>, or the instance is running. Restoring into live persistence would be blocked by open file handles or silently overwritten.</p>
<p><strong>How to fix it.</strong> Hover the button &mdash; the tooltip names the reason, either <code>Stop the server first</code> or <code>Backup not available</code>. Stop the instance on <strong>Overview</strong> and wait for the banner to clear, or pick an entry whose pill reads <code>Available</code>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">My backup history is empty and no backups are being created</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> In order of likelihood: the schedule is <code>Off</code>; the first interval has not elapsed on a new instance; or the node has not finished having backups enabled, which the panel says with a banner reading <code>Backups are not fully configured on this node yet.</code></p>
<p><strong>How to fix it.</strong> Check the dropdown is not <code>Off</code> and <strong>Save</strong> if you change it. On a new instance give it one full interval &mdash; <code>Daily</code> means waiting a day for the first entry, so choose <code>Every 6 hours</code> if you want one sooner. If the node banner is showing, open a ticket; your schedule is already saved.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">A backup entry says Failed and it is still sitting in the list</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The node could not complete the snapshot or the zip, and the reason is appended after the size. Retention only prunes entries that reached <code>Available</code>, so a <code>Failed</code> row is never aged out.</p>
<p><strong>How to fix it.</strong> Read the note, then <strong>Delete</strong> the row to keep the list readable. The schedule carries on and tries again at the normal interval, so one failure needs no action. If several in a row fail, open a ticket with the note text.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">I restored a backup but players say their bases and stashes are still gone</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Almost always an unticked category. Bases, vehicles, tents and buried stashes are <strong>World Data</strong>, not <strong>Players DB</strong> &mdash; restoring only the players database brings characters back without touching a structure.</p>
<p><strong>How to fix it.</strong> Stop the server again, open <strong>Restore</strong> on the <em>same</em> entry and tick <strong>World Data</strong> this time. Take both categories from one backup rather than mixing timestamps, or you end up with characters from one moment and a world from another.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The Backups tab is missing from my instance tab bar</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The tab bar is permission-gated per instance, and without <strong>Manage backups</strong> the tab is not rendered at all &mdash; which is why it looks absent rather than locked.</p>
<p><strong>How to fix it.</strong> If you own the instance, check you are signed in to the right account. Otherwise ask the owner to add <strong>Manage backups</strong> to your grant under <strong>Members</strong>.</p></div>
</details>

<h2 id="faq">Frequently asked questions</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I take a backup right now, on demand?</h3></summary>
<div style="padding-top:.5em"><p>Not from the Backups tab &mdash; the schedule is the only trigger and there is no create-now button. For a snapshot at a specific moment, such as just before a risky edit, stop the server and copy <code>mpmissions/&lt;world&gt;/storage_*</code> down over SFTP instead; <a href="https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/">making a manual backup over SFTP</a> covers it.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I download a backup from the panel?</h3></summary>
<div style="padding-top:.5em"><p>No. Automatic backups live on the node and are only ever restored in place, so there is no download button. For a copy on your own disk, take it yourself over <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">SFTP</a> &mdash; which also removes the 30-day limit, since a file you have downloaded is yours indefinitely.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Does my server have to be offline for a backup to be taken?</h3></summary>
<div style="padding-top:.5em"><p>No. The node takes a Volume Shadow Copy snapshot before it reads anything, so <code>players.db</code> is captured consistently while DayZ holds it open and players are online. Scheduled backups need no downtime; restoring is the operation that requires the server stopped.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">How long are backups kept, and can I keep them longer?</h3></summary>
<div style="padding-top:.5em"><p>Thirty days from the moment each backup was created, after which it is deleted automatically. The window is set per node and is not adjustable per instance, so anything you need beyond a month has to be downloaded over SFTP and stored yourself.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Does the Daily option run at a fixed time of day?</h3></summary>
<div style="padding-top:.5em"><p>No &mdash; the interval runs from the last backup attempt rather than against the clock, so <code>Daily</code> means roughly every 24 hours and drifts a little forward each day. There is no field to pin it to a particular hour, and the <strong>Scheduler</strong> tab offers no backup task either; it handles restarts, start/stop and RCON messages only.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Will restoring roll back player characters as well as bases?</h3></summary>
<div style="padding-top:.5em"><p>Only if you tick <strong>Players DB</strong> in the restore panel. Every category starts ticked, so untick it deliberately when you want to fix the world and leave characters where they are &mdash; that separation is the main reason to use category-level restore rather than putting a whole backup back.</p></div>
</details>

<h2>Related guides</h2>
<ul><li><a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">Getting started with the control panel</a></li><li><a href="https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/">Making a manual backup over SFTP</a></li><li><a href="https://dzservers.host/articles/guides/dayz-restart-without-rollback/">Restarting without rollbacks</a></li></ul>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "HowTo",
	"name": "DayZ Server Backups: Schedule, Retention and Category-Level Restore",
	"description": "Set a backup schedule on your DZSERVERS.HOST DayZ server, then restore only what you need: the players database, world data or your mission XMLs.",
	"step": [
		{
			"@type": "HowToStep",
			"position": 1,
			"name": "Open the Backups tab",
			"text": "Go to Instances → your instance → Backups. The page opens with two cards, Backup schedule and Backup history. Refresh re-reads both; Back to Instance returns you to Overview. A message reading You don't have permission to manage backups on this instance. means you are a sub-user without the Manage backups permission, which the owner grants under Members. Note: One permission covers the whole tab: anyone who can change the schedule can also restore and delete, so grant it only to people you trust with the persistence data. Every schedule change, restore and delete is attributed in the Audit Log — see staff permissions and API keys.",
			"url": "https://dzservers.host/articles/guides/dayz-server-backups-and-restore/#step-1"
		},
		{
			"@type": "HowToStep",
			"position": 2,
			"name": "Choose a backup frequency",
			"text": "The Backup schedule card holds one dropdown. Pick a value and click Save; a toast confirms it, such as Backup frequency set to Daily. Discard appears beside Save while a change is unsaved. Option: What it does. Off: No backups at all. Existing entries stay until retention removes them. Every 6 hours: For a busy server where six hours of base building is a lot to lose. Every 12 hours: A good default for most community servers. Daily: Enough for a low-population or PvE server. Weekly: Only useful alongside your own manual copies. The interval runs from the last backup attempt, not against the clock, so Daily means about every 24 hours and drifts slightly forward each day; there is no field to pin it to a set hour. Backups need no downtime either: the node takes a Volume Shadow Copy snapshot first, so players.db is captured cleanly while DayZ holds it open and players are online. Careful: Off means exactly that. Turn backups off and there is nothing on the node to restore from when someone gets griefed three days later. Note: A banner reading Backups are not fully configured on this node yet. means your choice is saved but will not produce entries until an administrator finishes enabling backups on that node. Open a ticket if it persists.",
			"url": "https://dzservers.host/articles/guides/dayz-server-backups-and-restore/#step-2"
		},
		{
			"@type": "HowToStep",
			"position": 3,
			"name": "Know what is in a backup, and what is not",
			"text": "A backup captures your mission folder under mpmissions — persistence and mission config — split into three independently restorable categories. Players DB — player characters and inventory: players.db plus players.db-wal and players.db-shm; World Data — built structures, vehicles and other persisted world state. Everything else in the storage_* folder; XMLs \u0026 JSONs \u0026 other(s) — mission-level config: types.xml, events, spawn configs and the rest of the mission folder outside storage_*; mpmissions/ dayzOffline.chernarusplus/ one \"world\" in the restore tree db/ XMLs \u0026 JSONs \u0026 other(s) cfgeconomycore.xml XMLs \u0026 JSONs \u0026 other(s) cfgspawnabletypes.xml XMLs \u0026 JSONs \u0026 other(s) storage_1/ players.db Players DB players.db-wal Players DB players.db-shm Players DB data/ World Data Every mission folder under mpmissions is captured separately, so if you have switched maps you will see more than one world in the restore tree. Careful: Not in a backup: your mods, your logs under profiles, and serverDZ.cfg. The config is safe anyway because the panel writes it from the typed Instance Settings editor, but a mod that keeps its state under profiles is outside the backup’s scope — copy that folder down yourself over SFTP.",
			"url": "https://dzservers.host/articles/guides/dayz-server-backups-and-restore/#step-3"
		},
		{
			"@type": "HowToStep",
			"position": 4,
			"name": "Read the backup history",
			"text": "Backup history lists entries newest first. On a new instance it reads No backups yet. They'll appear here once the schedule runs; the first arrives after one interval has elapsed. Each row shows a status pill, the creation time in your local timezone, the compressed size, and whether it was Scheduled or Manual. Everything the schedule produces is Scheduled; Manual only appears on an entry created from our side, for instance while a support ticket is being worked. Status: Meaning. Available: Finished and restorable. The only status Restore accepts. Creating: Snapshotting and zipping now. Becomes Available on its own. Restoring: A restore from this entry is running. The backup file is not modified, so the row returns to Available either way. Deleting: Removal is queued, either because you asked or because retention aged it out. Failed: Could not be created. The reason is appended after the size. Restore opens the restore panel — greyed out unless the entry is Available and the server is stopped, and hovering it names the blocking condition. Delete removes the backup file from the node. Entries are deleted automatically 30 days after creation, so Every 6 hours carries roughly 120 restore points and Weekly roughly four. Data loss risk: Delete is permanent, and the confirmation says so: This cannot be undone. There is no recycle bin and we cannot bring a deleted backup back. Use it to clear Failed entries, not to tidy up.",
			"url": "https://dzservers.host/articles/guides/dayz-server-backups-and-restore/#step-4"
		},
		{
			"@type": "HowToStep",
			"position": 5,
			"name": "Stop the server before you restore",
			"text": "While the instance is up, Backup history shows a banner reading The server is running. Stop it before restoring a backup. and every Restore button is disabled with the tooltip Stop the server first. That is not a formality. A running DayZ server holds players.db open and flushes persistence as it goes and again on shutdown, so restoring underneath it either fails on a locked file or gets overwritten the moment the server next saves — burning the outage without fixing anything. The panel and the node both refuse outright. Click Stop on Overview. If players are online, use Controlled Restart first so they are warned and can log out somewhere safe — restarting without rollbacks explains what an abrupt kill costs them. Back on Backups, the banner clears a few seconds after the instance reports Stopped. Careful: Plan the outage. The server stays down until you start it again, and a large World Data category on a long-lived server takes a while to unpack.",
			"url": "https://dzservers.host/articles/guides/dayz-server-backups-and-restore/#step-5"
		},
		{
			"@type": "HowToStep",
			"position": 6,
			"name": "Restore only the parts you need",
			"text": "Click Restore on the entry you want. A panel headed Restore backup opens, subtitled with that backup’s timestamp, and states plainly: Choose which parts to restore. Existing files will be overwritten. Below is a checkbox tree, one group per world. The group header is the mission folder name — dayzOffline.chernarusplus — with (Persistence) beside it, and ticking it toggles all of its categories. Each category shows its size and file count, so you can see that Players DB is a few megabytes while World Data may be hundreds. Data loss risk: Everything starts ticked. Untick what you want to keep, because whatever stays ticked is overwritten from the backup and the live copy is gone. Leaving Players DB ticked when you only meant to fix a base rolls every character back to that timestamp — inventory, position, health, all of it. That separation is the whole point. A group blew up someone’s base overnight. Tick World Data only: structures and vehicles go back to last night, and everyone keeps the character and gear they have now; A bad types.xml edit broke your economy. Tick XMLs \u0026 JSONs \u0026 other(s) only: loot config reverts, no base or character is touched. Editing types.xml and the loot economy covers avoiding the next one; The confirm button counts your ticks — Restore 1 part for one category, Restore 3 parts for three — and stays disabled until a box is checked. Cancel changes nothing. Note: A restore overwrites the files that are in the backup and leaves anything else alone; it is not a wipe-and-replace of the directory. A genuinely clean slate is a wipe, which is not a panel operation — open a ticket.",
			"url": "https://dzservers.host/articles/guides/dayz-server-backups-and-restore/#step-6"
		},
		{
			"@type": "HowToStep",
			"position": 7,
			"name": "Watch it finish, then start the server",
			"text": "Confirming queues the work on the node. The pill switches to Restoring and a progress strip appears under that row, polled every second or two until it settles on Done or Failed; Dismiss clears it. The backup file is never modified, so the row returns to Available either way — and if it failed, the reason is appended after the size. Read that before retrying. Now click Start on Overview and verify before announcing you are back: Server Status reads Running, Server FPS reports a number, and the thing you restored looks right in game. If you restored Players DB, tell players first — a silent character rollback reads as a bug.",
			"url": "https://dzservers.host/articles/guides/dayz-server-backups-and-restore/#step-7"
		},
		{
			"@type": "HowToStep",
			"position": 8,
			"name": "Keep your own copy for anything older than 30 days",
			"text": "This tab is 30 days of node-side history, not an archive, and its entries are only ever restored in place. Two situations need more. A copy off the node. Pull mpmissions/\u003cworld\u003e/storage_* down over SFTP. That is the whole persistence set, and it is yours to keep — see making and downloading a manual backup over SFTP; Something risky right now — an economy rewrite, a mod that touches persistence, a map change. Do not wait for the schedule: stop the server, copy the mission folder down, then make the change. Connecting with SFTP covers credentials and clients; Note: SFTP is the route for anything large either way: the web File Browser caps uploads at 300 MB against SFTP’s 2.5 GB, and a mature storage_1 folder can be well past the smaller limit. A restore here only reads backups this panel created, so an archive from another host goes in over SFTP too — see migrating a DayZ server to a new host.",
			"url": "https://dzservers.host/articles/guides/dayz-server-backups-and-restore/#step-8"
		}
	],
	"totalTime": "PT10M",
	"supply": [
		{
			"@type": "HowToSupply",
			"name": "An instance and the Manage backups permission. The Backups tab only appears in the tab bar if you have it."
		},
		{
			"@type": "HowToSupply",
			"name": "The Start / stop / restart permission too if you intend to restore — a restore needs the server stopped, and both the panel and the node refuse otherwise."
		},
		{
			"@type": "HowToSupply",
			"name": "A rough idea of when the problem started, so you pick the right entry. History timestamps are shown in your own local time."
		}
	]
}
</script>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "Can I take a backup right now, on demand?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Not from the Backups tab — the schedule is the only trigger and there is no create-now button. For a snapshot at a specific moment, such as just before a risky edit, stop the server and copy mpmissions/\u003cworld\u003e/storage_* down over SFTP instead; making a manual backup over SFTP covers it."
			}
		},
		{
			"@type": "Question",
			"name": "Can I download a backup from the panel?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. Automatic backups live on the node and are only ever restored in place, so there is no download button. For a copy on your own disk, take it yourself over SFTP — which also removes the 30-day limit, since a file you have downloaded is yours indefinitely."
			}
		},
		{
			"@type": "Question",
			"name": "Does my server have to be offline for a backup to be taken?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. The node takes a Volume Shadow Copy snapshot before it reads anything, so players.db is captured consistently while DayZ holds it open and players are online. Scheduled backups need no downtime; restoring is the operation that requires the server stopped."
			}
		},
		{
			"@type": "Question",
			"name": "How long are backups kept, and can I keep them longer?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Thirty days from the moment each backup was created, after which it is deleted automatically. The window is set per node and is not adjustable per instance, so anything you need beyond a month has to be downloaded over SFTP and stored yourself."
			}
		},
		{
			"@type": "Question",
			"name": "Does the Daily option run at a fixed time of day?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No — the interval runs from the last backup attempt rather than against the clock, so Daily means roughly every 24 hours and drifts a little forward each day. There is no field to pin it to a particular hour, and the Scheduler tab offers no backup task either; it handles restarts, start/stop and RCON messages only."
			}
		},
		{
			"@type": "Question",
			"name": "Will restoring roll back player characters as well as bases?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Only if you tick Players DB in the restore panel. Every category starts ticked, so untick it deliberately when you want to fix the world and leave characters where they are — that separation is the main reason to use category-level restore rather than putting a whole backup back."
			}
		}
	]
}
</script>]]></description><guid isPermaLink="false">9</guid><pubDate>Thu, 30 Jul 2026 15:03:49 +0000</pubDate></item><item><title>How to Take and Download Your Own DayZ Server Backup Over SFTP</title><link>https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/</link><description><![CDATA[
<p><img src="https://dzservers.host/uploads/monthly_2026_07/storage-folder-sftp.png.89d79b55e5247eb2bb1f56b0096cfe04.png" /></p>
<!-- DZSH-MANAGED slug=dayz-manual-backup-download-sftp rev=1 — generated by tools/articles. Do NOT edit in the IPS editor: HTMLPurifier strips <figure>, ids, data-* and JSON-LD. Edit tools/articles/articles/*-dayz-manual-backup-download-sftp.js and re-run bin/publish.mjs. -->

<p>A manual DayZ backup is a copy of your mission folder pulled down over SFTP <em>with the instance stopped</em>: open the <strong>SFTP</strong> tab for the credentials, connect on port <code>2022</code>, then download <code>mpmissions/&lt;world&gt;/</code> including the whole <code>storage_*</code> folder and all three of <code>players.db</code>, <code>players.db-wal</code> and <code>players.db-shm</code>. That is the entire persistence set, and once it is on your own disk it is yours indefinitely.</p>
<p>The <strong>Backups</strong> tab cannot do this for you. It has no create-now button and no download button, and its history is only 30 days, so an off-site archive, a snapshot taken minutes before a risky change, or a copy to load onto a test server is a job you do by hand. This guide covers doing it correctly &mdash; and the one mistake that turns the whole exercise into a corrupt file.</p>

<nav class="dzshToc" aria-label="On this page" style="border:1px solid rgba(128,128,128,.28);border-left:3px solid #f59e0b;border-radius:4px;padding:.9em 1.1em .9em 1.4em;margin:1.75em 0;background:rgba(128,128,128,.05)">
<p style="margin:0 0 .5em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.78em;opacity:.8">On this page</p>
<ol style="margin:0;padding-left:1.2em;line-height:1.75"><li><a href="#step-1">Stop the instance before you copy anything</a></li><li><a href="#step-2">Connect over SFTP and find your world folder</a></li><li><a href="#step-3">Download the whole world folder</a></li><li><a href="#step-4">Take serverDZ.cfg and a record of your mod list too</a></li><li><a href="#step-5">Verify the copy before you start the server again</a></li><li><a href="#step-6">Decide how many copies you keep, and for how long</a></li><li><a href="#step-7">Put your own copy back when you need it</a></li><li><a href="#troubleshooting">Troubleshooting</a></li><li><a href="#faq">Frequently asked questions</a></li></ol>
</nav>

<h2>Before you start</h2>
<ul><li>Your SFTP details: the <strong>Host</strong>, <strong>Port</strong> (<code>2022</code>) and <strong>Username</strong> from the <strong>SFTP</strong> tab, plus your SFTP password. <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">Connecting with SFTP</a> covers getting them and setting up a client.</li><li>The <strong>Start / stop / restart</strong> permission as well as <strong>Read files</strong>. A copy taken while the server is running is not a backup, so you need to be able to stop it.</li><li>A maintenance window. The instance stays down for the length of the copy &mdash; usually a few minutes, longer on a mature world.</li><li>Free disk space locally, and somewhere sensible to keep the copy. A mature <code>storage_1</code> folder is commonly a few hundred megabytes.</li></ul>

<figure class="dzshShot" id="shot-storage-folder-sftp" data-dzsh-slot="storage-folder-sftp" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/storage-folder-sftp.png.b865f41051d778e3423bdeff65f62de0.png" alt="SFTP client remote pane inside storage_1 showing players.db, players.db-wal, players.db-shm and the data folder" width="819" height="286" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The persistence set on a stopped DayZ server: players.db with its -wal and -shm siblings, plus the world data beside them.</figcaption>
</figure>

<h2 id="step-1">1. Stop the instance before you copy anything</h2>
<p>This is the whole guide in one instruction. Do it first, and everything else is straightforward.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> <code>players.db</code> is an SQLite database running in <a href="https://www.sqlite.org/wal.html" rel="noopener nofollow" target="_blank">write-ahead log mode</a>. Copy it while the server is running and you get a torn, stale or outright unreadable file &mdash; and copy <code>players.db</code> without its <code>-wal</code> sibling and you silently lose every write that had not yet been folded into the main file. Either mistake produces a backup that looks fine in your file manager and destroys your world the day you restore it. Stop the instance, wait for <code>Server Status</code> to read <code>Stopped</code>, and only then start the transfer.</p></div>
<p>Click <strong>Stop</strong> on <strong>Overview</strong>. If players are online, run a <strong>Controlled Restart</strong> first so they are warned and can log out somewhere safe, then stop the instance once it is back up &mdash; <a href="https://dzservers.host/articles/guides/dayz-restart-without-rollback/">restarting without rollbacks</a> explains what an abrupt kill costs them.</p>
<p>Wait for the status pill. DayZ flushes persistence as it shuts down, so a copy started while the process is still exiting can catch the world mid-write. <code>Stopped</code> means the handles are closed and the files on disk are the truth.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> The panel&rsquo;s own scheduled backups genuinely do not need downtime, and that is not a contradiction: the node takes a Volume Shadow Copy snapshot of the disk before it reads anything, so it gets a consistent point-in-time image while DayZ holds the database open. Your SFTP client has no equivalent trick &mdash; it reads live files one at a time.</p></div>

<figure class="dzshShot" id="shot-overview-stopped" data-dzsh-slot="overview-stopped" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/overview-stopped.png.1cc612b1b3cef63c8cd12b4105f2ebaa.png" alt="Instance Overview showing Server Status Stopped with the Start button enabled and Stop greyed out" width="1588" height="326" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Wait for Server Status: Stopped before you begin the transfer &mdash; a hot copy of players.db is worthless.</figcaption>
</figure>

<h2 id="step-2">2. Connect over SFTP and find your world folder</h2>
<p>Go to <strong>Instances &rarr; your instance &rarr; SFTP</strong> and take the <strong>Host</strong>, <strong>Port</strong> and <strong>Username</strong> from the <strong>Connection</strong> card &mdash; each has its own <strong>Copy</strong> button. The username is your panel username, a dot, and eight hexadecimal characters identifying this instance, so copy it verbatim rather than retyping it.</p>
<p>Your session lands in a root holding exactly four folders: <code>profiles</code>, <code>mpmissions</code>, <code>config</code> and <code>mods</code>. Open <code>mpmissions</code>.</p>
<p>Inside is one folder per mission world. The one you want is the value shown as <strong>Mission</strong> on <strong>Overview</strong> &mdash; <code>dayzOffline.chernarusplus</code> on a default Chernarus instance. If you have ever switched maps you will see more than one, and only the current mission is live; the others are old worlds sitting dormant.</p>
<p>Open your world folder and you will find the mission configuration alongside a <code>storage_*</code> folder, normally <code>storage_1</code>. That storage folder is your persistence.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Nothing else on the server matters for a persistence backup, and the game binaries and BattlEye working directory are outside the four shares anyway &mdash; they cannot be reached over SFTP at all.</p></div>

<h2 id="step-3">3. Download the whole world folder</h2>
<p>You can cherry-pick, but the reliable move is to drag the entire world folder to your local machine in one transfer. That captures all three of the things a restore might need, in the same layout the server expects them back in:</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What you are copying</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">What it holds</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Matches the restore category</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>storage_*/players.db</code> plus <code>-wal</code> and <code>-shm</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Every character: inventory, position, health, stats.</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>Players DB</strong></td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Everything else inside <code>storage_*</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Built structures, vehicles, tents, buried stashes and other persisted world state.</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>World Data</strong></td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">The world folder outside <code>storage_*</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Your economy and mission config &mdash; the <code>db</code> folder, <code>cfgeconomycore.xml</code>, <code>cfgspawnabletypes.xml</code> and the rest.</td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><strong>XMLs &amp; JSONs &amp; other(s)</strong></td></tr></tbody></table></div>
<p>Laid out on disk it looks like this:</p>
<pre class="ipsCode prettyprint lang-auto">mpmissions/
  dayzOffline.chernarusplus/       download this whole folder
    db/                            types.xml, events.xml, globals.xml
    cfgeconomycore.xml
    cfgspawnabletypes.xml
    storage_1/
      players.db                   characters and inventory
      players.db-wal               writes not yet folded into players.db
      players.db-shm
      data/                        bases, vehicles, tents, stashes</pre>
<p>Drop it into a local folder named for the instance and the moment you took it &mdash; <code>myserver-chernarus-2026-07-30-0300</code> &mdash; and leave the structure exactly as it came down. Do not rename anything, and do not delete the <code>-shm</code> file because it looks like scratch data. A copy that mirrors the server is one you can put back with a plain overwrite.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> There is no size limit on SFTP downloads. The <code>2.5 GB</code> ceiling applies to uploads only, so pulling a large world down is never the problem &mdash; pushing it back is where limits bite.</p></div>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Do not start the instance part-way through the transfer to &ldquo;check it still works&rdquo;. The moment DayZ boots it reopens the database and begins writing, and the second half of your copy no longer matches the first.</p></div>

<figure class="dzshShot" id="shot-copy-world-folder" data-dzsh-slot="copy-world-folder" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/copy-world-folder.png.85737bc3fa26c52eae52e0dbed9a23ac.png" alt="SFTP client transferring a DayZ mission world folder from the remote pane to a dated local folder" width="1369" height="475" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Downloading the entire mission world folder in one transfer captures persistence and economy config together.</figcaption>
</figure>

<h2 id="step-4">4. Take serverDZ.cfg and a record of your mod list too</h2>
<p>Persistence is the part you cannot recreate, but two more things are worth five seconds each while you are connected.</p>
<p><strong><code>serverDZ.cfg</code>.</strong> It lives in the <code>config</code> share. The panel writes this file for you from the typed <strong>Instance Settings</strong> editor, so it is reproducible &mdash; but a copy is a plain-text record of every value you tuned, and it is the first thing another host or a local test server will want. Grab <code>whitelist.txt</code>, <code>ban.txt</code> and <code>priority.txt</code> alongside it if you use them. All of these are protected files: you can download and overwrite them, but not delete or rename them over SFTP.</p>
<p><strong>Your mod list.</strong> There is no export button, so make your own record. The <strong>Workshop Mods</strong> tab shows an <strong>Order</strong> column and each mod&rsquo;s numeric Workshop ID &mdash; a screenshot of that table does the job, and the <code>mods</code> share gives you the same list as one <code>@ModName</code> folder per installed mod.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Record the mod set <em>with</em> the backup, not separately. Persistence written while a mod was installed contains that mod&rsquo;s items, and restoring it onto a server that no longer runs the mod is how you get a world full of errors. Mods marked <strong>ESSENTIAL</strong> come from the node template and are always present, so you only need to note the ones you added.</p></div>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Do not plan on backing up and restoring mod payloads themselves. Mods are re-downloaded from the Steam Workshop when you add them by ID, and the upload filter rejects executable and script types outright (<code>.exe</code>, <code>.dll</code>, <code>.bat</code>, <code>.cmd</code>, <code>.ps1</code>, <code>.sh</code>, <code>.msi</code>, <code>.scr</code>, <code>.com</code>), so pushing a whole mod folder back does not end well. Re-add by ID and let the panel resolve dependencies &mdash; see <a href="https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/">installing Steam Workshop mods</a>.</p></div>

<figure class="dzshShot" id="shot-mod-list-record" data-dzsh-slot="mod-list-record" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/mod-list-record.png.efe9415d0674d079f206cad438a30807.png" alt="Workshop Mods table showing the Order column, mod names and numeric Workshop IDs with an ESSENTIAL padlock row" width="1576" height="700" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">A screenshot of the Workshop Mods table is your mod list of record &mdash; load order and Workshop IDs in one frame.</figcaption>
</figure>

<h2 id="step-5">5. Verify the copy before you start the server again</h2>
<p>The instance is still stopped, which means this is the only moment you can re-take a bad copy for free. Spend a minute on it.</p>
<ol><li><strong>Compare counts and sizes.</strong> Put the remote and local panes side by side on the same folder; the file count and total size should match. Most clients flag a transfer that finished with skipped files &mdash; treat any skip as a failed backup, not a warning.</li><li><strong>Confirm all three database files.</strong> <code>players.db</code>, <code>players.db-wal</code> and <code>players.db-shm</code> must be present locally if they are present on the server. After a clean shutdown the <code>-wal</code> may be zero bytes or absent, which is fine &mdash; what is not fine is it existing on the server and not in your copy.</li><li><strong>Check the storage folder is not empty.</strong> <code>storage_1/data</code> should hold real files. An empty storage folder means you copied a shell.</li><li><strong>Open one of the XMLs.</strong> <code>db/types.xml</code> in a text editor proves the text files came down intact rather than truncated.</li><li><strong>If you zip it, open the zip.</strong> Confirm the archive lists the <code>storage_1</code> folder and the database files. An archive nobody has opened is not a backup.</li></ol>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> You find out a backup is bad on the one day you need it. Verifying now costs a minute; discovering it after a griefing incident costs your players their progress.</p></div>
<p>Once you are satisfied, click <strong>Start</strong> on <strong>Overview</strong> and confirm <strong>Server Status</strong> reads <code>Running</code> and <strong>Server FPS</strong> reports a number before you tell anyone the server is back.</p>

<figure class="dzshShot" id="shot-verified-local-copy" data-dzsh-slot="verified-local-copy" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/verified-local-copy.png.2f87a93fe0cfb748c2675e7f1b67a093.png" alt="Local file explorer showing a dated backup folder with storage_1 open and all three players.db files present" width="751" height="230" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">A verified manual backup: the dated folder, the storage folder intact, and all three players.db files accounted for.</figcaption>
</figure>

<h2 id="step-6">6. Decide how many copies you keep, and for how long</h2>
<p>The <strong>Backups</strong> tab is your short window &mdash; 30 days of node-side history, restored in place. Your own copies are the long window, and they only help if taking them is a habit.</p>
<ul><li><strong>A rolling set.</strong> Three recent copies suits most communities. Take one, delete the oldest, keep moving.</li><li><strong>One before every risky change.</strong> An economy rewrite, a mod that writes to persistence, a map change, a version upgrade. Take it minutes before, not last night &mdash; the value is that it predates the change by as little as possible.</li><li><strong>One a month, kept.</strong> The copy that outlives the 30-day retention, and the one you will be glad of when something went wrong six weeks ago and nobody noticed.</li><li><strong>One before you leave.</strong> Moving hosts means taking a full copy while you still have SFTP access &mdash; see <a href="https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/">migrating a DayZ server to a new host</a>.</li></ul>
<p>Store them in two places, one of which is not your gaming PC, and label each copy with the date, the world and the mod set. Sizes are modest &mdash; even a large world is usually a few hundred megabytes zipped &mdash; so a year of monthly archives fits on any cloud drive.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Automatic and manual backups are complements, not alternatives. Leave the <strong>Backups</strong> tab on a real frequency for the fast, frequent, category-level rollbacks it is good at &mdash; <a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">automatic backups and restore</a> covers those &mdash; and keep your own copies for depth, portability and anything older than a month.</p></div>

<h2 id="step-7">7. Put your own copy back when you need it</h2>
<p>Restoring your copy is the download in reverse, with the same rule at the front of it.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Stop the instance and wait for <code>Stopped</code> before you upload a single file. A running DayZ server holds <code>players.db</code> open and rewrites the storage folder as it goes and again on shutdown, so an upload under a live server is either refused on a locked file or flushed away the next time the server saves &mdash; and a partial write into an open database can corrupt every character on it.</p></div>
<ol><li>Stop the instance on <strong>Overview</strong> and wait for <code>Server Status</code> to read <code>Stopped</code>.</li><li>Connect over SFTP and navigate to <code>mpmissions/&lt;world&gt;/</code> &mdash; the same world folder you took the copy from.</li><li>Upload your saved folder over the top, letting your client overwrite. Take <code>players.db</code>, <code>players.db-wal</code> and <code>players.db-shm</code> together, from the same copy, in the same transfer.</li><li>Click <strong>Start</strong> and check the thing you restored actually looks right in game before you announce that you are back.</li></ol>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Never mix files from different copies. A <code>players.db</code> paired with the <code>-wal</code> from another snapshot describes a state that never existed, and SQLite will either refuse it or apply writes that do not belong to it. One copy, all three files, one transfer.</p></div>
<p>Two limits shape the upload. SFTP takes single files up to <code>2.5 GB</code>; the web <strong>File Browser</strong> stops at <code>300 MB</code>, and a mature storage folder routinely exceeds that, so the browser uploader will reject exactly the files you most need to put back. And nothing on the server unpacks archives &mdash; there is no extract feature in the <strong>File Browser</strong> or over SFTP &mdash; so upload the unzipped folder tree, not the zip.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> An upload overwrites what it matches and leaves everything else alone, so files that exist live but not in your copy survive the restore. For a true replacement rather than a merge, delete the files inside <code>storage_*</code> first &mdash; that needs the <strong>Delete files</strong> permission and is irreversible, so only do it when you mean to discard the live world.</p></div>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> If the copy you want is one the panel took rather than one you took, you do not need SFTP at all &mdash; use <strong>Restore</strong> on the <strong>Backups</strong> tab, which lets you put back <strong>Players DB</strong>, <strong>World Data</strong> and <strong>XMLs &amp; JSONs &amp; other(s)</strong> independently. <a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">Automatic backups and restore</a> walks through it.</p></div>

<figure class="dzshShot" id="shot-upload-restore" data-dzsh-slot="upload-restore" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/upload-restore.png.3c13f3bc18544aa9bd717537b3a3fd6e.png" alt="SFTP client uploading a saved storage folder into mpmissions with an overwrite confirmation dialog showing" width="795" height="622" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Restoring a manual backup: upload the unzipped folder over the top with the instance stopped, overwriting in place.</figcaption>
</figure>

<h2 id="troubleshooting">Troubleshooting</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">My downloaded players.db is a different size to the one on the server, or it will not open</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> It was copied while the instance was running. SQLite in write-ahead log mode is being written to continuously, so a live read catches the file mid-transaction and produces something torn or stale. Your file manager has no way to tell you this &mdash; the file looks perfectly normal.</p>
<p><strong>How to fix it.</strong> Delete the bad copy so you never restore it by accident, stop the instance, wait for <code>Stopped</code>, and take it again. If you cannot stop the server right now, use the <strong>Backups</strong> tab instead: the node snapshots the disk first, so its automatic backups are consistent even with players online.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">I restored my own backup and players lost the last few hours of progress</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Almost always a missing <code>players.db-wal</code>. The write-ahead log holds committed changes that have not yet been folded into <code>players.db</code>, so a copy of the main file alone rolls back to whenever the last checkpoint happened. Copying while the server was running produces the same symptom.</p>
<p><strong>How to fix it.</strong> Restore again from a copy that includes all three files, taken after the instance reported <code>Stopped</code>. Going forward, download the whole <code>storage_*</code> folder rather than picking files out of it &mdash; then there is nothing to forget.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The File Browser will not upload my storage folder back</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The web uploader caps a single file at <code>300 MB</code> and oversized files are skipped and reported in the upload summary. A mature <code>storage_1</code> folder frequently contains files past that, and there is no extract feature to work around it by uploading a zip.</p>
<p><strong>How to fix it.</strong> Use SFTP, which takes single files up to <code>2.5 GB</code>. This is exactly the case SFTP exists for &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">connecting with SFTP</a>. Upload the unzipped folder tree; nothing on the server can unpack an archive for you.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Downloading a file in the File Browser fails with File too large to read</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The web file manager reads a file into memory to serve it, and that path is capped at 50 MB &mdash; the error reads <code>File too large to read (&gt;52 MB)</code>. <code>players.db</code> on a busy server passes that within weeks, and the world data usually already has.</p>
<p><strong>How to fix it.</strong> Take it over SFTP, where downloads have no size cap at all. Use the <strong>File Browser</strong> for reading logs and editing XML, and SFTP for anything binary or bulky.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The transfer finished but some files were skipped or refused</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Three limits look alike from the client. Downloads need <strong>Read files</strong> on your <strong>Members</strong> grant, uploads additionally need <strong>Write files</strong>, and the upload filter rejects <code>.exe</code>, <code>.dll</code>, <code>.bat</code>, <code>.cmd</code>, <code>.ps1</code>, <code>.sh</code>, <code>.msi</code>, <code>.scr</code> and <code>.com</code> outright.</p>
<p><strong>How to fix it.</strong> Read your client&rsquo;s transfer log and find the first failure rather than the last, then check the extension and your permissions under <strong>Members</strong>. Never treat a partially completed transfer as a backup &mdash; delete it and start over.</p></div>
</details>

<h2 id="faq">Frequently asked questions</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Do I really have to stop the server to copy players.db?</h3></summary>
<div style="padding-top:.5em"><p>Yes, if you want the copy to be usable. <code>players.db</code> is an SQLite database in write-ahead log mode that DayZ holds open and writes to continuously, so reading it live gives you a torn or stale file. The panel&rsquo;s scheduled backups avoid the problem a different way &mdash; the node takes a Volume Shadow Copy snapshot of the disk before reading, which is why those need no downtime and a hand-made copy does.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Which files exactly are the persistence?</h3></summary>
<div style="padding-top:.5em"><p>Everything under <code>mpmissions/&lt;world&gt;/storage_*/</code>. That is <code>players.db</code> with its <code>players.db-wal</code> and <code>players.db-shm</code> companions, which hold every character and inventory, plus the rest of the folder, which holds built structures, vehicles, tents and buried stashes. Your economy and mission config &mdash; <code>db/types.xml</code> and friends &mdash; sits one level up in the world folder and is worth taking in the same pass.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I download one of the panel&rsquo;s automatic backups instead?</h3></summary>
<div style="padding-top:.5em"><p>No. Automatic backups live on the node and are only ever restored in place, so the <strong>Backups</strong> tab has no download button and no create-now button. A copy on your own disk has to be taken over SFTP, which is also what removes the 30-day retention limit &mdash; a file you have already downloaded is yours for as long as you keep it.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I zip the folder on the server before downloading it?</h3></summary>
<div style="padding-top:.5em"><p>No &mdash; there is no compress or extract feature in the <strong>File Browser</strong> or over SFTP, in either direction. Download the folder as it is and compress it locally afterwards if you want a single tidy archive. The same limitation is why a restore has to be an upload of the unzipped folder tree rather than a zip you unpack on the server.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">How often should I take a manual backup?</h3></summary>
<div style="padding-top:.5em"><p>Immediately before anything risky, and on a light routine otherwise &mdash; three rolling copies plus one a month kept as an archive covers most communities. The automatic <strong>Backups</strong> tab already handles frequent, recent rollbacks, so your manual copies exist to cover the two things it cannot: getting the data off the node, and keeping it longer than 30 days.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I load my copy onto a local DayZ server to test something?</h3></summary>
<div style="padding-top:.5em"><p>Yes, and it is one of the better reasons to keep manual copies. A DayZ server you run yourself uses the same <code>mpmissions/&lt;world&gt;/storage_*</code> layout, so the folder drops straight in with the local server stopped. Match the mod set as closely as you can &mdash; persistence written with a mod installed expects that mod to still be present &mdash; and treat the result as a sandbox, not a mirror.</p></div>
</details>

<h2>Related guides</h2>
<ul><li><a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">Getting started with the control panel</a></li><li><a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">Automatic backups and restore</a></li><li><a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">connecting with SFTP</a></li></ul>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "HowTo",
	"name": "How to Take and Download Your Own DayZ Server Backup Over SFTP",
	"description": "Take your own off-site DayZ server backup: stop the instance, pull the storage folder down over SFTP with all three players.db files, and verify the copy.",
	"step": [
		{
			"@type": "HowToStep",
			"position": 1,
			"name": "Stop the instance before you copy anything",
			"text": "This is the whole guide in one instruction. Do it first, and everything else is straightforward. Data loss risk: players.db is an SQLite database running in write-ahead log mode. Copy it while the server is running and you get a torn, stale or outright unreadable file — and copy players.db without its -wal sibling and you silently lose every write that had not yet been folded into the main file. Either mistake produces a backup that looks fine in your file manager and destroys your world the day you restore it. Stop the instance, wait for Server Status to read Stopped, and only then start the transfer. Click Stop on Overview. If players are online, run a Controlled Restart first so they are warned and can log out somewhere safe, then stop the instance once it is back up — restarting without rollbacks explains what an abrupt kill costs them. Wait for the status pill. DayZ flushes persistence as it shuts down, so a copy started while the process is still exiting can catch the world mid-write. Stopped means the handles are closed and the files on disk are the truth. Note: The panel’s own scheduled backups genuinely do not need downtime, and that is not a contradiction: the node takes a Volume Shadow Copy snapshot of the disk before it reads anything, so it gets a consistent point-in-time image while DayZ holds the database open. Your SFTP client has no equivalent trick — it reads live files one at a time.",
			"url": "https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/#step-1"
		},
		{
			"@type": "HowToStep",
			"position": 2,
			"name": "Connect over SFTP and find your world folder",
			"text": "Go to Instances → your instance → SFTP and take the Host, Port and Username from the Connection card — each has its own Copy button. The username is your panel username, a dot, and eight hexadecimal characters identifying this instance, so copy it verbatim rather than retyping it. Your session lands in a root holding exactly four folders: profiles, mpmissions, config and mods. Open mpmissions. Inside is one folder per mission world. The one you want is the value shown as Mission on Overview — dayzOffline.chernarusplus on a default Chernarus instance. If you have ever switched maps you will see more than one, and only the current mission is live; the others are old worlds sitting dormant. Open your world folder and you will find the mission configuration alongside a storage_* folder, normally storage_1. That storage folder is your persistence. Note: Nothing else on the server matters for a persistence backup, and the game binaries and BattlEye working directory are outside the four shares anyway — they cannot be reached over SFTP at all.",
			"url": "https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/#step-2"
		},
		{
			"@type": "HowToStep",
			"position": 3,
			"name": "Download the whole world folder",
			"text": "You can cherry-pick, but the reliable move is to drag the entire world folder to your local machine in one transfer. That captures all three of the things a restore might need, in the same layout the server expects them back in. What you are copying: What it holds: Matches the restore category. storage_*/players.db plus -wal and -shm: Every character: inventory, position, health, stats: Players DB. Everything else inside storage_*: Built structures, vehicles, tents, buried stashes and other persisted world state: World Data. The world folder outside storage_*: Your economy and mission config — the db folder, cfgeconomycore.xml, cfgspawnabletypes.xml and the rest: XMLs \u0026 JSONs \u0026 other(s). Laid out on disk it looks like this. mpmissions/ dayzOffline.chernarusplus/ download this whole folder db/ types.xml, events.xml, globals.xml cfgeconomycore.xml cfgspawnabletypes.xml storage_1/ players.db characters and inventory players.db-wal writes not yet folded into players.db players.db-shm data/ bases, vehicles, tents, stashes Drop it into a local folder named for the instance and the moment you took it — myserver-chernarus-2026-07-30-0300 — and leave the structure exactly as it came down. Do not rename anything, and do not delete the -shm file because it looks like scratch data. A copy that mirrors the server is one you can put back with a plain overwrite. Note: There is no size limit on SFTP downloads. The 2.5 GB ceiling applies to uploads only, so pulling a large world down is never the problem — pushing it back is where limits bite. Careful: Do not start the instance part-way through the transfer to “check it still works”. The moment DayZ boots it reopens the database and begins writing, and the second half of your copy no longer matches the first.",
			"url": "https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/#step-3"
		},
		{
			"@type": "HowToStep",
			"position": 4,
			"name": "Take serverDZ.cfg and a record of your mod list too",
			"text": "Persistence is the part you cannot recreate, but two more things are worth five seconds each while you are connected. serverDZ.cfg. It lives in the config share. The panel writes this file for you from the typed Instance Settings editor, so it is reproducible — but a copy is a plain-text record of every value you tuned, and it is the first thing another host or a local test server will want. Grab whitelist.txt, ban.txt and priority.txt alongside it if you use them. All of these are protected files: you can download and overwrite them, but not delete or rename them over SFTP. Your mod list. There is no export button, so make your own record. The Workshop Mods tab shows an Order column and each mod’s numeric Workshop ID — a screenshot of that table does the job, and the mods share gives you the same list as one @ModName folder per installed mod. Note: Record the mod set with the backup, not separately. Persistence written while a mod was installed contains that mod’s items, and restoring it onto a server that no longer runs the mod is how you get a world full of errors. Mods marked ESSENTIAL come from the node template and are always present, so you only need to note the ones you added. Careful: Do not plan on backing up and restoring mod payloads themselves. Mods are re-downloaded from the Steam Workshop when you add them by ID, and the upload filter rejects executable and script types outright (.exe,.dll,.bat,.cmd,.ps1,.sh,.msi,.scr,.com ), so pushing a whole mod folder back does not end well. Re-add by ID and let the panel resolve dependencies — see installing Steam Workshop mods.",
			"url": "https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/#step-4"
		},
		{
			"@type": "HowToStep",
			"position": 5,
			"name": "Verify the copy before you start the server again",
			"text": "The instance is still stopped, which means this is the only moment you can re-take a bad copy for free. Spend a minute on it. Compare counts and sizes. Put the remote and local panes side by side on the same folder; the file count and total size should match. Most clients flag a transfer that finished with skipped files — treat any skip as a failed backup, not a warning; Confirm all three database files. players.db, players.db-wal and players.db-shm must be present locally if they are present on the server. After a clean shutdown the -wal may be zero bytes or absent, which is fine — what is not fine is it existing on the server and not in your copy; Check the storage folder is not empty. storage_1/data should hold real files. An empty storage folder means you copied a shell; Open one of the XMLs. db/types.xml in a text editor proves the text files came down intact rather than truncated; If you zip it, open the zip. Confirm the archive lists the storage_1 folder and the database files. An archive nobody has opened is not a backup; Careful: You find out a backup is bad on the one day you need it. Verifying now costs a minute; discovering it after a griefing incident costs your players their progress. Once you are satisfied, click Start on Overview and confirm Server Status reads Running and Server FPS reports a number before you tell anyone the server is back.",
			"url": "https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/#step-5"
		},
		{
			"@type": "HowToStep",
			"position": 6,
			"name": "Decide how many copies you keep, and for how long",
			"text": "The Backups tab is your short window — 30 days of node-side history, restored in place. Your own copies are the long window, and they only help if taking them is a habit. A rolling set. Three recent copies suits most communities. Take one, delete the oldest, keep moving; One before every risky change. An economy rewrite, a mod that writes to persistence, a map change, a version upgrade. Take it minutes before, not last night — the value is that it predates the change by as little as possible; One a month, kept. The copy that outlives the 30-day retention, and the one you will be glad of when something went wrong six weeks ago and nobody noticed; One before you leave. Moving hosts means taking a full copy while you still have SFTP access — see migrating a DayZ server to a new host; Store them in two places, one of which is not your gaming PC, and label each copy with the date, the world and the mod set. Sizes are modest — even a large world is usually a few hundred megabytes zipped — so a year of monthly archives fits on any cloud drive. Note: Automatic and manual backups are complements, not alternatives. Leave the Backups tab on a real frequency for the fast, frequent, category-level rollbacks it is good at — automatic backups and restore covers those — and keep your own copies for depth, portability and anything older than a month.",
			"url": "https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/#step-6"
		},
		{
			"@type": "HowToStep",
			"position": 7,
			"name": "Put your own copy back when you need it",
			"text": "Restoring your copy is the download in reverse, with the same rule at the front of it. Data loss risk: Stop the instance and wait for Stopped before you upload a single file. A running DayZ server holds players.db open and rewrites the storage folder as it goes and again on shutdown, so an upload under a live server is either refused on a locked file or flushed away the next time the server saves — and a partial write into an open database can corrupt every character on it. Stop the instance on Overview and wait for Server Status to read Stopped; Connect over SFTP and navigate to mpmissions/\u003cworld\u003e/ — the same world folder you took the copy from; Upload your saved folder over the top, letting your client overwrite. Take players.db, players.db-wal and players.db-shm together, from the same copy, in the same transfer; Click Start and check the thing you restored actually looks right in game before you announce that you are back; Data loss risk: Never mix files from different copies. A players.db paired with the -wal from another snapshot describes a state that never existed, and SQLite will either refuse it or apply writes that do not belong to it. One copy, all three files, one transfer. Two limits shape the upload. SFTP takes single files up to 2.5 GB; the web File Browser stops at 300 MB, and a mature storage folder routinely exceeds that, so the browser uploader will reject exactly the files you most need to put back. And nothing on the server unpacks archives — there is no extract feature in the File Browser or over SFTP — so upload the unzipped folder tree, not the zip. Careful: An upload overwrites what it matches and leaves everything else alone, so files that exist live but not in your copy survive the restore. For a true replacement rather than a merge, delete the files inside storage_* first — that needs the Delete files permission and is irreversible, so only do it when you mean to discard the live world. Note: If the copy you want is one the panel took rather than one you took, you do not need SFTP at all — use Restore on the Backups tab, which lets you put back Players DB, World Data and XMLs \u0026 JSONs \u0026 other(s) independently. Automatic backups and restore walks through it.",
			"url": "https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/#step-7"
		}
	],
	"totalTime": "PT20M",
	"supply": [
		{
			"@type": "HowToSupply",
			"name": "Your SFTP details: the Host, Port ( 2022 ) and Username from the SFTP tab, plus your SFTP password. Connecting with SFTP covers getting them and setting up a client."
		},
		{
			"@type": "HowToSupply",
			"name": "The Start / stop / restart permission as well as Read files. A copy taken while the server is running is not a backup, so you need to be able to stop it."
		},
		{
			"@type": "HowToSupply",
			"name": "A maintenance window. The instance stays down for the length of the copy — usually a few minutes, longer on a mature world."
		},
		{
			"@type": "HowToSupply",
			"name": "Free disk space locally, and somewhere sensible to keep the copy. A mature storage_1 folder is commonly a few hundred megabytes."
		}
	]
}
</script>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "Do I really have to stop the server to copy players.db?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Yes, if you want the copy to be usable. players.db is an SQLite database in write-ahead log mode that DayZ holds open and writes to continuously, so reading it live gives you a torn or stale file. The panel’s scheduled backups avoid the problem a different way — the node takes a Volume Shadow Copy snapshot of the disk before reading, which is why those need no downtime and a hand-made copy does."
			}
		},
		{
			"@type": "Question",
			"name": "Which files exactly are the persistence?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Everything under mpmissions/\u003cworld\u003e/storage_*/. That is players.db with its players.db-wal and players.db-shm companions, which hold every character and inventory, plus the rest of the folder, which holds built structures, vehicles, tents and buried stashes. Your economy and mission config — db/types.xml and friends — sits one level up in the world folder and is worth taking in the same pass."
			}
		},
		{
			"@type": "Question",
			"name": "Can I download one of the panel’s automatic backups instead?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. Automatic backups live on the node and are only ever restored in place, so the Backups tab has no download button and no create-now button. A copy on your own disk has to be taken over SFTP, which is also what removes the 30-day retention limit — a file you have already downloaded is yours for as long as you keep it."
			}
		},
		{
			"@type": "Question",
			"name": "Can I zip the folder on the server before downloading it?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No — there is no compress or extract feature in the File Browser or over SFTP, in either direction. Download the folder as it is and compress it locally afterwards if you want a single tidy archive. The same limitation is why a restore has to be an upload of the unzipped folder tree rather than a zip you unpack on the server."
			}
		},
		{
			"@type": "Question",
			"name": "How often should I take a manual backup?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Immediately before anything risky, and on a light routine otherwise — three rolling copies plus one a month kept as an archive covers most communities. The automatic Backups tab already handles frequent, recent rollbacks, so your manual copies exist to cover the two things it cannot: getting the data off the node, and keeping it longer than 30 days."
			}
		},
		{
			"@type": "Question",
			"name": "Can I load my copy onto a local DayZ server to test something?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Yes, and it is one of the better reasons to keep manual copies. A DayZ server you run yourself uses the same mpmissions/\u003cworld\u003e/storage_* layout, so the folder drops straight in with the local server stopped. Match the mod set as closely as you can — persistence written with a mod installed expects that mod to still be present — and treat the result as a sandbox, not a mirror."
			}
		}
	]
}
</script>]]></description><guid isPermaLink="false">10</guid><pubDate>Thu, 30 Jul 2026 15:03:54 +0000</pubDate></item><item><title>Migrating a DayZ Server From Another Host Without Losing Bases or Characters</title><link>https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/</link><description><![CDATA[
<p><img src="https://dzservers.host/uploads/monthly_2026_07/edit-mission.png.430bb1377197434952e4d28dd6012ff6.png" /></p>
<!-- DZSH-MANAGED slug=migrate-dayz-server-to-new-host rev=1 — generated by tools/articles. Do NOT edit in the IPS editor: HTMLPurifier strips <figure>, ids, data-* and JSON-LD. Edit tools/articles/articles/*-migrate-dayz-server-to-new-host.js and re-run bin/publish.mjs. -->

<p>You can move a DayZ server from another host to DZSERVERS.HOST and keep your world, your players&rsquo; bases and their characters. What carries all of that is one directory: your mission folder, with its <code>storage_*</code> persistence inside it. The order of work is: set the matching mission under <strong>Settings &rarr; Edit Mission</strong>, rebuild the mod list in the same load order under <strong>Workshop Mods</strong>, re-enter your <code>serverDZ.cfg</code> values in <strong>Instance Settings</strong>, then upload the mission over SFTP while the new instance is <code>Stopped</code>.</p>
<p>Some things do not come with you, and it is cheaper to know that now than to discover it mid-cutover: bans, whitelist and priority queue have to be re-imported, your admin and RCON password is replaced, and mods run at whatever version the Steam Workshop publishes today. This runbook covers both halves.</p>

<nav class="dzshToc" aria-label="On this page" style="border:1px solid rgba(128,128,128,.28);border-left:3px solid #f59e0b;border-radius:4px;padding:.9em 1.1em .9em 1.4em;margin:1.75em 0;background:rgba(128,128,128,.05)">
<p style="margin:0 0 .5em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.78em;opacity:.8">On this page</p>
<ol style="margin:0;padding-left:1.2em;line-height:1.75"><li><a href="#step-1">Inventory the old server while you still have access</a></li><li><a href="#step-2">Stop both servers, then download the mission folder</a></li><li><a href="#step-3">Point the new instance at the same mission</a></li><li><a href="#step-4">Rebuild the mod list in the same load order</a></li><li><a href="#step-5">Re-enter your serverDZ.cfg values by hand</a></li><li><a href="#step-6">Upload the mission and persistence over SFTP</a></li><li><a href="#step-7">Boot it once and read the RPT before telling anyone</a></li><li><a href="#step-8">Re-import your lists, rebuild your schedule, then cut over</a></li><li><a href="#troubleshooting">Troubleshooting</a></li><li><a href="#faq">Frequently asked questions</a></li></ol>
</nav>

<h2>Before you start</h2>
<ul><li>File access to the old server that you still control &mdash; its panel, FTP or SFTP. Get your copy <em>before</em> you cancel anything; plenty of hosts delete the files the moment a service lapses.</li><li>A provisioned instance here. It is created automatically when your order completes, so there is nothing to build &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">getting started with the control panel</a>.</li><li>Your SFTP details from the <strong>SFTP</strong> tab: host, port <code>2022</code>, the per-instance username and the SFTP password. <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">Connecting with SFTP</a> sets that up.</li><li>The same map on both ends. Bases and characters are stored per world, so moving from Chernarus to Livonia is a fresh start, not a migration.</li><li>Somewhere with room to hold the download. A long-lived server&rsquo;s persistence is commonly hundreds of megabytes.</li></ul>

<h2 id="step-1">1. Inventory the old server while you still have access</h2>
<p>Write five things down first. Every later step depends on one of them, and once the old service is gone none of them can be recovered.</p>
<ol><li><strong>The mission folder name, exactly.</strong> Something like <code>dayzOffline.chernarusplus</code>. Copy the spelling and capitalisation from the folder listing, not from memory.</li><li><strong>The mod list, in load order.</strong> The authoritative source is the old host&rsquo;s startup line: the <code>-mod=</code> and <code>-servermod=</code> arguments, read left to right. Note each mod&rsquo;s numeric Steam Workshop id, because folder names are not always unique or searchable.</li><li><strong>The slot count</strong> the old server ran, so you can tell whether your new plan matches.</li><li><strong>A copy of <code>serverDZ.cfg</code>.</strong> You will not upload this file, but you will read values out of it in step 5.</li><li><strong>The list files</strong> from the old server root: <code>ban.txt</code>, <code>whitelist.txt</code> and <code>priority.txt</code>, if you used them.</li></ol>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Do not cancel the old service on migration day. Keep it paid until the new server has booted, players have confirmed their bases and characters are intact, and it has run for a day. Overlapping billing for a week is the cheapest insurance in this process.</p></div>

<h2 id="step-2">2. Stop both servers, then download the mission folder</h2>
<p>Stop the old server first. Then download, from the old host, the entire mission folder &mdash; not a selection of files inside it.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Never copy persistence out of a <em>running</em> DayZ server. The engine holds <code>players.db</code> open and rewrites the <code>storage_*</code> folder when it shuts down, so a copy taken live is a torn snapshot: characters from one moment, base state from another, and a database mid-write. Stop the old server, wait for it to fully exit, and only then start the download.</p><p>Stop your new instance too, with <strong>Stop</strong> on <strong>Overview</strong>, and leave it stopped until step 7.</p></div>
<p>This is what you are after, and roughly what it looks like:</p>
<pre class="ipsCode prettyprint lang-auto">mpmissions/
  dayzOffline.chernarusplus/      &lt;- take this whole folder
    db/                           globals.xml, economy.xml, types.xml, events.xml
    cfgeconomycore.xml
    cfgspawnabletypes.xml
    cfgplayerspawnpoints.xml
    cfggameplay.json
    init.c
    storage_1/                    &lt;- the persistence: bases, vehicles, characters
      players.db
      players.db-wal
      players.db-shm
      data/</pre>
<p>Two files are easy to miss and matter: <code>players.db-wal</code> and <code>players.db-shm</code> are the write-ahead log and shared-memory index for <code>players.db</code>. Take the database without them and you can lose the most recent writes &mdash; which is to say, the last session everybody played.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> You do not need the old <code>profiles</code> folder. It holds logs and working files, none of which carries world state. Keep the <code>.ADM</code> logs if you want your admin history.</p></div>

<h2 id="step-3">3. Point the new instance at the same mission</h2>
<p>With the instance stopped, click <strong>Settings</strong> in the tab bar and scroll to <strong>Edit Mission</strong>. The <strong>Preset</strong> dropdown offers the three stock missions:</p>
<div class="dzshTableWrap" style="overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%"><table class="ipsTable" style="width:100%;"><thead><tr><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Preset</th><th class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Map</th></tr></thead><tbody><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>dayzOffline.chernarusplus</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Chernarus &mdash; also the default when the field is empty</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>dayzOffline.enoch</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Livonia</td></tr><tr><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top"><code>dayzOffline.sakhal</code></td><td class="ipsTable_wrap" style="white-space:normal;overflow-wrap:break-word;vertical-align:top">Sakhal</td></tr></tbody></table></div>
<p>Picking a preset just fills the <strong>Value</strong> box, and that box is free text. So if your old host ran a custom or renamed mission, type its exact folder name in <strong>Value</strong> instead of using a preset. Click <strong>Save mission</strong>. <strong>Clear</strong> empties the field and falls back to <code>dayzOffline.chernarusplus</code>.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> The mission value must match a folder name under <code>mpmissions</code> character for character. It is used verbatim to build the launch argument <code>-mission=...\mpmissions\&lt;value&gt;</code>, so <code>dayzOffline.chernarusPlus</code> with a capital P is simply a folder that does not exist, and the server will not load a mission.</p></div>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> <strong>Save mission</strong> and <strong>Clear</strong> are both disabled while the server runs &mdash; the panel&rsquo;s tooltip reads <code>Stop the server to change mission</code>. Same rule as the rest of this panel.</p></div>

<figure class="dzshShot" id="shot-edit-mission" data-dzsh-slot="edit-mission" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/edit-mission.png.9ee3d807e2aea9b46cd3dba3f5358297.png" alt="Edit Mission section of Instance Settings with the Preset dropdown open showing the three stock missions" width="1308" height="240" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Edit Mission sets which folder under mpmissions DayZ loads &mdash; type a custom mission name straight into Value.</figcaption>
</figure>

<h2 id="step-4">4. Rebuild the mod list in the same load order</h2>
<p>Open <strong>Workshop Mods</strong>. In the <strong>Add a mod</strong> card, paste a Workshop URL or its numeric id and click <strong>Lookup &amp; add</strong>. The <strong>Add Workshop Mod</strong> panel opens, lists any <strong>Required dependencies</strong> pre-ticked, and <strong>Add to server</strong> queues the mod and its dependencies ahead of it. Repeat for every mod on your inventory list.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Copying the old server&rsquo;s <code>@ModName</code> folders across does nothing. The panel builds <code>-mod=</code> and <code>-servermod=</code> from this table alone, so a mod that is not a row here is never loaded no matter what sits on disk. Add every mod through <strong>Workshop Mods</strong>.</p></div>
<p>Then fix the order. The arrows in the <strong>Order</strong> column set the sequence, lowest first, and it must match what the old server ran: frameworks and dependencies first, content mods next, override and tweak mods last. Reordering saves immediately. The <strong>Enabled</strong>, <strong>Server-only</strong> and <strong>Auto-update</strong> checkboxes are drafts instead &mdash; click <strong>Save</strong> on the row to commit them. <a href="https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/">Installing Steam Workshop mods</a> covers it in detail.</p>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> Rows badged <strong>Essential</strong> with a padlock come from the node template and cannot be removed, reordered or toggled. <code>GameEventDispatcher</code>, which feeds <strong>Live Map</strong> player positions and server FPS, is one of them &mdash; already installed, nothing to migrate.</p></div>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Mods install at whatever version the Workshop currently publishes; there is no way to pin an older build, here or on any other host. If your old server ran for months without updating its mods, you are updating them all at once during the migration. That is the most common reason bases come back missing.</p></div>

<figure class="dzshShot" id="shot-mods-rebuilt" data-dzsh-slot="mods-rebuilt" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/mods-rebuilt.png.0b1bca57beb91dcbeb412806d93ef7e8.png" alt="Workshop Mods table with a rebuilt mod list showing Order arrows, status pills and one Essential padlocked row" width="1605" height="570" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The Workshop Mods table is the only source of the load order &mdash; rebuild it to match the old host row for row.</figcaption>
</figure>

<h2 id="step-5">5. Re-enter your serverDZ.cfg values by hand</h2>
<p>Open <strong>Settings</strong> again and work down the <strong>Instance Settings</strong> fields with the old <code>serverDZ.cfg</code> beside you: <strong>Host Name</strong>, <strong>Description</strong>, <strong>Max Players</strong>, <strong>Password</strong>, the time acceleration values, <strong>Disable 3rd Person</strong>, the <strong>Admin Log</strong> toggles, the network ranges. Every field maps to one real config key. <a href="https://dzservers.host/articles/guides/serverdz-cfg-settings-explained/">Every serverDZ.cfg setting explained</a> is the reference if a value needs interpreting. Click <strong>Save</strong> and look for <code>Changes Saved!</code>.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Do not upload the old <code>serverDZ.cfg</code> over the new one. The panel keeps its own copy of every setting the editor exposes and writes them into the file whenever you save, so a hand-uploaded file is silently overwritten the next time anything changes &mdash; and the old one carries the old host&rsquo;s IP, ports and slot count.</p></div>
<p>These lines belong to the panel and are rewritten on every single start, whatever the file says:</p>
<pre class="ipsCode prettyprint lang-c">hostIp         = "...";     // your instance's bind IP
hostPort       = ...;       // your game port
a2sport        = ...;       // your query port
a2sIpAddress   = "127.0.0.1";
steamQueryPort = ...;       // your query port
maxPlayers     = ...;       // clamped to the slot count you purchased
passwordAdmin  = "...";     // from Settings &gt; Server &amp; RCON Authentication</pre>
<p>Anything the editor does <em>not</em> cover is yours to edit directly. Keys such as <code>instanceId</code>, the VoN settings, the login queue values and <code>respawnTime</code> are left untouched by the panel, so set them in <code>serverDZ.cfg</code> from the <strong>File Browser</strong> (<strong>Share</strong> &rarr; <code>config</code>) and they will stick.</p>
<p>Last, set your admin password. In <strong>Server &amp; RCON Authentication</strong>, type a value or click <strong>Regenerate</strong>, then <strong>Save password</strong> &mdash; 4 to 10 characters, letters and digits only. The old host&rsquo;s password does not come across, and this one value covers both the in-game admin login and BattlEye RCON, so update any external admin tool you use.</p>

<h2 id="step-6">6. Upload the mission and persistence over SFTP</h2>
<p>Confirm <strong>Server Status</strong> still reads <code>Stopped</code>, then connect with your SFTP client and open the <code>mpmissions</code> folder.</p>
<div class="ipsMessage ipsMessage_error"><p><strong>Data loss risk:</strong> Nothing may be written into <code>storage_*</code> while the instance is <code>Running</code>. DayZ rewrites that folder on shutdown, so an upload under a live server is either ignored or flushed away, and writing into an open <code>players.db</code> can corrupt every character on the server. Stopped, always.</p></div>
<p>Use SFTP, not the web <strong>File Browser</strong>, for this step: the browser caps uploads at 300 MB against 2.5 GB over SFTP, and <code>storage_*</code> alone usually exceeds 300 MB on any server that has been played on. Create the mission folder under its final name and upload into it, rather than uploading and renaming afterwards.</p>
<p>Then reconcile the storage folder number. DayZ picks which one it loads from <code>instanceId</code> in <code>serverDZ.cfg</code>: <code>instanceId = 1</code> loads <code>storage_1</code>. If the old host used a different value your download arrives named <code>storage_5</code> or similar, and the new server will ignore it and generate an empty world beside it. Either name the incoming folder to match the <code>storage_*</code> folder your instance already has, or set <code>instanceId</code> to the old number.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> Keep the original download on your own disk untouched until the migration is confirmed. It is the only copy of the old world that exists, and the first attempt does not always take. Uploading over your source folder is a mistake you make exactly once.</p></div>

<figure class="dzshShot" id="shot-sftp-storage-upload" data-dzsh-slot="sftp-storage-upload" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/sftp-storage-upload.png.85bdfe08458babb83887fc8254b123d5.png" alt="SFTP client transferring a mission folder including storage_1 into the mpmissions share of a stopped instance" width="1369" height="475" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The mission folder, storage_* included, goes up over SFTP &mdash; 2.5 GB there against 300 MB in the File Browser.</figcaption>
</figure>

<h2 id="step-7">7. Boot it once and read the RPT before telling anyone</h2>
<p>Click <strong>Start</strong> on <strong>Overview</strong>. The first boot after a migration is slower than normal: mods install, and the engine reads a persistence set it has never seen. Open the <strong>Live Logs</strong> card, set <strong>Stream</strong> to <code>rpt</code> and actually read it. What you are checking for:</p>
<ul><li>The mission loads. A run that ends without reaching the mission usually means the <strong>Mission</strong> value and the folder name disagree.</li><li>No mod load failures. Cross-check any complaint against the <strong>Workshop Mods</strong> table for a <code>Failed</code> status or a <strong>Missing dependencies</strong> card.</li><li>No flood of unknown-type errors. Those are <code>types.xml</code> entries naming items from a mod that is not in your list &mdash; a sign the mod list is incomplete rather than that the XML is broken. <a href="https://dzservers.host/articles/guides/dayz-types-xml-loot-economy-editing/">Editing types.xml and the loot economy</a> explains the file.</li></ul>
<p>You are up when <strong>Server Status</strong> reads <code>Running</code> and <strong>Server FPS</strong> reports a number. Now verify in game rather than by inspection: copy your address with <strong>Copy</strong> next to <strong>Connect</strong>, join, and check three things &mdash; your own character arrived with its inventory, a base you know the location of is standing, and vehicles are where they were. Open the <strong>Live Map</strong> tab and confirm you show up on it.</p>
<div class="ipsMessage ipsMessage_warning"><p><strong>Careful:</strong> If bases are missing, stop the server before anyone plays. Every minute a wrong world stays live is a minute of new player activity written on top of it, and that makes re-uploading your download messier.</p></div>

<figure class="dzshShot" id="shot-rpt-first-boot" data-dzsh-slot="rpt-first-boot" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/rpt-first-boot.png.bc8c15b3f00e19516d3e2a850d8fa0ec.png" alt="Live Logs card with the Stream dropdown set to rpt showing a clean mission load after a migration" width="1570" height="572" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">The RPT stream is where a migration succeeds or fails &mdash; read it before announcing the new address.</figcaption>
</figure>

<h2 id="step-8">8. Re-import your lists, rebuild your schedule, then cut over</h2>
<p>Bans, whitelist and priority queue do not travel with the mission folder, and they are the last thing standing between you and an unmoderated server.</p>
<ol><li>Upload the old <code>ban.txt</code>, <code>whitelist.txt</code> and <code>priority.txt</code> into the <code>config</code> share, overwriting the empty ones already there.</li><li>Open <strong>Players</strong> and click <strong>Import existing</strong>. The confirmation is titled <code>Import existing lists?</code> and explains what it reads; confirm with <strong>Import &amp; adopt</strong>. Nothing is deleted &mdash; entries already on disk are pulled into the panel so the two agree from now on.</li><li>If you ran a whitelist, enable enforcement on the <strong>Whitelist</strong> tab. It applies at the next restart.</li></ol>
<div class="ipsMessage ipsMessage_info"><p><strong>Note:</strong> BattlEye&rsquo;s own <code>bans.txt</code> lives outside the four shares, so GUID and IP bans held only there cannot be uploaded. Re-add those through the <strong>Bans</strong> tab, which writes both files for you &mdash; <a href="https://dzservers.host/articles/guides/dayz-rcon-bans-whitelist-priority-queue/">RCON, bans, whitelist and the priority queue</a> covers it.</p></div>
<p>Two pieces of housekeeping do not migrate either. Recreate your restart schedule in <strong>Scheduler</strong> with <strong>New task</strong> &rarr; <strong>Restart (controlled)</strong> &mdash; see <a href="https://dzservers.host/articles/guides/dayz-server-automatic-restart-scheduler/">automatic restarts with the Scheduler</a> &mdash; and pick a frequency on <strong>Backups</strong>, where <strong>Daily</strong> suits most servers and everything is kept for 30 days (<a href="https://dzservers.host/articles/guides/dayz-server-backups-and-restore/">automatic backups and restore</a>).</p>
<p>Only then cut over. Your address has changed, so update wherever players find you: your community listing, your Discord, any launcher collection, and your DNS record if you use one. <strong>Overview</strong> gives you <strong>Direct Connect</strong> and <strong>List on DZSA Launcher</strong> links to share. Announce the new <code>ip:port</code> clearly, and leave the old host running with a message-of-the-day pointing at it for as long as you are paying for it.</p>

<figure class="dzshShot" id="shot-players-import-existing" data-dzsh-slot="players-import-existing" style="margin:1.75em 0">
<img class="ipsImage" src="https://dzservers.host/uploads/monthly_2026_07/players-import-existing.png.dfd90602f4029dcb092ffea33c59b36b.png" alt="Players tab header with the Import existing button and the Import existing lists confirmation dialog open" width="1611" height="448" loading="lazy" style="max-width:100%;height:auto;display:block;border-radius:4px">
<figcaption style="font-size:.88em;opacity:.78;margin-top:.5em;font-style:italic">Import existing adopts the ban, whitelist and priority files you uploaded into the panel&rsquo;s own lists.</figcaption>
</figure>

<h2 id="troubleshooting">Troubleshooting</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">My bases are gone after the migration but my character survived</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Characters and world objects load separately. <code>players.db</code> is self-contained so characters almost always survive, but built structures are stored as object classes and DayZ silently drops any object whose class the loaded mod set does not define. A missing mod, a mod present but not <strong>Enabled</strong>, or a mod republished since your old server last updated will each take every structure that mod provided with it.</p>
<p><strong>How to fix it.</strong> Stop the server before players build anything new. Compare <strong>Workshop Mods</strong> against your inventory list row by row: every mod present, <strong>Enabled</strong> ticked, the same order, <strong>Server-only</strong> matching. Fix the list, re-upload <code>storage_*</code> from the download you kept, and start again. If it was a version change rather than a missing mod, the author&rsquo;s changelog is the only thing that will tell you what was renamed.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">The server starts but loads an empty world, or the wrong map</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> Three variants of one mistake. The <strong>Mission</strong> value does not match the folder name exactly; or it matches but you uploaded into a differently named folder; or the mission is right and the <code>storage_*</code> number does not match <code>instanceId</code> in <code>serverDZ.cfg</code>, so DayZ ignores your persistence and generates a fresh world beside it.</p>
<p><strong>How to fix it.</strong> Open <strong>File Browser</strong>, set <strong>Share</strong> to <code>mpmissions</code> and read the folder name off the screen. Stop the instance, retype it into <strong>Value</strong> under <strong>Edit Mission</strong>, and <strong>Save mission</strong>. Then look inside the mission folder: if there are two <code>storage_*</code> folders, one is yours and one was generated, and the generated number is the one matching <code>instanceId</code>.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">I uploaded my old serverDZ.cfg and my settings keep reverting</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> <strong>Instance Settings</strong> stores its values in the panel rather than reading the file, and writes them into <code>serverDZ.cfg</code> on save. On top of that the panel re-patches the IP, both ports, the slot cap and <code>passwordAdmin</code> immediately before every start. An uploaded file is overwritten by design, not by accident.</p>
<p><strong>How to fix it.</strong> Open the old file as a reference and type its values into the <strong>Instance Settings</strong> fields, then <strong>Save</strong>. Keys the editor does not expose are safe to edit in the file directly &mdash; the panel only ever rewrites the keys it owns.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">My old bans and whitelist are not being enforced on the new server</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The panel maintains its own copies of the ban, whitelist and priority lists and rewrites the server files from them. Files dropped into <code>config</code> without telling the panel are not part of that picture yet, and a whitelist file with no enforcement enabled is inert.</p>
<p><strong>How to fix it.</strong> Upload the list files into the <code>config</code> share, then click <strong>Import existing</strong> on <strong>Players</strong> and confirm with <strong>Import &amp; adopt</strong>. Check the counts in the status band afterwards, then enable whitelist enforcement on the <strong>Whitelist</strong> tab and restart.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">My persistence upload fails or never finishes in the File Browser</h3></summary>
<div style="padding-top:.5em"><p><strong>Why it happens.</strong> The web <strong>File Browser</strong> accepts single files up to 300 MB, which a mature server&rsquo;s <code>storage_*</code> folder passes easily &mdash; and a browser upload of thousands of small files is slow and fragile besides.</p>
<p><strong>How to fix it.</strong> Use SFTP, which takes single files up to 2.5 GB. Details are on the <strong>SFTP</strong> tab and in <a href="https://dzservers.host/articles/guides/dayz-server-sftp-access/">connecting with SFTP</a>. Keep the <strong>File Browser</strong> for the small XML edits afterwards.</p></div>
</details>

<h2 id="faq">Frequently asked questions</h2>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Will my players keep their characters, skills and inventory?</h3></summary>
<div style="padding-top:.5em"><p>Yes, as long as you bring <code>players.db</code> across with its <code>-wal</code> and <code>-shm</code> companions and load it on the same map. DayZ keys characters to a player&rsquo;s Bohemia account id, which does not change between hosts, so a player who logs into the migrated world finds the character they left &mdash; position, health, inventory and all.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I change map at the same time as migrating?</h3></summary>
<div style="padding-top:.5em"><p>You can, but it is not a migration. Bases, vehicles and characters are stored per world, so pointing the instance at a different mission gives you a fresh world with nothing in it. If you want both, migrate first, confirm the old world is intact, then change map later as a deliberate wipe &mdash; the old mission folder stays on disk.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I just copy my whole old server folder across?</h3></summary>
<div style="padding-top:.5em"><p>No, and it would not help. You get four shares &mdash; <code>profiles</code>, <code>mpmissions</code>, <code>config</code> and <code>mods</code> &mdash; and the game binaries are outside them. Mods must be added through <strong>Workshop Mods</strong> because that table is what builds <code>-mod=</code>, and <code>serverDZ.cfg</code> is panel-owned. The only folder worth copying wholesale is your mission.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">How much downtime should I plan for?</h3></summary>
<div style="padding-top:.5em"><p>Budget two hours for a modded server and treat the transfer as the variable. Mission, mod and settings work is about fifteen minutes of clicking; moving the persistence takes as long as your own connection needs for a few hundred megabytes, doubled because you download it first. Do all the configuration <em>before</em> you stop the old server, so the only real downtime is the transfer.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Does my admin and RCON password come across?</h3></summary>
<div style="padding-top:.5em"><p>No. It is replaced with the value in <strong>Server &amp; RCON Authentication</strong> on your new instance, and the panel writes it into both <code>passwordAdmin</code> and BattlEye&rsquo;s <code>RConPassword</code> on every start. Set it yourself or click <strong>Regenerate</strong>, then update every external admin tool and script that held the old one.</p></div>
</details>
<details class="dzshDetails" style="border:1px solid rgba(128,128,128,.28);border-radius:4px;margin:.5em 0;padding:.55em .8em">
<summary style="cursor:pointer;font-weight:600"><h3 style="display:inline;font-size:inherit;margin:0">Can I migrate a custom map such as Deer Isle or Namalsk?</h3></summary>
<div style="padding-top:.5em"><p>Yes. Add the terrain mod through <strong>Workshop Mods</strong> exactly as you would any other mod, upload the mission folder into <code>mpmissions</code>, and type its folder name into the <strong>Value</strong> box under <strong>Edit Mission</strong> &mdash; the field is free text, so it is not limited to the three presets in the dropdown. Everything else in this runbook is unchanged.</p></div>
</details>

<h2>Related guides</h2>
<ul><li><a href="https://dzservers.host/articles/guides/dayz-server-control-panel-getting-started/">Getting started with the control panel</a></li><li><a href="https://dzservers.host/articles/guides/dayz-manual-backup-download-sftp/">Making a manual backup over SFTP</a></li><li><a href="https://dzservers.host/articles/guides/dayz-workshop-mods-load-order/">installing Steam Workshop mods</a></li></ul>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "HowTo",
	"name": "Migrating a DayZ Server From Another Host Without Losing Bases or Characters",
	"description": "Move a DayZ server to DZSERVERS.HOST and keep the world: copy your mission and storage folders, rebuild the mod list in order, then verify the first boot.",
	"step": [
		{
			"@type": "HowToStep",
			"position": 1,
			"name": "Inventory the old server while you still have access",
			"text": "Write five things down first. Every later step depends on one of them, and once the old service is gone none of them can be recovered. The mission folder name, exactly. Something like dayzOffline.chernarusplus. Copy the spelling and capitalisation from the folder listing, not from memory; The mod list, in load order. The authoritative source is the old host’s startup line: the -mod= and -servermod= arguments, read left to right. Note each mod’s numeric Steam Workshop id, because folder names are not always unique or searchable; The slot count the old server ran, so you can tell whether your new plan matches; A copy of serverDZ.cfg. You will not upload this file, but you will read values out of it in step 5; The list files from the old server root: ban.txt, whitelist.txt and priority.txt, if you used them; Careful: Do not cancel the old service on migration day. Keep it paid until the new server has booted, players have confirmed their bases and characters are intact, and it has run for a day. Overlapping billing for a week is the cheapest insurance in this process.",
			"url": "https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/#step-1"
		},
		{
			"@type": "HowToStep",
			"position": 2,
			"name": "Stop both servers, then download the mission folder",
			"text": "Stop the old server first. Then download, from the old host, the entire mission folder — not a selection of files inside it. Data loss risk: Never copy persistence out of a running DayZ server. The engine holds players.db open and rewrites the storage_* folder when it shuts down, so a copy taken live is a torn snapshot: characters from one moment, base state from another, and a database mid-write. Stop the old server, wait for it to fully exit, and only then start the download. Stop your new instance too, with Stop on Overview, and leave it stopped until step 7. This is what you are after, and roughly what it looks like. mpmissions/ dayzOffline.chernarusplus/ \u003c- take this whole folder db/ globals.xml, economy.xml, types.xml, events.xml cfgeconomycore.xml cfgspawnabletypes.xml cfgplayerspawnpoints.xml cfggameplay.json init.c storage_1/ \u003c- the persistence: bases, vehicles, characters players.db players.db-wal players.db-shm data/ Two files are easy to miss and matter: players.db-wal and players.db-shm are the write-ahead log and shared-memory index for players.db. Take the database without them and you can lose the most recent writes — which is to say, the last session everybody played. Note: You do not need the old profiles folder. It holds logs and working files, none of which carries world state. Keep the.ADM logs if you want your admin history.",
			"url": "https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/#step-2"
		},
		{
			"@type": "HowToStep",
			"position": 3,
			"name": "Point the new instance at the same mission",
			"text": "With the instance stopped, click Settings in the tab bar and scroll to Edit Mission. The Preset dropdown offers the three stock missions. Preset: Map. dayzOffline.chernarusplus: Chernarus — also the default when the field is empty. dayzOffline.enoch: Livonia. dayzOffline.sakhal: Sakhal. Picking a preset just fills the Value box, and that box is free text. So if your old host ran a custom or renamed mission, type its exact folder name in Value instead of using a preset. Click Save mission. Clear empties the field and falls back to dayzOffline.chernarusplus. Careful: The mission value must match a folder name under mpmissions character for character. It is used verbatim to build the launch argument -mission=.\\mpmissions\\\u003cvalue\u003e, so dayzOffline.chernarusPlus with a capital P is simply a folder that does not exist, and the server will not load a mission. Note: Save mission and Clear are both disabled while the server runs — the panel’s tooltip reads Stop the server to change mission. Same rule as the rest of this panel.",
			"url": "https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/#step-3"
		},
		{
			"@type": "HowToStep",
			"position": 4,
			"name": "Rebuild the mod list in the same load order",
			"text": "Open Workshop Mods. In the Add a mod card, paste a Workshop URL or its numeric id and click Lookup \u0026 add. The Add Workshop Mod panel opens, lists any Required dependencies pre-ticked, and Add to server queues the mod and its dependencies ahead of it. Repeat for every mod on your inventory list. Data loss risk: Copying the old server’s @ModName folders across does nothing. The panel builds -mod= and -servermod= from this table alone, so a mod that is not a row here is never loaded no matter what sits on disk. Add every mod through Workshop Mods. Then fix the order. The arrows in the Order column set the sequence, lowest first, and it must match what the old server ran: frameworks and dependencies first, content mods next, override and tweak mods last. Reordering saves immediately. The Enabled, Server-only and Auto-update checkboxes are drafts instead — click Save on the row to commit them. Installing Steam Workshop mods covers it in detail. Note: Rows badged Essential with a padlock come from the node template and cannot be removed, reordered or toggled. GameEventDispatcher, which feeds Live Map player positions and server FPS, is one of them — already installed, nothing to migrate. Careful: Mods install at whatever version the Workshop currently publishes; there is no way to pin an older build, here or on any other host. If your old server ran for months without updating its mods, you are updating them all at once during the migration. That is the most common reason bases come back missing.",
			"url": "https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/#step-4"
		},
		{
			"@type": "HowToStep",
			"position": 5,
			"name": "Re-enter your serverDZ.cfg values by hand",
			"text": "Open Settings again and work down the Instance Settings fields with the old serverDZ.cfg beside you: Host Name, Description, Max Players, Password, the time acceleration values, Disable 3rd Person, the Admin Log toggles, the network ranges. Every field maps to one real config key. Every serverDZ.cfg setting explained is the reference if a value needs interpreting. Click Save and look for Changes Saved!. Data loss risk: Do not upload the old serverDZ.cfg over the new one. The panel keeps its own copy of every setting the editor exposes and writes them into the file whenever you save, so a hand-uploaded file is silently overwritten the next time anything changes — and the old one carries the old host’s IP, ports and slot count. These lines belong to the panel and are rewritten on every single start, whatever the file says. hostIp = \".\"; // your instance's bind IP hostPort =; // your game port a2sport =; // your query port a2sIpAddress = \"127.0.0.1\"; steamQueryPort =; // your query port maxPlayers =; // clamped to the slot count you purchased passwordAdmin = \".\"; // from Settings \u003e Server \u0026 RCON Authentication Anything the editor does not cover is yours to edit directly. Keys such as instanceId, the VoN settings, the login queue values and respawnTime are left untouched by the panel, so set them in serverDZ.cfg from the File Browser ( Share → config ) and they will stick. Last, set your admin password. In Server \u0026 RCON Authentication, type a value or click Regenerate, then Save password — 4 to 10 characters, letters and digits only. The old host’s password does not come across, and this one value covers both the in-game admin login and BattlEye RCON, so update any external admin tool you use.",
			"url": "https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/#step-5"
		},
		{
			"@type": "HowToStep",
			"position": 6,
			"name": "Upload the mission and persistence over SFTP",
			"text": "Confirm Server Status still reads Stopped, then connect with your SFTP client and open the mpmissions folder. Data loss risk: Nothing may be written into storage_* while the instance is Running. DayZ rewrites that folder on shutdown, so an upload under a live server is either ignored or flushed away, and writing into an open players.db can corrupt every character on the server. Stopped, always. Use SFTP, not the web File Browser, for this step: the browser caps uploads at 300 MB against 2.5 GB over SFTP, and storage_* alone usually exceeds 300 MB on any server that has been played on. Create the mission folder under its final name and upload into it, rather than uploading and renaming afterwards. Then reconcile the storage folder number. DayZ picks which one it loads from instanceId in serverDZ.cfg: instanceId = 1 loads storage_1. If the old host used a different value your download arrives named storage_5 or similar, and the new server will ignore it and generate an empty world beside it. Either name the incoming folder to match the storage_* folder your instance already has, or set instanceId to the old number. Careful: Keep the original download on your own disk untouched until the migration is confirmed. It is the only copy of the old world that exists, and the first attempt does not always take. Uploading over your source folder is a mistake you make exactly once.",
			"url": "https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/#step-6"
		},
		{
			"@type": "HowToStep",
			"position": 7,
			"name": "Boot it once and read the RPT before telling anyone",
			"text": "Click Start on Overview. The first boot after a migration is slower than normal: mods install, and the engine reads a persistence set it has never seen. Open the Live Logs card, set Stream to rpt and actually read it. What you are checking for. The mission loads. A run that ends without reaching the mission usually means the Mission value and the folder name disagree; No mod load failures. Cross-check any complaint against the Workshop Mods table for a Failed status or a Missing dependencies card; No flood of unknown-type errors. Those are types.xml entries naming items from a mod that is not in your list — a sign the mod list is incomplete rather than that the XML is broken. Editing types.xml and the loot economy explains the file; You are up when Server Status reads Running and Server FPS reports a number. Now verify in game rather than by inspection: copy your address with Copy next to Connect, join, and check three things — your own character arrived with its inventory, a base you know the location of is standing, and vehicles are where they were. Open the Live Map tab and confirm you show up on it. Careful: If bases are missing, stop the server before anyone plays. Every minute a wrong world stays live is a minute of new player activity written on top of it, and that makes re-uploading your download messier.",
			"url": "https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/#step-7"
		},
		{
			"@type": "HowToStep",
			"position": 8,
			"name": "Re-import your lists, rebuild your schedule, then cut over",
			"text": "Bans, whitelist and priority queue do not travel with the mission folder, and they are the last thing standing between you and an unmoderated server. Upload the old ban.txt, whitelist.txt and priority.txt into the config share, overwriting the empty ones already there; Open Players and click Import existing. The confirmation is titled Import existing lists? and explains what it reads; confirm with Import \u0026 adopt. Nothing is deleted — entries already on disk are pulled into the panel so the two agree from now on; If you ran a whitelist, enable enforcement on the Whitelist tab. It applies at the next restart; Note: BattlEye’s own bans.txt lives outside the four shares, so GUID and IP bans held only there cannot be uploaded. Re-add those through the Bans tab, which writes both files for you — RCON, bans, whitelist and the priority queue covers it. Two pieces of housekeeping do not migrate either. Recreate your restart schedule in Scheduler with New task → Restart (controlled) — see automatic restarts with the Scheduler — and pick a frequency on Backups, where Daily suits most servers and everything is kept for 30 days ( automatic backups and restore ). Only then cut over. Your address has changed, so update wherever players find you: your community listing, your Discord, any launcher collection, and your DNS record if you use one. Overview gives you Direct Connect and List on DZSA Launcher links to share. Announce the new ip:port clearly, and leave the old host running with a message-of-the-day pointing at it for as long as you are paying for it.",
			"url": "https://dzservers.host/articles/guides/migrate-dayz-server-to-new-host/#step-8"
		}
	],
	"totalTime": "PT2H",
	"supply": [
		{
			"@type": "HowToSupply",
			"name": "File access to the old server that you still control — its panel, FTP or SFTP. Get your copy before you cancel anything; plenty of hosts delete the files the moment a service lapses."
		},
		{
			"@type": "HowToSupply",
			"name": "A provisioned instance here. It is created automatically when your order completes, so there is nothing to build — see getting started with the control panel."
		},
		{
			"@type": "HowToSupply",
			"name": "Your SFTP details from the SFTP tab: host, port 2022, the per-instance username and the SFTP password. Connecting with SFTP sets that up."
		},
		{
			"@type": "HowToSupply",
			"name": "The same map on both ends. Bases and characters are stored per world, so moving from Chernarus to Livonia is a fresh start, not a migration."
		},
		{
			"@type": "HowToSupply",
			"name": "Somewhere with room to hold the download. A long-lived server’s persistence is commonly hundreds of megabytes."
		}
	]
}
</script>

<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "FAQPage",
	"mainEntity": [
		{
			"@type": "Question",
			"name": "Will my players keep their characters, skills and inventory?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Yes, as long as you bring players.db across with its -wal and -shm companions and load it on the same map. DayZ keys characters to a player’s Bohemia account id, which does not change between hosts, so a player who logs into the migrated world finds the character they left — position, health, inventory and all."
			}
		},
		{
			"@type": "Question",
			"name": "Can I change map at the same time as migrating?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "You can, but it is not a migration. Bases, vehicles and characters are stored per world, so pointing the instance at a different mission gives you a fresh world with nothing in it. If you want both, migrate first, confirm the old world is intact, then change map later as a deliberate wipe — the old mission folder stays on disk."
			}
		},
		{
			"@type": "Question",
			"name": "Can I just copy my whole old server folder across?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No, and it would not help. You get four shares — profiles, mpmissions, config and mods — and the game binaries are outside them. Mods must be added through Workshop Mods because that table is what builds -mod=, and serverDZ.cfg is panel-owned. The only folder worth copying wholesale is your mission."
			}
		},
		{
			"@type": "Question",
			"name": "How much downtime should I plan for?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Budget two hours for a modded server and treat the transfer as the variable. Mission, mod and settings work is about fifteen minutes of clicking; moving the persistence takes as long as your own connection needs for a few hundred megabytes, doubled because you download it first. Do all the configuration before you stop the old server, so the only real downtime is the transfer."
			}
		},
		{
			"@type": "Question",
			"name": "Does my admin and RCON password come across?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "No. It is replaced with the value in Server \u0026 RCON Authentication on your new instance, and the panel writes it into both passwordAdmin and BattlEye’s RConPassword on every start. Set it yourself or click Regenerate, then update every external admin tool and script that held the old one."
			}
		},
		{
			"@type": "Question",
			"name": "Can I migrate a custom map such as Deer Isle or Namalsk?",
			"acceptedAnswer": {
				"@type": "Answer",
				"text": "Yes. Add the terrain mod through Workshop Mods exactly as you would any other mod, upload the mission folder into mpmissions, and type its folder name into the Value box under Edit Mission — the field is free text, so it is not limited to the three presets in the dropdown. Everything else in this runbook is unchanged."
			}
		}
	]
}
</script>]]></description><guid isPermaLink="false">11</guid><pubDate>Thu, 30 Jul 2026 15:04:00 +0000</pubDate></item></channel></rss>
