DayZ Expansion Quest Setup Guide
There is not much clear documentation around DayZ Expansion Quests setup, especially if you are trying to build delivery and collection quests from scratch. This page takes the full original guide and reorganizes it into a cleaner, more professional walkthrough without cutting any of the information.
It covers the simple quest loop, NPC setup, quest JSON, objective JSON, folder placement, item delivery logic, chain linking, and the exact meaning of the important fields that cause most setup errors.
What this guide focuses on
Right now this guide focuses on delivery quests and collection quests, because that is the cleanest place to begin before moving into more advanced chains and multi-step systems.
The Simple Quest Game Loop
The original guide describes the system in a very simple way. This loop is still the best mental model when building your first quests.
Core loop
- Go somewhereTravel to the NPC, target area, or destination tied to the quest.
- CollectFind or carry the item the objective requires.
- ReturnBring the item back to the correct turn-in NPC.
- Unlock next tierUse
FollowUpQuestorPreQuestIDswhen you want progression chains.
Best testing method
Create two ExpansionQuestNPCAI NPCs and place them close together at first. That lets you test quest start, item requirement, turn-in, and chain flow quickly. After one quest works, then you can spread NPCs across the map, build sequential quest lines, and add more complexity.
Initial Folder and Object Setup
These are the first steps before building JSON files.
1. Create the folders
Create a Quest folder and then an Objects folder inside the mission expansion path if they do not already exist.
/mpmissions/dayzOffline.chernarusplus/expansion/quests/objects
2. Make two NPCs
Create two ExpansionQuestNPCAI NPCs. Put them close together for testing. You can always make more later and link them together, even in sequential order. There is a list of them in DayZ Editor.
3. Save and move the map file
Save the placement as a .map file, then move that file from the editor into your FTP here:
/mpmissions/dayzOffline.chernarusplus/expansion/quests/objects
NPC Config Files
You need names, coordinates, unique IDs, and the quest list each NPC handles. A quest starts and turns in through the NPC IDs defined here.
Example NPC file
{
"ConfigVersion": 6,
"ID": 10066,
"ClassName": "ExpansionQuestNPCAIJose",
"Position": [1395.571899, 21.954834, 600.512512],
"Orientation": [152.999969, 0.0, -0.0],
"NPCName": "Quartermaster Jose",
"DefaultNPCText": "Get this done and come back to me.",
"NPCLoadoutFile": "NBCLoadout",
"NPCInteractionEmoteID": 1,
"NPCQuestCancelEmoteID": 60,
"NPCQuestStartEmoteID": 58,
"NPCQuestCompleteEmoteID": 39,
"NPCType": 2,
"QuestIDs": [1274],
"Active": 1
}
NPC field reference
ExpansionQuestNPCAIJose.[1274] or [1274, 1275, 1276].Main Quest File
This is the file that defines the quest itself and connects the NPCs, objective, rewards, prerequisites, and behavior settings.
Example quest file
{
"ConfigVersion": 22,
"ID": 1274,
"Type": 1,
"Title": "Carry the Note",
"Descriptions": ["", "", ""],
"ObjectiveText": "Deliver the note to Jose.",
"FollowUpQuest": -1,
"Repeatable": 0,
"IsDailyQuest": 0,
"IsWeeklyQuest": 0,
"CancelQuestOnPlayerDeath": 0,
"Autocomplete": 0,
"IsGroupQuest": 0,
"ObjectSetFileName": "",
"QuestItems": [],
"Rewards": [
{
"ClassName": "Canteen",
"Amount": 1,
"Attachments": [],
"DamagePercent": 0,
"HealthPercent": 0,
"QuestID": -1,
"Chance": 1.0
}
],
"NeedToSelectReward": 0,
"RandomReward": 0,
"RandomRewardAmount": -1,
"RewardsForGroupOwnerOnly": 1,
"RewardBehavior": 0,
"QuestGiverIDs": [10065],
"QuestTurnInIDs": [10066],
"IsAchievement": 0,
"Objectives": [
{
"ConfigVersion": 28,
"ID": 1274,
"ObjectiveType": 5
}
],
"QuestColor": 0,
"ReputationReward": 0,
"ReputationRequirement": -1,
"PreQuestIDs": [],
"RequiredFaction": "",
"FactionReward": "",
"PlayerNeedQuestItems": 1,
"DeleteQuestItems": 1,
"SequentialObjectives": 1,
"FactionReputationRequirements": {},
"FactionReputationRewards": {},
"SuppressQuestLogOnCompetion": 0,
"Active": 1
}
Quest file field reference
QuestIDs and the objective reference used in the quest.1275.Objective_D_1274.json.[1273].Reward entry breakdown
Canteen.Objective File
The objective file defines what kind of objective it is, what item is needed, where it completes, and how the player sees it in the UI.
Example objective file
{
"ConfigVersion": 28,
"ID": 1274,
"ObjectiveType": 5,
"ObjectiveText": "Give a nailbox to the guy",
"TimeLimit": -1,
"Active": 1,
"Collections": [
{
"Amount": 1,
"ClassName": "NailBox",
"QuantityPercent": -1,
"MinQuantityPercent": -1
}
],
"ShowDistance": 1,
"AddItemsToNearbyMarketZone": 0,
"MaxDistance": 20,
"MarkerName": "Jose"
}
Objective field reference
NailBox.Multi-item delivery example
"Collections": [
{ "Amount": 1, "ClassName": "NailBox" },
{ "Amount": 2, "ClassName": "WaterBottle" }
]
This file controls
- What item is neededThe required class name is defined here.
- How many are neededThe
Amountvalue controls quantity. - Where to bring itThe target marker and completion zone are defined here.
- How close the player must be
MaxDistancecontrols the hand-in radius. - What text the player sees
ObjectiveTextandMarkerNameaffect the UI.
How the Example Wiring Works
This is the exact connection chain the original guide described.
Quest_1274.json ↓ points to Objective ID 1274 ↓ Objective_D_1274.json ↓ requires NailBox delivery ↓ NPC 10066 (Jose)
Correct Final Folder Placement
Even a valid quest setup will fail if the files are not placed in the correct final directories.
Put the correct files in the correct folders
/config/ExpansionMod/Quests/NPCs /config/ExpansionMod/Quests/Objectives /config/ExpansionMod/Quests/Quests
Important reload step
Delete PersistentServerData.json after adding or updating quests. This forces the server to refresh and load the updated quest data.
Common mistake to avoid
The original page accidentally repeated the Objectives path in the final folder list. The correct three destinations are NPCs, Objectives, and Quests.
Full Raw Guide Reference, Reorganized
This section keeps the rest of the original bottom-text notes, but formats them cleanly so nothing is lost.
File naming examples
- NPC files
QuestNPC_10065.jsonandQuestNPC_10066.json - Main quest file
Quest_1274.json - Objective file
Objective_D_1274.json
Quest boards vs NPCs
NPCType
1 = Quest Board
2 = Quest NPC
Objective types
ObjectiveType
2 = Kill
3 = Travel
4 = Collection
5 = Delivery
Chain examples from the original notes
- FollowUpQuest: -1No next quest in the chain.
- FollowUpQuest: 1275Quest continues into the next quest ID.
- PreQuestIDs: []No prerequisite quest.
- PreQuestIDs: [1273]You must complete 1273 first.
Behavior defaults that fit delivery quests
- PlayerNeedQuestItems: 1Player must have the required quest or objective items.
- DeleteQuestItems: 1Turned-in items are removed when the quest completes.
- SequentialObjectives: 1Useful when you later build multi-step chains.