Creating and Loading Custom Mission Files
Build and deploy custom DayZ mission files to control spawn points, loot tables, and event configuration independently from the default missions.
Overview
A DayZ mission defines the ruleset for a specific server session: spawn points, loot tables, event configuration, and script overrides. Running a custom mission lets you fully control these without modifying the default files. Multiple missions can be registered simultaneously in serverDZ.cfg, with the server using the first in the list.
Mission Folder Structure
A minimal custom mission contains:
missionFiles/
myChernarusMission.chernarusplus/
mission.sqm
cfgspawnabletypes.xml
cfgeventspawns.xml
db/
types.xml
events.xml
globals.xml
messages.xml
economy.xml
The folder name format is missionName.mapName (no spaces). The mapName portion must match the terrain template.
Step 1: Create the Mission Folder
Start by copying the vanilla mission as a base. Extract the default mission PBO:
# Location of default mission PBO (varies by install)
missionFiles/dayzOffline.chernarusplus.pbo
Extract with pboProject to get the full file set, then copy the extracted folder and rename it.
Step 2: Edit Mission Files
Modify the files in db/ to customize loot and events:
db/types.xml— loot quantities and respawn timersdb/events.xml— dynamic event types and frequenciescfgeventspawns.xml— event spawn coordinatescfgspawnabletypes.xml— attachment and cargo loadouts
See Tuning Loot Spawns with types.xml and Spawning Gear with Attachments via cfgspawnabletypes.xml for details on those files.
Step 3: Edit mission.sqm (Optional)
mission.sqm is the Arma/DayZ mission description file. You can edit it in Oxygen 2 (Bohemia's mission editor) to add custom spawn points, objects, or map markers. For most server operators, the default mission.sqm from the vanilla mission works fine.
Step 4: Register the Mission in serverDZ.cfg
missionFiles[] = {"dayzOffline.chernarusplus", "myChernarusMission.chernarusplus"};
template = "myChernarusMission.chernarusplus";
The template line tells the server which mission to actually load. The missionFiles[] array registers all available missions for the server process (required even for a single custom mission).
Step 5: Deploy Without PBO Packing (Loose Files)
For development and testing, the server can load loose mission files directly — no PBO packing required. Just place the mission folder in missionFiles/ and point template at it.
Step 6: Pack to PBO for Production
For production deployments, pack the mission folder with pboProject:
- Open pboProject
- Select your mission folder
- Pack to
.pbo - Upload the
.pbotomissionFiles/
Packed PBOs load faster and are harder to accidentally modify.
Common Errors
"Mission file not found"
The folder name in missionFiles/ does not match the template value in serverDZ.cfg exactly. Check capitalization.
Server loads wrong mission
When missionFiles[] contains multiple entries, the server uses template to select the active one. Verify template points to your custom mission, not the default.
Loot not spawning
The db/types.xml in your mission has a parse error or item class names that don't exist on the selected map. Check server_profile/logs/script.log for XML parse errors on startup.
Tools Reference
| Tool | Use |
|---|---|
| pboProject | Extract and repack .pbo files |
| Oxygen 2 | Visual mission editor for .sqm files |
| Notepad++ / VS Code | Edit XML config files |