← modperf · analyzed mods

GRW ER7 Gauss Rifle

The GRW-ER7 Railgun is a faithful recreation of the original RFW ER7 from Arma 2 DayZ Namalsk map. The ER7 is a Linear motor firearm that uses an electromagnetic force to fire a projectile at over 3500 m/s. Requires high capacity Railgun Batteries to fire. If you want to see how certain scripts work, or if you need help please visit the Github and follow the readme. Monetisation: We allow this to be used on… (more)

The GRW-ER7 Railgun is a faithful recreation of the original RFW ER7 from Arma 2 DayZ Namalsk map. The ER7 is a Linear motor firearm that uses an electromagnetic force to fire a projectile at over 3500 m/s. Requires high capacity Railgun Batteries to fire. If you want to see how certain scripts work, or if you need help please visit the Github and follow the readme. Monetisation: We allow this to be used on monetised servers. Repacking: We do not permit repacking of this mod. This item is not authorized for posting on Steam, except under the Steam account https://steamcommunity.com/id/rron113 or as a contributor if direct authorization is given by the author of this item.

Workshop 2307022759 · mod updated 2022-01-14 · analyzed 2026-10-03 02:12 UTC · history · 25 script files

EquipmentSound Workshop tags, chosen by the author

Stall risks
None found

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

Compatibility
11 by design

11 chain breaks, all on specific classes the mod replaces wholesale — matters only if another mod patches the same classes.

Structural footprint 1.1
A
11 by design
Heavier than 39% of 328 scripted mods analyzed.

less than 0.001% of each server frame at 100 players (0.001 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; 22 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
  • This mod
  • 13 mods
    0.0022 to 0.0046 ms/s · grade A
  • 10 mods
    0.0046 to 0.01 ms/s · grade A
  • 5 mods
    0.01 to 0.022 ms/s · grade A
  • 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.8% of this mod's structural load. 0.001 ms/s in all.

99.8%Event hooks · 99.8%
6 hooks · 0.0012 ms/s
Event hooksrun when something happens: an inventory move, a hit, an action 6 hooks 0.0012 ms/s 99.8% AnimalBase.EEHitBy, AnimalBase.OnRPC, ItemBase.EEHitBy and 3 more

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

11 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.

By design
Leaf class · ComponentEnergyManager
ComponentEnergyManager replaced on 11 methods · 11 overrides

Event_OnAwake · PlugCordIntoSocket · ResetEnergyUsage · SetEnergySource · SetMySocketID · SetPlugOwner · SetPowered · StopUpdates · UnplugCordFromSocket · UpdateSocketSelections · WakeUpWholeBranch

Only this class is affected. Matters only if another mod in your stack patches the same class.

1 classComponentEnergyManager
11 locationsScripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:3
Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:186
Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:145
Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:232
Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:361
Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:290
Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:318
Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:153
Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:300
Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:214
Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:163

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.

EEHitBy × 3 classes
per event
no I/O, timers or RPC
OnRPC × 3 classes
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 22 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
AnimalBase.EEHitBy T2 yes ✓ Scripts.pbo::4_World\Namalsk_Weapon\Entities\ItemBase\ER7_Bullet_Teleport.c:38
AnimalBase.OnRPC T2 yes ✓ Scripts.pbo::4_World\Namalsk_Weapon\Entities\ItemBase\ER7_Bullet_Teleport.c:46
ComponentEnergyManager.Event_OnAwake — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:3
ComponentEnergyManager.ResetEnergyUsage — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:145
ComponentEnergyManager.StopUpdates — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:153
ComponentEnergyManager.WakeUpWholeBranch — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:163
ComponentEnergyManager.PlugCordIntoSocket — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:186
ComponentEnergyManager.UpdateSocketSelections — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:214
ComponentEnergyManager.SetEnergySource — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:232
ComponentEnergyManager.PlugInDevice — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:261
ComponentEnergyManager.SetPlugOwner — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:290
ComponentEnergyManager.UnplugCordFromSocket — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:300
ComponentEnergyManager.SetPowered — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:318
ComponentEnergyManager.FindAndConsumeEnergy — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:324
ComponentEnergyManager.GetMySocketID — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:355
ComponentEnergyManager.SetMySocketID — yes ✗ none Scripts.pbo::3_Game\Namalsk_Weapon\ComponentEnergyManager.c:361
EmoteManager.CommitSuicide — yes conditional Scripts.pbo::4_World\Namalsk_Weapon\Entities\DayZPlayer\EmoteManager.c:3
ItemBase.EEHitBy T2 yes ✓ Scripts.pbo::4_World\Namalsk_Weapon\Entities\ItemBase\ER7_Bullet_Teleport.c:3
ItemBase.OnRPC T2 yes ✓ Scripts.pbo::4_World\Namalsk_Weapon\Entities\ItemBase\ER7_Bullet_Teleport.c:11
ModItemRegisterCallbacks.RegisterOneHanded — yes ✓ Scripts.pbo::4_World\Namalsk_Weapon\Entities\DayZPlayer\Anims.c:3
PlayerBase.EEHitBy T2 yes ✓ Scripts.pbo::4_World\Namalsk_Weapon\Entities\ItemBase\ER7_Bullet_Teleport.c:20
PlayerBase.OnRPC T2 yes ✓ Scripts.pbo::4_World\Namalsk_Weapon\Entities\ItemBase\ER7_Bullet_Teleport.c:29
Dispatch surfaces and timers the grade prices
surfacetierrate (Hz)rate sourcems/s
ItemBase.EEHitByT2 8.0placeholder0.0002
ItemBase.OnRPCT2 8.0placeholder0.0002
PlayerBase.EEHitByT2 8.0placeholder0.0002
PlayerBase.OnRPCT2 8.0placeholder0.0002
AnimalBase.EEHitByT2 8.0placeholder0.0002
AnimalBase.OnRPCT2 8.0placeholder0.0002

Includes 0.001 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.

GaussMk2.pbo

  • AmmoBox_ER7RFW requiredVersion 0.1 — requires DZ_Weapons_Magazines, DZ_Weapons_Ammunition
  • Namalsk_Weapon_RailBattery requiredVersion 0.1 — requires DZ_Data, DZ_Weapons_Firearms, DZ_Weapons_Ammunition, DZ_Weapons_Magazines
  • Namalsk_Weapon_GaussMk2 requiredVersion 0.1 — requires DZ_Data, DZ_Weapons_Firearms, DZ_Weapons_Ammunition, DZ_Weapons_Magazines
  • ER7_Scope requiredVersion 0.1 — requires DZ_Data, DZ_Weapons_Optics

Scripts.pbo

  • Namalsk_Weapon_Scripts requiredVersion 0.1 — requires DZ_Scripts, DF_Scripts

census 1.1 · findings 1.1 · hash 2be9b1b1f3fe9ca3