GarbageSearch
**UPDATE** Removed 'temp fix' for BIs messup with 1.18.. all works properly now. Changed to vanilla notication system when finding stuff. If you get errors about STATICFIX, you’ll need to remove that PBO manualy, Steam is supposed to remove it but sometimes doesn’t. Adds the ability to search for random drinks, food and low end items in garbage bins and piles located on the map. Currently this is for Chernarus,… (more)
**UPDATE** Removed 'temp fix' for BIs messup with 1.18.. all works properly now. Changed to vanilla notication system when finding stuff. If you get errors about STATICFIX, you’ll need to remove that PBO manualy, Steam is supposed to remove it but sometimes doesn’t. Adds the ability to search for random drinks, food and low end items in garbage bins and piles located on the map. Currently this is for Chernarus, Livonia, and DeerIsle only. more maps to come! ALL MAPS! Allows up to 40 custom items to be found, meaning you can use ANY item from other mods as well! Make sure not to cut yourself when searching the trash, use gloves! And a mask might help with the revolting stench NEW: Dynamic Maps!! It is now dynamic to ALL maps(so far) Now will find custom placed garbage bins using bldr_ Items. Added server config into the server profile folder. Allows to turn on and off debug logs (can help increase server start time when disabled) Allows to add up to 40diff itemsto be found during a search. NOTE: Make sure to restart the server TWICE after making changes. TODO: Add more maps. Separate items in to catogorys for diff chances to find This is a WIP! Please report any issue you come across! Other Mods: [] -Removes muffled voice from helemts and gas masks [] -Adds ability to salvage parts and fuel from wrecks, and fuel from active cars. []-Adds ability to search vending machiens for drinks. USAGE & TERMS: - You may not repack or publish this mod on any platform including Steam. PERMISSION IS NOT GRANTED FOR THIS MOD TO BE INCLUDED IN A "SERVER PACK" or "MOD PACK". Use a Collection if you want to include this mod on your server for your users. Copyright © 2020 Zedmag Please consider donating, Thank you!
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.
0.00252% of each server frame at 100 players (0.025 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; 17 others share it. Ranked list.
Every-frame hooks carry 98% of this mod's structural load. 0.025 ms/s in all.
1 hook · 0.025 ms/s
2 hooks · 0.0004 ms/s
2 hooks · 0.000004 ms/s
| Every-frame hooksrun every server frame | 1 hook | 0.025 ms/s | 98% | MissionServer.OnUpdate |
| Event hooksrun when something happens: an inventory move, a hit, an action | 2 hooks | 0.0004 ms/s | 1.6% | PlayerBase.SetActions |
| Lifecycle hooksrun when an entity is created, loaded or deleted | 2 hooks | 0.000004 ms/s | <0.1% | MissionBaseWorld.OnInit, 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.
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.
Other findings
Several overrides of one hot surface · 1 · info
- 2 overrides of PlayerBase.SetActions within this mod.
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 6 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 | ✓ | GarbageSearch.pbo::scripts\4_World\ActionConstructor.c:14 |
MissionBaseWorld.OnInit |
T3 | yes | ✓ | ServerConfig_GS.pbo::scripts\4_World\ConfigWrite.c:44 |
MissionServer.OnInit |
T3 | yes | ✓ | ServerConfig_GS.pbo::scripts\5_Mission\MissionTest.c:4 |
MissionServer.OnUpdate |
T0 | yes | ✓ | ServerConfig_GS.pbo::scripts\5_Mission\MissionTest.c:13 |
PlayerBase.SetActions |
T2 | yes | ✓ | GarbageSearch.pbo::scripts\4_World\PlayerBase.c:9 |
PlayerBase.SetActions |
T2 | yes | ✓ | GarbageSearch.pbo::scripts\4_World\PlayerBase.c:17 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
MissionServer.OnUpdate | T0 | 1000.0 | measured | 0.0248 |
PlayerBase.SetActions | T2 | 8.0 | placeholder | 0.0002 |
PlayerBase.SetActions | T2 | 8.0 | placeholder | 0.0002 |
MissionBaseWorld.OnInit | T3 | 0.1 | placeholder | 0.0000 |
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.
GarbageSearch.pbo
GarbageSearch— requiresDZ_Data
ServerConfig_GS.pbo
ServerConfig_GS— requiresDZ_Data,GarbageSearch
census 1.1 · findings 1.1 · hash 5f0e3d87cce2b186