Sentinel Enforcer - Expansion
Sentinel Enforcer - Expansion Optional addon for Sentinel Enforcer. Adds event capture for the four DayZ-Expansion sub-mods: Market, Groups, Hardline, Quests. Requires: Sentinel Enforcer (the core mod) At least one of: DayZ-Expansion-Market, DayZ-Expansion-Groups, DayZ-Expansion-Hardline, DayZ-Expansion-Quests This addon does nothing on its own - install the core mod first. Events added Sub-modEvents… (more)
Sentinel Enforcer - Expansion Optional addon for Sentinel Enforcer. Adds event capture for the four DayZ-Expansion sub-mods: Market, Groups, Hardline, Quests. Requires: Sentinel Enforcer (the core mod) At least one of: DayZ-Expansion-Market, DayZ-Expansion-Groups, DayZ-Expansion-Hardline, DayZ-Expansion-Quests This addon does nothing on its own - install the core mod first. Events added Sub-modEvents Marketmarket.purchase, market.sell (with item, price, trader zone) Groupsgroup.member_joined, group.member_removed, group.invite_declined Hardlinehardline.reputation_changed (with delta + before/after total) Questsquest.completed (with quest ID, title, follow-up) Each sub-mod's hooks are gated by its EXPANSIONMOD<X> preprocessor define - install only the Expansion sub-mods you actually run, and only those event types fire. Installation Install Sentinel Enforcer (core) first Subscribe to this addon Add to launch params: -mod=@SentinelEnforcer;@SentinelEnforcer_Expansion Drop keys/sentinel_enforcer.bikey (same key as the core mod) into your server's keys/ directory That's it. No configuration. The addon registers itself with the core mod at boot and the new event types start flowing alongside the vanilla ones. Self-test The core mod emits an addon.health_report event 5 seconds after server boot. After installing this addon you should see "registered": [{"name": "expansion", ...}] in that event on your dashboard. If expansion shows up under failed instead, that means the addon's mod folder loaded but its scripts didn't compile - usually a sign that DayZ-Expansion shipped a breaking change. Report it via the dayz.fyi Discord; we ship hotfixes within a day or two for known incompatibilities. Support dayz.fyi Discord (link in the footer at dayz.fyi)
No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.
Every server-visible override preserves its chain.
less than 0.001% of each server frame at 100 players (0.000 ms/s). Counts hook dispatch and timers only, not what the hooks do inside. Methodology.
Structural load of the 328 scripted mods analyzed, lightest on the left. This mod's bar is lit; 23 others share it. Ranked list.
Lifecycle hooks carry 81% of this mod's structural load. 0.000 ms/s in all.
1 hook · 0.000002 ms/s
| Lifecycle hooksrun when an entity is created, loaded or deleted | 1 hook | 0.000002 ms/s | 81% | MissionServer.OnInit |
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.
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.
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 9 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.
| method | surface | server | super() | where |
|---|---|---|---|---|
ExpansionMarketModule.Exec_ConfirmPurchase |
— | yes | ✓ | sentinel_addon_expansion.pbo::scripts\4_World\capture\ExpansionMarketHook.c:157 |
ExpansionMarketModule.Exec_ConfirmSell |
— | yes | ✓ | sentinel_addon_expansion.pbo::scripts\4_World\capture\ExpansionMarketHook.c:168 |
ExpansionPartyData.AcceptInvite |
— | yes | ✓ | sentinel_addon_expansion.pbo::scripts\4_World\capture\ExpansionGroupsHook.c:27 |
ExpansionPartyData.DeclineInvite |
— | yes | ✓ | sentinel_addon_expansion.pbo::scripts\4_World\capture\ExpansionGroupsHook.c:34 |
ExpansionPartyData.RemoveMember |
— | yes | ✓ | sentinel_addon_expansion.pbo::scripts\4_World\capture\ExpansionGroupsHook.c:41 |
ExpansionQuestModule.CompleteQuest |
— | yes | ✓ | sentinel_addon_expansion.pbo::scripts\4_World\capture\ExpansionQuestsHook.c:25 |
ExpansionTerritory.AddMember |
— | yes | ✓ | sentinel_addon_expansion.pbo::scripts\4_World\capture\ExpansionTerritoryHook.c:33 |
ExpansionTerritory.RemoveMember |
— | yes | ✓ | sentinel_addon_expansion.pbo::scripts\4_World\capture\ExpansionTerritoryHook.c:39 |
MissionServer.OnInit |
T3 | yes | ✓ | sentinel_addon_expansion.pbo::scripts\5_Mission\_register.c:11 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
MissionServer.OnInit | T3 | 0.1 | placeholder | 0.0000 |
Includes 0.000 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.
sentinel_addon_expansion.pbo
SentinelAddon_ExpansionrequiredVersion 0.1 — requiresSentinelEnforcer,DayZExpansion_Core
census 1.1 · findings 1.1 · hash 78a939d6b3c5b98e