DayZ-Expansion-Weapons
Features DayZ Expansion Weapons is a pack of Firearms and optics. New Weapons: - Crossbow - RPG-7 - M72 LAW - M79 grenade launcher - Taser X2 Defender - M9 - Karabiner 98K - Vityaz-SN PP19-01 - MP7 - Beneli M4 - DT11 - M14 Springfield - M1A SOCOM - PP-91 KEDR - MP5A2 - MP5SD - AWM - M16A4 - G36C New Optics: - EOTech XPS3 HoloSight - Karabiner98K Scope - Walther MRS Sight - Leupold Mark 4 HAMR Scope - SB PMII 25x… (more)
Features DayZ Expansion Weapons is a pack of Firearms and optics. New Weapons: - Crossbow - RPG-7 - M72 LAW - M79 grenade launcher - Taser X2 Defender - M9 - Karabiner 98K - Vityaz-SN PP19-01 - MP7 - Beneli M4 - DT11 - M14 Springfield - M1A SOCOM - PP-91 KEDR - MP5A2 - MP5SD - AWM - M16A4 - G36C New Optics: - EOTech XPS3 HoloSight - Karabiner98K Scope - Walther MRS Sight - Leupold Mark 4 HAMR Scope - SB PMII 25x Sniper Scope New Grenades: - TearGas Grenade - M79 TearGas Grenade 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/
Patterns that can stall a single frame regardless of the load figure — see below.
2 chain breaks on base classes or persisted data.
0.0177% of each server frame at 100 players (0.177 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; 40 others share it. Ranked list.
Per-player hooks carry 84% of this mod's structural load. 0.177 ms/s in all.
1 hook · 0.025 ms/s
2 hooks · 0.15 ms/s
3 hooks · 0.0036 ms/s
| Every-frame hooksrun every server frame | 1 hook | 0.025 ms/s | 14% | ExpansionWorld.OnUpdate |
| Per-player hooksrun about 30 times a second for each player | 2 hooks | 0.15 ms/s | 84% | DayZPlayerImplement.HandleWeapons, PlayerBase.EOnFrame |
| Event hooksrun when something happens: an inventory move, a hit, an action | 3 hooks | 0.0036 ms/s | 2.0% | Weapon_Base.OnInventoryExit, PlayerBase.EEHitBy, Weapon_Base.SetActions |
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.
PlayerBase.EOnFrame T1
Vanilla's work on this method, and any earlier-loaded mod's, never runs for any PlayerBase.
weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\ManBase\PlayerBase.c:39Weapon_Base.UpdateLaser
Vanilla's work on this method, and any earlier-loaded mod's, never runs for any Weapon_Base.
weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\Weapons\Weapon_Base.c:47Where 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.
Other findings
super() only on some paths · 2 · warning
- RecoilBase.PostInit calls super.PostInit() only on some paths — on the others the chain below this mod is dropped.
weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\Weapons\RecoilBase.c:3 - UniversalLight.CanPutAsAttachment returns true without consulting super.CanPutAsAttachment() on some paths — vanilla's conditions and every earlier-loaded mod's vetoes are bypassed there.
weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\Weapons\UniversalLight.c:15
- RecoilBase.PostInit calls super.PostInit() only on some paths — on the others the chain below this mod is dropped.
Per-player-per-frame hooks · 2 · warning
- DayZPlayerImplement.HandleWeapons runs once per player per tick (~30 Hz/player): cost scales with population on the hottest per-player surface.
weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\ManBase\DayZPlayerImplement.c:17 - PlayerBase.EOnFrame runs once per player per tick (~30 Hz/player): cost scales with population on the hottest per-player surface.
weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\ManBase\PlayerBase.c:39
- DayZPlayerImplement.HandleWeapons runs once per player per tick (~30 Hz/player): cost scales with population on the hottest per-player surface.
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 25 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 |
|---|---|---|---|---|
ActionConstructor.RegisterActions |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\UserActionsComponent\ActionConstructor.c:21 |
DayZPlayerImplement.HandleWeapons |
T1 | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\ManBase\DayZPlayerImplement.c:17 |
ExpansionWorld.OnUpdate |
T0 | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\ExpansionWorld.c:18 |
ExpansionWorld.FirearmEffects |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\ExpansionWorld.c:36 |
ModItemRegisterCallbacks.RegisterEmptyHanded |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:3 |
ModItemRegisterCallbacks.RegisterTwoHanded |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:8 |
ModItemRegisterCallbacks.RegisterOneHanded |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:13 |
ModItemRegisterCallbacks.RegisterRestrained |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:47 |
ModItemRegisterCallbacks.RegisterSurrender |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:52 |
ModItemRegisterCallbacks.RegisterHeavy |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:57 |
ModItemRegisterCallbacks.RegisterPistol |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:62 |
ModItemRegisterCallbacks.RegisterFireArms |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:69 |
ModItemRegisterCallbacks.RegisterArcheryItem |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:93 |
ModItemRegisterCallbacks.RegisterLauncher |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:98 |
ModItemRegisterCallbacks.CustomBoneRemapping |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\JMAnimRegister.c:103 |
PlayerBase.EEHitBy |
T2 | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\ManBase\PlayerBase.c:17 |
PlayerBase.EOnFrame |
T1 | yes | ✗ none | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\ManBase\PlayerBase.c:39 |
PluginRecipesManager.RegisterRecipies |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\Recipes\PluginRecipesManager.c:18 |
PluginRecipesManagerBase.RegisterRecipies |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\Recipes\ExpansionCraftStickySmoke.c:98 |
RecoilBase.PostInit |
— | yes | conditional | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\Weapons\RecoilBase.c:3 |
UniversalLight.CanPutAsAttachment |
— | yes | conditional | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\Weapons\UniversalLight.c:15 |
Weapon_Base.OnInventoryExit |
T2 | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\Weapons\Weapon_Base.c:40 |
Weapon_Base.UpdateLaser |
— | yes | ✗ none | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\Weapons\Weapon_Base.c:47 |
Weapon_Base.SetActions |
T2 | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Entities\Weapons\Weapon_Base.c:67 |
WeaponFire.OnEntry |
— | yes | ✓ | weapons_scripts.pbo::4_World\DayZExpansion_Weapons\Classes\Weapons\WeaponFire.c:16 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
DayZPlayerImplement.HandleWeapons | T1 | 3000.0 | measured | 0.0744 |
PlayerBase.EOnFrame | T1 | 3000.0 | measured | 0.0744 |
ExpansionWorld.OnUpdate | T0 | 1000.0 | measured | 0.0248 |
Weapon_Base.OnInventoryExit | T2 | 130.0 | measured | 0.0032 |
PlayerBase.EEHitBy | T2 | 8.0 | placeholder | 0.0002 |
Weapon_Base.SetActions | T2 | 8.0 | placeholder | 0.0002 |
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.
0_weapons_preload.pbo
DayZExpansion_Weapons_PreloadrequiredVersion 0.1 — no requiredAddons
languagecore_weapons.pbo
DayZExpansion_LanguageCore_WeaponsrequiredVersion 0.1 — no requiredAddons
objects_weapons_attachments_lasers_anpeq.pbo
Expansion_Lasers_ANPEQ15requiredVersion 0.1 — requiresDZ_Data
objects_weapons_attachments_lasers_impacts.pbo
Expansion_Lasers_ImpactsrequiredVersion 0.1 — requiresDZ_Weapons_Melee
objects_weapons_attachments_optics_deltapoint.pbo
DayZExpansion_Weapons_Optics_DeltaPointrequiredVersion 0.1 — requiresDZ_Weapons_Optics
objects_weapons_attachments_optics_exps3.pbo
DayZExpansion_EXPS3HoloOpticrequiredVersion 0.1 — requiresDZ_Weapons_OpticsDayZExpansion_EXPS3HoloOpticrequiredVersion 0.1 — requiresDZ_Weapons_Optics
objects_weapons_attachments_optics_hamr.pbo
DayZExpansion_HAMROpticrequiredVersion 0.1 — requiresDZ_Weapons_Optics
objects_weapons_attachments_optics_kar98scope.pbo
DayZExpansion_Kar98ScopeOpticrequiredVersion 0.1 — requiresDZ_Weapons_Optics
objects_weapons_attachments_optics_pmii25x.pbo
DayZExpansion_PMII25OpticrequiredVersion 0.1 — requiresDZ_Weapons_Optics
objects_weapons_attachments_optics_reflex.pbo
DayZExpansion_ReflexOpticrequiredVersion 0.1 — requiresDZ_Weapons_Optics
objects_weapons_attachments_support_kar98bayonet.pbo
DayZExpansion_Kar98BayonetrequiredVersion 0.1 — requiresDZ_Weapons_Muzzles
objects_weapons_attachments_support_stanag60.pbo
DayZExpansion_Stanag60RNDrequiredVersion 0.1 — requiresDZ_Weapons_MagazinesDayZExpansion_Stanag60RNDrequiredVersion 0.1 — requiresDZ_Weapons_Magazines
objects_weapons_firearms_archery_crossbow.pbo
DayZExpansion_CrossbowrequiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_flaregun.pbo
DayZExpansion_Objects_Firearms_FlaregunrequiredVersion 0.1 — requiresDZ_Pistols_Flaregun
objects_weapons_firearms_law.pbo
DayZExpansion_Objects_Firearms_LAWrequiredVersion 0.1 — requiresDZ_Weapons_Firearms,DayZExpansion_Sounds_Weapons_RPG7
objects_weapons_firearms_m79.pbo
DayZExpansion_M79requiredVersion 0.1 — requiresDZ_Weapons_Launchers_M79
objects_weapons_firearms_pistols_m9.pbo
DayZExpansion_M9requiredVersion 0.1 — requiresDZ_Pistols
objects_weapons_firearms_pistols_x2taser.pbo
DayZExpansion_Weapons_Pistols_TaserrequiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_rifles_g36.pbo
DayZExpansion_Weapons_Rifles_G36requiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_rifles_m14.pbo
DayZExpansion_Weapons_Rifles_M14requiredVersion 0.1 — requiresDZ_Weapons_Firearms_M14
objects_weapons_firearms_rifles_m16.pbo
DayZExpansion_Weapons_Rifles_M16requiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_rifles_m1a.pbo
DayZExpansion_Weapons_Rifles_M1ArequiredVersion 0.1 — requiresDZ_Weapons_Firearms,DZ_Scripts,DayZExpansion_PMII25Optic
objects_weapons_firearms_rpg7.pbo
DayZExpansion_Objects_Firearms_RPG7requiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_shotguns_dt11.pbo
DayZExpansion_Weapons_Shotguns_DT11requiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_shotguns_remore.pbo
DayZExpansion_Weapons_Shotguns_BenelliM4requiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_smg_gtm.pbo
DayZExpansion_Weapons_SMG_MPXrequiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_smg_mp5.pbo
DayZExpansion_Weapons_SMG_MP5requiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_smg_mp7.pbo
DayZExpansion_Weapons_SMG_MP7requiredVersion 0.1 — requiresDZ_Weapons_Firearms_cz61
objects_weapons_firearms_smg_p99.pbo
DayZExpansion_Weapons_SMG_KedrrequiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_smg_vityazsn.pbo
DayZExpansion_Weapons_SMG_VityazSNrequiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_sniper_awm.pbo
DayZExpansion_Weapons_Sniper_AWMrequiredVersion 0.1 — requiresDayZExpansion_PMII25Optic
objects_weapons_firearms_sniper_kar98.pbo
DayZExpansion_Kar98requiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_vanilla_override.pbo
DayZExpansion_Weapons_Firearms_Vanilla_OverriderequiredVersion 0.1 — requiresDZ_Weapons_FirearmsDayZExpansion_Weapons_Firearms_Vanilla_OverriderequiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_firearms_vanilla_skins.pbo
DayZExpansion_Weapons_Firearms_Vanilla_SkinsrequiredVersion 0.1 — requiresDZ_Weapons_Firearms
objects_weapons_throwables_smokes.pbo
DayZExpansion_SmokeGrenadesrequiredVersion 0.1 — requiresDZ_Weapons_ExplosivesDayZExpansion_SmokeGrenadesrequiredVersion 0.1 — requiresDZ_Weapons_Explosives
skins_weapons.pbo
DayZExpansion_SkinsrequiredVersion 0.1 — requiresDayZExpansion_Weapons_Scripts
sounds_weapons_crossbow.pbo
DayZExpansion_Sounds_Weapons_CrossbowrequiredVersion 0.1 — requiresDZ_Sounds_EffectsDayZExpansion_Sounds_Weapons_CrossbowrequiredVersion 0.1 — requiresDZ_Sounds_Effects
sounds_weapons_kar98.pbo
DayZExpansion_Sounds_Weapons_Kar98requiredVersion 0.1 — requiresDZ_Sounds_EffectsDayZExpansion_Sounds_Weapons_Kar98requiredVersion 0.1 — requiresDZ_Sounds_Effects
sounds_weapons_m79.pbo
DayZExpansion_Sounds_Weapons_M79requiredVersion 0.1 — requiresDZ_Characters,DZ_Sounds_EffectsDayZExpansion_Sounds_Weapons_M79requiredVersion 0.1 — requiresDZ_Characters,DZ_Sounds_Effects
sounds_weapons_ricochet.pbo
DayZExpansion_Sounds_Weapons_RicochetrequiredVersion 0.1 — requiresDZ_Sounds_Effects
sounds_weapons_rpg7.pbo
DayZExpansion_Sounds_Weapons_RPG7requiredVersion 0.1 — requiresDZ_Sounds_EffectsDayZExpansion_Sounds_Weapons_RPG7requiredVersion 0.1 — requiresDZ_Sounds_Effects
weapons_animations_player.pbo
DayZExpansion_Weapons_AnimationsrequiredVersion 0.1 — requiresDZ_Anims_Anm_Player,DZ_Anims_Cfg
weapons_scripts.pbo
DayZExpansion_Weapons_ScriptsrequiredVersion 0.1 — requiresDayZExpansion_Core_Scripts
census 1.1 · findings 1.1 · hash 7debf55a36ce07d7