DAYZ EXPANSION QUEST GUIDE

Professional reference for delivery and collection quest setup

⬇ Download HTML
Complete Guide

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.

Quest TypesDelivery and collection
Best First TestTwo NPCs placed close together
Mission Pathmpmissions/dayzOffline.chernarusplus
Reload StepDelete PersistentServerData.json

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 FollowUpQuest or PreQuestIDs when 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
ConfigVersion: 6Version of the NPC config format.
IDMust be unique across all NPCs. Quests reference this ID.
ClassNameThe actual NPC class type, such as ExpansionQuestNPCAIJose.
PositionNPC location. X, Y, and Z coordinates.
OrientationDirection the NPC faces. First value is yaw or rotation. The other two are usually left at 0.
NPCNameName shown in game.
DefaultNPCTextWhat the NPC says when you interact with them.
NPCLoadoutFileWhat gear the NPC wears.
NPCInteractionEmoteIDIdle interaction animation.
NPCQuestCancelEmoteIDAnimation that plays when the player cancels a quest.
NPCQuestStartEmoteIDAnimation that plays when a quest is accepted.
NPCQuestCompleteEmoteIDAnimation that plays when a quest is completed.
NPCTypeControls role. 1 = Quest Board, 2 = Quest NPC.
QuestIDsList of quests the NPC handles. Example: [1274] or [1274, 1275, 1276].
Active1 = enabled, 0 = disabled.

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
ConfigVersion: 22Version of the quest file format.
IDUnique quest ID. This must match the NPC QuestIDs and the objective reference used in the quest.
Type: 1General quest type. Usually left as 1 for normal quests.
TitleQuest name shown to players.
DescriptionsQuest description text pages or lines shown in the quest menu.
ObjectiveTextShort summary shown in the quest log, such as “Deliver the note to Jose.”
FollowUpQuestNext quest in the chain. Use -1 if there is no follow-up quest. For chains, you might use something like 1275.
Repeatable0 = once only, 1 = repeatable.
IsDailyQuest1 makes it a daily quest.
IsWeeklyQuest1 makes it a weekly quest.
CancelQuestOnPlayerDeath1 means the quest cancels if the player dies. 0 means death does not auto-cancel it.
Autocomplete1 auto-completes when the objective is done. 0 usually still requires turn-in.
IsGroupQuest1 makes it a group quest. 0 is normal or solo quest behavior.
ObjectSetFileNameUsed if the quest needs a quest object set file. Empty means none.
QuestItemsSpecial quest items tied directly to the quest. Empty means none defined here.
RewardsList of all quest rewards.
NeedToSelectReward0 means the player gets all rewards automatically. 1 means the player must choose reward(s).
RandomReward1 makes rewards randomized.
RandomRewardAmountUsed with random rewards. -1 usually means not used.
RewardsForGroupOwnerOnlyIf it is a group quest, only the group owner gets rewards. Not very important for normal solo quests.
RewardBehaviorExpansion reward handling mode. Usually left at 0.
QuestGiverIDsThe NPC ID that gives the quest. Must match the NPC file.
QuestTurnInIDsThe NPC ID that receives and finishes the quest. Must match the NPC file.
IsAchievement1 treats it like an achievement. 0 is a normal quest.
ObjectivesLinks the quest to the objective file. The objective ID here should match the objective JSON, such as Objective_D_1274.json.
QuestColorColor index for the quest in the UI. Mostly cosmetic.
ReputationRewardReputation gained from the quest. 0 means none.
ReputationRequirementReputation needed to accept the quest. -1 means no requirement.
PreQuestIDsQuests that must be completed first. Empty means there is no prerequisite. Example: [1273].
RequiredFactionFaction needed to accept the quest. Empty means no faction requirement.
FactionRewardFaction reward granted. Empty means none.
PlayerNeedQuestItemsPlayer must have required quest or objective items. Usually 1 for delivery and collection quests.
DeleteQuestItemsRemoves turned-in quest items when completed. Important for delivery and collection quests.
SequentialObjectivesIf multiple objectives exist, they must be done in order. If you only have one objective, this matters less.
FactionReputationRequirementsPer-faction reputation requirements. Empty means none.
FactionReputationRewardsPer-faction reputation rewards. Empty means none.
SuppressQuestLogOnCompetionControls quest log behavior after completion. Usually left at 0.
Active1 = enabled, 0 = disabled.
Reward entry breakdown
ClassNameItem rewarded to the player, such as Canteen.
AmountHow many of that item the player gets.
AttachmentsAttachments spawned on the reward item.
DamagePercentItem damage when rewarded.
HealthPercentHealth override for the item. Usually left at 0.
QuestID-1 is standard.
ChanceReward chance. 1.0 = guaranteed, 0.5 = 50% chance.

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
ConfigVersion: 28Objective config format version.
IDUnique objective ID. This must match the quest’s objective reference.
ObjectiveTypeDefines the objective kind. 2 = Kill, 3 = Travel, 4 = Collection, 5 = Delivery.
ObjectiveTextText shown in the quest tracker.
TimeLimit-1 means no time limit. Other values are in seconds.
Active1 = enabled, 0 = disabled.
CollectionsDefines the item class name and amount needed.
AmountHow many of the item are required.
ClassNameThe required item classname, such as NailBox.
QuantityPercentUsed for items with quantity, like ammo, water, and similar. -1 means ignore quantity.
MinQuantityPercentMinimum accepted quantity percent. -1 generally means ignore this.
ShowDistanceShows the objective distance in the UI when set to 1.
AddItemsToNearbyMarketZoneRarely used. Usually left at 0.
MaxDistanceHow close the player must be to complete the objective. Example: 20 meters.
MarkerNameName shown on the map marker.
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 Amount value controls quantity.
  • Where to bring itThe target marker and completion zone are defined here.
  • How close the player must beMaxDistance controls the hand-in radius.
  • What text the player seesObjectiveText and MarkerName affect the UI.

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 filesQuestNPC_10065.json and QuestNPC_10066.json
  • Main quest fileQuest_1274.json
  • Objective fileObjective_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.