← modperf · analyzed mods

DayZ-Expansion-Quests

Features The DayZ-Expansion Quests Mod is a framework for creating and providing MMO like quests in DayZ with different objective and quest types. Every quest can have multiple objective types that effect the play-style and how players have to progress thru the quest. - Action: Quest players have to execute a certain action to complete the objective. - Collection: Quest players have to collect certain items. -… (more)

Features The DayZ-Expansion Quests Mod is a framework for creating and providing MMO like quests in DayZ with different objective and quest types. Every quest can have multiple objective types that effect the play-style and how players have to progress thru the quest. - Action: Quest players have to execute a certain action to complete the objective. - Collection: Quest players have to collect certain items. - Delivery: Quest players have to deliver a certain item to a quest NPC/location. - Target: Quest players have to eliminate certain targets. - Travel: Quest players have to travel to a certain loaction/position. - Treasure Hunt: Quest players have to travel to a certain location/position and find a digged-up stash. This mod can be combined with other DayZ Expansion mods to extend it's use. if combined with DayZ-Expansion-AI: - AI Camp: Quest players have to clear a certain location/area from static AI units. - AI Patrol: Quest players have to clear a location/area from patrolling AI units. - AI Escort: Quest players have to protect and escort a AI unit to a certain location. if combined with DayZ-Expansion-Groups: - Adds the possibility to do group quests and let group members share and progress quests together with ther other members. if combined with DayZ-Expansion-Navigation: - Adds markers on quests objective locations. if combined with DayZ-Expansion-Personal-Storage: - Ability to lock Personal Storage behind a Quest Guides: Please visit the Expansion Wiki for further info on how to use the mod: https://github.com/salutesh/DayZ-Expansion-Scripts/wiki/%5BServer-Hosting%5D-Expansion-Quests Installation If you need help to install the mods or the mission files please follow this guide: https://steamcommunity.com/sharedfiles/filedetails/?id=2430317812 Feedback We're grateful to hear any feedback and suggestions from anyone, the best place to give it to us would be our Discord ( https://discord.gg/rMZuS4F ), please also join if you have any questions too! Copyright 2021 DayZ Expansion Mod Team. This item is not authorized for posting on Steam, except under the Steam account https://steamcommunity.com/id/dayzexpansion/

Workshop 2828486817 · mod updated 2026-09-03 · analyzed 2026-10-03 06:48 UTC · history · 110 script files

Stall risks
None found

No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.

Compatibility
2 to review

2 chain breaks on base classes or persisted data.

Structural footprint 1.1
A
2 to review
Heavier than 53% of 328 scripted mods analyzed.

0.001% of each server frame at 100 players (0.010 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.

Where this mod sits

Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 4 others share it. Ranked list.

10
20
30
40
  • 24 mods
    0.0000022 to 0.0000046 ms/s · grade A
  • 7 mods
    0.0000046 to 0.00001 ms/s · grade A
  • 1 mod
    0.00001 to 0.000022 ms/s · grade A
  • 1 mod
    0.000022 to 0.000046 ms/s · grade A
  • 37 mods
    0.0001 to 0.00022 ms/s · grade A
  • 26 mods
    0.00022 to 0.00046 ms/s · grade A
  • 33 mods
    0.00046 to 0.001 ms/s · grade A
  • 23 mods
    0.001 to 0.0022 ms/s · grade A
  • 13 mods
    0.0022 to 0.0046 ms/s · grade A
  • 10 mods
    0.0046 to 0.01 ms/s · grade A
  • This mod
  • 18 mods
    0.022 to 0.046 ms/s · grade A
  • 17 mods
    0.046 to 0.1 ms/s · grade A
  • 40 mods
    0.1 to 0.22 ms/s · grade A
  • 26 mods
    0.22 to 0.46 ms/s · grade A
  • 28 mods
    0.46 to 1 ms/s · grade A
  • 8 mods
    1 to 2.2 ms/s · grade A to B
  • 10 mods
    2.2 to 4.6 ms/s · grade B
  • 1 mod
    4.6 to 10 ms/s · grade B to C
A316
B11
C1
D0
E0
ms/s, log scale: each labelled step is ten times the one before. Letter grade and mods holding it below the axis.
Where the load comes from

Event hooks carry 99.9% of this mod's structural load. 0.010 ms/s in all.

99.9%Event hooks · 99.9%
20 hooks · 0.01 ms/s
Lifecycle hooks · <0.1%
3 hooks · 0.000006 ms/s
Event hooksrun when something happens: an inventory move, a hit, an action 20 hooks 0.01 ms/s 99.9% ItemBase.OnInventoryEnter, ItemBase.OnInventoryExit, ActionConsume.ActionCondition and 17 more
Lifecycle hooksrun when an entity is created, loaded or deleted 3 hooks 0.000006 ms/s <0.1% AnimalBase.EEKilled, PlayerBase.EEKilled, ZombieBase.EEKilled

Counts how often each hook is dispatched and how many timers stay alive, not what the code inside does. Some rates are order-of-magnitude estimates; the methodology lists which.

Chain breaks, by consequence

2 overrides that skip super(), ranked by how much they can affect. On any server a break replaces vanilla's behaviour on that method and silences every earlier-loaded mod hooking it.

Review
Base class · every Ammunition_Base (37 vanilla subclasses)
Ammunition_Base.SplitItem

Vanilla's work on this method, and any earlier-loaded mod's, never runs for any Ammunition_Base.

quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\Ammunition_Base.c:76
Review
Base class · every Ammunition_Base (37 vanilla subclasses)
Ammunition_Base.SplitItemToInventoryLocation

Vanilla's work on this method, and any earlier-loaded mod's, never runs for any Ammunition_Base.

quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\Ammunition_Base.c:55

Where this mod runs often

Hooks on per-frame and high-rate surfaces, with what their bodies call. Body work, not the hook itself, is what costs frame time.

OnInventoryEnter on ItemBase
every inventory move
timer
OnInventoryExit on ItemBase
every inventory move
no I/O, timers or RPC
ActionCondition × 11 classes
per event
no I/O, timers or RPC super() on some paths
EEHitBy × 3 classes
per event
no I/O, timers or RPC
SetActions × 2 classes
per event
no I/O, timers or RPC
ActionCondition on ExpansionActionDismissAI
per event
no I/O, timers or RPC
EEHealthLevelChanged on ItemBase
per event
no I/O, timers or RPC

Other findings

What this report can tell you

Which vanilla methods the mod hooks, which of them drop the chain, how often each hook fires, and which risky calls sit inside hot hooks.

What it cannot

How long hook bodies take, network cost, or engine-side load. Measured across live fleets, most server lag comes from the engine and world state, not mod script chains — a light footprint does not clear a mod of lag, and a heavy one does not convict it. Methodology.

Everything else

All 73 overrides

Surface is the dispatch tier the rubric can price (— = unpriced); server is whether the override exists on a dedicated server; super() shows whether the vanilla chain is preserved on a server.

methodsurfaceserversuper()where
ActionBase.OnStart — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\ActionBases.c:188
ActionBase.OnEnd — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\ActionBases.c:196
ActionConstructor.RegisterActions — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\ActionConstructor.c:18
ActionConsume.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionConsume.c:15
ActionConsumeSingle.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\SingleUse\ActionConsumeSingle.c:15
ActionContinuousBase.OnFinishProgress — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\ActionBases.c:207
ActionCoverHeadTarget.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionCoverHeadTarget.c:15
ActionDisinfectTarget.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\SingleUse\Medical\ActionDisinfectTarget.c:15
ActionEmptyMagazine.OnStartServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:55
ActionEmptyMagazine.OnEndServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:66
ActionForceConsume.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionForceConsume.c:15
ActionForceConsumeSingle.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\SingleUse\ActionForceConsumeSingle.c:15
ActionGagTarget.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionGagTarget.c:15
ActionHandcuffTarget.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\SingleUse\ActionHandcuffTarget.c:15
ActionInjectTarget.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\SingleUse\Medical\ActionInjectTarget.c:15
ActionLoadMagazine.OnStartServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:4
ActionLoadMagazine.OnEndServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:15
ActionLoadMagazineQuick.OnStartServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:30
ActionLoadMagazineQuick.OnEndServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:41
ActionRestrainSelf.OnFinishProgressServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionRestrainSelf.c:15
ActionRestrainTarget.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionRestrainTarget.c:15
ActionShaveTarget.ActionCondition T2 yes conditional quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionShaveTarget.c:15
Ammunition_Base.CanAddCartridges — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\Ammunition_Base.c:15
Ammunition_Base.IsCompatiableAmmo — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\Ammunition_Base.c:26
Ammunition_Base.CanBeSplit — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\Ammunition_Base.c:43
Ammunition_Base.SplitItemToInventoryLocation — yes ✗ none quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\Ammunition_Base.c:55
Ammunition_Base.SplitItem — yes ✗ none quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\Ammunition_Base.c:76
Ammunition_Base.CombineItems — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\Ammunition_Base.c:94
AnimalBase.EEHitBy T2 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Creatures\Animals\AnimalBase.c:181
AnimalBase.EEKilled T3 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Creatures\Animals\AnimalBase.c:198
AnimatedActionBase.OnExecute — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\ActionBases.c:219
eAIBase.Init — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ManBase\eAIBase.c:18
ExpansionActionDismissAI.ActionCondition T2 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Interact\ExpansionActionDismissAI.c:16
ExpansionMarketModule.CheckCanUseTrader — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Systems\Market\ExpansionMarketModule.c:16
ExpansionP2PMarketModule.CheckCanUseTrader — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Systems\Market\ExpansionP2PMarketModule.c:16
ExpansionPartyData.OnJoin — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\ExpansionPartyData.c:19
ExpansionPartyData.OnLeave — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\ExpansionPartyData.c:68
ExpansionSettings.Init — yes ✓ quests_scripts.pbo::3_Game\DayZExpansion_Quests\Settings\ExpansionSettings.c:17
FirearmActionLoadBullet.OnEndServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:81
FirearmActionLoadBulletQuick.OnEndServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:98
FirearmActionLoadMultiBullet.OnStartServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:115
FirearmActionLoadMultiBullet.OnEndServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:126
FirearmActionLoadMultiBulletQuick.OnStartServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:141
FirearmActionLoadMultiBulletQuick.OnEndServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:152
FirearmActionLoadMultiBulletRadial.OnStartServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:166
FirearmActionLoadMultiBulletRadial.OnEndServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:177
FirearmActionMechanicManipulate.OnStartServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:192
FirearmActionMechanicManipulate.OnEndServer — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\UserActionsComponent\Actions\Continuous\ActionLoadMagazine.c:203
ItemBase.DeferredInit — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:97
ItemBase.OnInventoryEnter T2 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:108
ItemBase.OnInventoryExit T2 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:135
ItemBase.OnQuantityChanged — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:166
ItemBase.EEHealthLevelChanged T2 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:214
ItemBase.SetActions T2 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:230
ItemBase.CanBeSplit — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:237
ItemBase.OnRightClick — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:259
ItemBase.CanBeCombined — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:271
ItemBase.Expansion_GetRarity — yes ✗ none quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:480
ItemBase.CF_OnStoreSave — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:490
ItemBase.CF_OnStoreLoad — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ItemBase.c:502
MagazineStorage.IsCompatiableAmmo — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\Magazine\MagazineStorage.c:15
MissionGameplay.OnInit T3 yes ✓ quests_scripts.pbo::5_Mission\DayZExpansion_Quests\Mission\MissionGameplay.c:22
MissionGameplay.Expansion_OnUpdate — yes ✓ quests_scripts.pbo::5_Mission\DayZExpansion_Quests\Mission\MissionGameplay.c:46
ModItemRegisterCallbacks.RegisterHeavy — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\ModItemRegisterCallbacks.c:15
ModItemRegisterCallbacks.RegisterTwoHanded — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\ModItemRegisterCallbacks.c:22
PlayerBase.EEHitBy T2 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ManBase\PlayerBase.c:235
PlayerBase.EEKilled T3 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ManBase\PlayerBase.c:252
PlayerBase.SetActions T2 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ManBase\PlayerBase.c:260
PlayerBase.ServerReplaceItemWithNew — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Entities\ManBase\PlayerBase.c:304
RecipeBase.SpawnItems — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\Recipes\RecipeBase.c:166
WeaponManager.CanLoadBullet — yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Classes\Weapons\WeaponManager.c:15
ZombieBase.EEHitBy T2 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Creatures\Infected\ZombieBase.c:177
ZombieBase.EEKilled T3 yes ✓ quests_scripts.pbo::4_World\DayZExpansion_Quests\Creatures\Infected\ZombieBase.c:194
Dispatch surfaces and timers the grade prices
surfacetierrate (Hz)rate sourcems/s
ItemBase.OnInventoryEnterT2 130.0measured0.0032
ItemBase.OnInventoryExitT2 130.0measured0.0032
ActionConsume.ActionConditionT2 8.0placeholder0.0002
ActionCoverHeadTarget.ActionConditionT2 8.0placeholder0.0002
ActionForceConsume.ActionConditionT2 8.0placeholder0.0002
ActionGagTarget.ActionConditionT2 8.0placeholder0.0002
ActionRestrainTarget.ActionConditionT2 8.0placeholder0.0002
ActionShaveTarget.ActionConditionT2 8.0placeholder0.0002
ExpansionActionDismissAI.ActionConditionT2 8.0placeholder0.0002
ActionConsumeSingle.ActionConditionT2 8.0placeholder0.0002
ActionForceConsumeSingle.ActionConditionT2 8.0placeholder0.0002
ActionHandcuffTarget.ActionConditionT2 8.0placeholder0.0002
ActionDisinfectTarget.ActionConditionT2 8.0placeholder0.0002
ActionInjectTarget.ActionConditionT2 8.0placeholder0.0002
AnimalBase.EEHitByT2 8.0placeholder0.0002
ZombieBase.EEHitByT2 8.0placeholder0.0002
ItemBase.EEHealthLevelChangedT2 8.0placeholder0.0002
ItemBase.SetActionsT2 8.0placeholder0.0002
PlayerBase.EEHitByT2 8.0placeholder0.0002
PlayerBase.SetActionsT2 8.0placeholder0.0002
AnimalBase.EEKilledT3 0.1placeholder0.0000
ZombieBase.EEKilledT3 0.1placeholder0.0000
PlayerBase.EEKilledT3 0.1placeholder0.0000

Includes 0.004 ms/s from placeholder-rated surfaces.

Load-order constraints (CfgPatches)

What each PBO declares: its addon identity and the addons it requires to be loaded first (requiredAddons). A partial load-order signal from the mod's own metadata.

0_quests_preload.pbo

  • DayZExpansion_Quests_Preload requiredVersion 0.1 — no requiredAddons

languagecore_quests.pbo

  • DayZExpansion_LanguageCore_Quests requiredVersion 0.1 — no requiredAddons

quests_dta_core.pbo

  • DayZExpansion_Quests_Dta_Core requiredVersion 0.1 — requires DZ_Characters, DZ_Scripts, DZ_AI, DayZExpansion_Dta_Core

quests_dta_objects_board.pbo

  • DayZExpansion_Quests_Objects_Boards requiredVersion 0.1 — requires DZ_Data

quests_dta_objects_containers.pbo

  • DayZExpansion_Quests_Objects_Containers requiredVersion 0.1 — requires DZ_Data

quests_gui.pbo

  • DayZExpansion_Quests_GUI requiredVersion 0.1 — requires DayZExpansion_Core

quests_particles.pbo

  • DayZExpansion_Quests_Particles requiredVersion 0.1 — requires DZ_Data

quests_scripts.pbo

  • DayZExpansion_Quests_Scripts requiredVersion 0.1 — requires DayZExpansion_Core_Scripts, DayZExpansion_VanillaFixes_Scripts

census 1.1 · findings 1.1 · hash 7814f70dc5c36170