---
title: "How to Install Mods on a DayZ Server: Folders and Keys"
description: "Find Workshop IDs, add mod keys, adjust startup parameters, and properly merge types.xml changes so custom loot spawns correctly."
url: "https://www.gameserverkings.com/knowledge-base/dayz/how-to-install-mods/"
category: "DayZ"
category_url: "https://www.gameserverkings.com/knowledge-base/dayz/"
published: "2026-07-02T03:31:56.611Z"
updated: "2026-08-07T21:05:31.554Z"
source_format: "markdown"
site: "GameServerKings"
---

# How to Install Mods on a DayZ Server: Folders and Keys

This guide covers installing mods on a DayZ server: where the files live, how the server is told to load them, and why a mod that looks installed still fails to appear in game. For first boot and connecting, see [Getting started with your DayZ server](/knowledge-base/dayz/getting-started-with-your-server/).

DayZ mods come from the Steam Workshop at `steamcommunity.com/app/221100/workshop/`. Unlike most Workshop-based games, **the server does not download them for you** — that difference is behind most failed installs, and it is worth understanding before you start.

## 1. Where DayZ Mod Files Live

Every mod is a folder whose name begins with `@`, and on the server those folders sit at the **server root** — the same level as `serverDZ.cfg` and `mpmissions/`:

```
serverDZ.cfg
mpmissions/
keys/
@CF/
  addons/
  config.cpp
  keys/
@CommunityOnlineTools/
  addons/
  config.cpp
  keys/
@Namalsk Survival/
  addons/
  ...
```

Three things to note, because each one causes a distinct failure:

- **`addons/`** holds the mod's actual `.pbo` content. A folder without it will load as an empty mod and silently do nothing.
- **`config.cpp`** declares the mod to the engine, including which other mods it requires.
- **`keys/`** (sometimes `key/`) holds the signature file. Its contents must be copied into the server's own top-level `keys/` folder — see section 4.

Open the server root through the File Manager on your [managed DayZ server](/games/dayz/) to see this layout directly.

> [!NOTE] The client stores its copies somewhere else entirely
> When a player subscribes on Steam, their machine keeps its own copy under the game install at `steamapps/common/DayZ`, separate from anything on the server. Players do not need to match your folder layout — DayZ-SA-Launcher resolves their side automatically. Every other path in this guide is server-side.

## 2. Mods Do Not Download Themselves

> [!IMPORTANT] This is the single most common mistake
> Subscribing to a mod on Steam does nothing to your server. Adding a mod name to the Startup tab does nothing on its own either. The files have to physically exist on the server first.

The order that works:

1. Get the mod files (section 3).
2. Upload them to the server root as `@ModName`.
3. Copy the mod's key into `keys/`.
4. Add the mod to the **Mods** field.
5. Restart.

Do it in any other order and the server will start, log a missing-mod error, and carry on without it — which looks identical to the mod simply not working.

## 3. Getting the Mod Files

Two routes, depending on what your panel offers:

**Workshop integration.** If your server's egg supports Workshop IDs, paste the numeric ID and the panel fetches the content on boot. The ID is the `?id=` value in the mod's Workshop URL.

**Download locally, then upload.** Use DayZ-SA-Launcher or SteamCMD on your own machine to pull the Workshop content, then upload the resulting `@ModName` folder through the File Manager or over SFTP. Slower, but it works for every mod including ones not on the Workshop.

## 4. Keys and Signature Verification

`serverDZ.cfg` ships with:

```cfg title="serverDZ.cfg"
verifySignatures = 2;
```

That setting requires every piece of loaded content to be signed, and it is the recommended value — leaving it on is what stops a player joining with modified content. Workshop mods are signed already, so the only work is putting the key where the server looks for it:

Copy the contents of each mod's `keys/` (or `key/`) folder into the server's **top-level `keys/` folder**. Not into the mod's own folder — into the server's.

A missing key does not produce a mod error. It produces players being rejected at connect, which sends most people looking in the wrong place.

## 5. Telling the Server Which Mods to Load

In the **Startup** tab, the **Mods** field takes the folder names, prefixed with `@` and separated by semicolons:

```
@CF;@CommunityOnlineTools;@Namalsk Survival;@Namalsk Island
```

The names must match the folder names on disk exactly, including spaces and capitalisation. `@CF` and `@cf` are not the same to the loader.

**Order matters.** Dependencies load first, so a framework a mod relies on must appear before it in the list.

## 6. Dependencies and Load Order

Most failed mod installs are a missing dependency rather than a broken mod. Two frameworks account for the bulk of it:

| Framework | Folder | Needed by |
|---|---|---|
| Community Framework | `@CF` | A large share of the ecosystem — install it first |
| Dabs Framework | `@DabsFramework` | Server-side scripting mods |

Dependencies are not a convention — each mod declares them in its own `config.cpp`, under `requiredAddons[]` inside `class CfgPatches`. When the loader hits a mod whose required addon has not loaded yet, it stops there. That is why order in the Mods field matters, and why a missing framework takes down everything downstream of it rather than just itself.

A proven roleplay stack, in load order:

```
@CF;@DabsFramework;@CommunityOnlineTools;@DayZ-Expansion-Core;@DayZ-Expansion-Vehicles;@DayZ-Expansion-Markets;@Trader;@CodeLock;@Banking
```

Other mods worth knowing: **CommunityOnlineTools** (in-game admin GUI), **Code Lock** (combination locks on doors), **Trader** (trader stations), **Banking** (ATM economy), **DayZ-Editor-Loader** (custom map structures), **MMG Mightys Military Gear**, **Drugs Plus**, and **Namalsk Survival** for a hardcore winter overhaul.

## 7. Mission Files: types.xml and Friends

Installing the folder is often only half the job. Many mods add items, and an item the loot economy has never heard of will not spawn.

The mission's XML lives in `mpmissions/<mission>/db/`, with `types.xml` controlling item spawns and `cfgspawnabletypes.xml` controlling what spawns inside containers. Mods that add gear normally ship their own XML fragments to merge in.

Full detail on how a `types.xml` entry is structured — `nominal`, `lifetime`, `min`, `restock` — is in [How to Increase Loot on a DayZ Server (types.xml)](/knowledge-base/dayz/how-to-increase-loot/).

## 8. Custom Maps

A community map is a mod plus a mission template. Both are required.

1. Upload the map mod to the server root, exactly as any other mod.
2. Upload its mission folder into `mpmissions/`.
3. Point `serverDZ.cfg` at it:

```cfg title="serverDZ.cfg"
class Missions {
    class DayZ {
        template = "dayzOffline.namalsk";
    };
};
```

4. Apply any mod-specific XML edits to that mission's `db/` files.

The stock templates are `dayzOffline.chernarusplus` (Chernarus), `dayzOffline.enoch` (Livonia) and `dayzOffline.sakhal` (Frostline). Popular community maps include Namalsk, Banov, Pripyat, Esseker and DeerIsle.

> [!IMPORTANT] A new map means a new storage slot
> World state lives in `mpmissions/<mission>/storage_<id>/`. Switching template starts that world fresh — take a Backups snapshot first if the old world matters.

## 9. Verifying It Worked

Restart from the Console tab and watch the boot log. Each mod prints its own banner as it loads, so the fastest check is simply counting them against your Mods field.

Then confirm in game: `@CommunityOnlineTools` is the easy one to eyeball, since it puts a visible admin menu in front of you.

## 10. Troubleshooting

**A mod in the list does nothing.** The folder is missing, misnamed, or has no `addons/`. Names must match on disk exactly.

**A mod loads on Windows but not on a Linux host.** Case. Bohemia's own modding guidance is explicit that a mod's `addons` and `keys` folders — and the files inside `addons` — must be lower case for the DayZ Linux server binaries to read them. A mod packed with `Addons/` works fine on a Windows server and silently does nothing on a Linux one. Rename the folders to lower case; if the files inside `addons` are also capitalised, those need renaming too.

**"Mod loading failed" or a dependency error.** A framework is missing or loading too late. `@CF` first, then `@DabsFramework`, then everything else.

**Players are rejected at connect.** A mod key is missing from the server's `keys/` folder. This looks like a connection problem, not a mod problem, which is why it is easy to misdiagnose.

**Players get "Wrong session state".** A version mismatch, enforced by `forceSameBuild = 1`. The server is on a different DayZ build than the player — restart it to pick up the current version.

**A mod's items never spawn.** The mod is loaded but its `types.xml` entries were never merged into the mission.

**The server got noticeably heavier.** AI-heavy mods are the usual cause; the Enfusion engine struggles with high entity counts. Cap zombie counts and spawn rates for helicopter and boat mods, and keep to the 4–6 hour restart cycle DayZ needs anyway.

## 11. FAQ

### Where are DayZ mods stored on the server?

At the server root, each in its own `@ModName` folder alongside `serverDZ.cfg` and `mpmissions/`. Inside each you will find `addons/` (the content), `config.cpp` (the declaration) and usually `keys/` (the signature).

### Where is the DayZ mod folder?

There is no single one — every mod is its own top-level `@`-prefixed folder. The related folder people are usually also looking for is `keys/`, which is a single shared folder at the server root holding every mod's signature file.

### How do I add mods to a DayZ server?

Upload the `@ModName` folder to the server root, copy its key into `keys/`, add the name to the **Mods** field in the Startup tab, and restart. All four steps are required.

### Do players need the mods installed too?

Yes. Every connected player needs the same mods; DayZ-SA-Launcher handles that for them automatically when they join a modded server.

### Why won't my mods load?

In order of likelihood: a missing dependency (usually `@CF`), a folder name that does not match the Mods field, or files that were never actually uploaded. Check the boot log — each mod that loads announces itself, so the missing one is visible by absence.

### Do I need to reinstall mods after a DayZ update?

Not the server folders, but a mod that has not been updated for the current build may stop working until its author ships a fix. `forceSameBuild = 1` will keep mismatched players out in the meantime.

## 12. What to Read Next

- [Getting started with your DayZ server](/knowledge-base/dayz/getting-started-with-your-server/) — first boot, maps, and how `types.xml` entries are structured
- [Configuring your DayZ server](/knowledge-base/dayz/configuration-overview/) — every `serverDZ.cfg` key, including `verifySignatures` and `forceSameBuild`
- [DayZ Admin Commands: BattlEye RCon and Admin Tools](/knowledge-base/dayz/how-to-add-admins-and-commands/) — CommunityOnlineTools and VPPAdminTools setup

---

Made with 💜 by GameServerKings
