Basic_Territories_Updated
Basic Territories by DaemonForge, updated by Zenarchist. Confirmed stable on 1.22 provided on an “as is” basis. This is an updated version of the Basic Territories Mod, expanding on the vanilla flag pole. Updated to fix the persistent stack trace soft errors. For config details refer to the included Server Admin Guide READ ME.pdf. This mod may receive community updates. With the exception of community submitted… (more)
Basic Territories by DaemonForge, updated by Zenarchist. Confirmed stable on 1.22 provided on an “as is” basis. This is an updated version of the Basic Territories Mod, expanding on the vanilla flag pole. Updated to fix the persistent stack trace soft errors. For config details refer to the included Server Admin Guide READ ME.pdf. This mod may receive community updates. With the exception of community submitted updates this mod is provided on an “as is” basis, no updates are planned unless community submitted. If something is not functioning as intended check the provided documentation, if it’s still not working you are invited to submit fixes as updates. If you are interested in contributing to updating this mod please contact me on Discord. Thank you to those that have contributed as noted in the Community Updates Credits section. With this mod you can: - Claim Territory Flags (Yes Existing Flags Can be Claimed) - Add Members to the Territory, via the Add Member Action the Other Player Must then go up and accept the membership - Restrict Build areas via the config - Provide warnings to players about lifetime expiration to help them fully understand the systems - Prevent dismantling of base items within a players territory - Prevent building near others bases - Utilize Tents as miniature refresh flags(can't claim just used to refresh small radius around them on open and closing) - Integration with Basic Map mod for showing territory on map while placing the territory. - Integration with notifications mod for notifications - If a user logs out while within a territory they are not a member of, they will be pushed outside the territory radius on relog. Territory Permission Calculator Instructions to install - If you're currently running the previous version of Basic Territories, uninstall it. - Install "Basic_Territories_Updated", copy the key to your keys folder. - Config file will be in "/Server/profiles/Zenarchist/ZenTerritoriesConfig.json". - Open both old/new config files and manually copy your settings (do not copy/paste the entire config). - Existing territory flags will have to be replaced. DaemonForge's Discord For More support and information please visit DaemonForge's discord https://discord.gg/BwTp3mg How to Support DaemonForge If you are interested in donating to help support the mod or just buy DaemonForge a beer to keep him motivated you can do so Sponsor DaemonForge On Github Donate to DaemonForge via Paypal Monetization Rules Allowed to be used on monetized servers permitted you follow the below guidelines: - This mod itself is not part of the monetization - You have monetization approval from Bohemia Interactive - Your server is actively listed on by Bohemia Interactive's approved monetized servers list. Community Updates & Credits - Thank you Zenarchist for updating DaemonForge's Basic Territories. - Thank you to ReViQo/redus for identifying and fixing an issue that sometimes allowed players to get infinite refresh rates. - Thank you to Jonnu1547 for updating BBPDismantleFix.pbo for this version of Basic Territories. - Thank you to Toyko, Apostle, LB-Master, and Mijar for Instant flagpole build no nails from dismantle. Original Credits All rights reserved and credits to DaemonForge for the original Basic Territories Mod. I personally take zero credit for the contained mod and am only posting the updated version so that it's accessible to the Dayz Community. Licensing This is open-source software licensed under the terms of The Apache 2.0 license. The Apache 2.0 license allows software developers to alter the source code of existing software's source code, copy the original source code or update the source code. Furthermore, developers can then distribute any copies or modifications that they make of the software's source code. Repacking is highly discouraged however we cannot restrict it per Apache 2.0 licensing terms it was originally published under by DaemonForge.
No file I/O on hot paths, no timers created per event, no per-player-per-frame hooks.
1 chain break, all on specific classes the mod replaces wholesale — matters only if another mod patches the same classes.
less than 0.001% of each server frame at 100 players (0.002 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; 21 others share it. Ranked list.
Event hooks carry 98% of this mod's structural load. 0.002 ms/s in all.
8 hooks · 0.0016 ms/s
9 hooks · 0.000018 ms/s
| Event hooksrun when something happens: an inventory move, a hit, an action | 8 hooks | 0.0016 ms/s | 98% | ActionBuildPart.ActionCondition, ActionDeployObject.ActionCondition, ActionDismantlePart.ActionCondition and 5 more |
| Lifecycle hooksrun when an entity is created, loaded or deleted | 9 hooks | 0.000018 ms/s | 1.1% | ItemBase.AfterStoreLoad, MissionServer.InvokeOnConnect, MissionServer.OnMissionStart and 5 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
1 override 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.
OnFinishProgressServer
Only this class is affected. Matters only if another mod in your stack patches the same class.
1 class
ActionRaiseFlag1 location
ZenTerritories.pbo::scripts\4_World\Actions\ActionsRaiseFlag.c:23Where 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.
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 24 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 |
|---|---|---|---|---|
ActionBuildPart.ActionCondition |
T2 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\Actions\ActionBuildPart.c:3 |
ActionBuildPart.OnFinishProgressServer |
— | yes | ✓ | ZenTerritories.pbo::scripts\4_World\Actions\ActionBuildPart.c:38 |
ActionConstructor.RegisterActions |
— | yes | ✓ | ZenTerritories.pbo::scripts\4_World\Actions\ActionConstructor.c:3 |
ActionDeployObject.ActionCondition |
T2 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\Actions\ActionDeployObject.c:16 |
ActionDeployObject.OnEndClient |
— | yes | ✓ | ZenTerritories.pbo::scripts\4_World\Actions\ActionDeployObject.c:87 |
ActionDismantlePart.ActionCondition |
T2 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\Actions\ActionDismantlePart.c:3 |
ActionLowerFlag.ActionCondition |
T2 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\Actions\ActionsLowerFlag.c:3 |
ActionRaiseFlag.ActionCondition |
T2 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\Actions\ActionsRaiseFlag.c:3 |
ActionRaiseFlag.OnFinishProgressServer |
— | yes | ✗ none | ZenTerritories.pbo::scripts\4_World\Actions\ActionsRaiseFlag.c:23 |
ItemBase.AfterStoreLoad |
T3 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\ItemBase.c:26 |
MissionGameplay.OnMissionStart |
T3 | yes | ✓ | ZenTerritories.pbo::scripts\5_Mission\mission\MissionGameplay.c:8 |
MissionServer.OnMissionStart |
T3 | yes | ✓ | ZenTerritories.pbo::scripts\5_Mission\mission\MissionServer.c:3 |
MissionServer.InvokeOnConnect |
T3 | yes | ✓ | ZenTerritories.pbo::scripts\5_Mission\mission\MissionServer.c:25 |
MissionServer.InvokeOnConnect |
T3 | yes | ✓ | ZenUtilities.pbo::scripts\5_mission\MissionServer.c:4 |
PlayerBase.EEHitBy |
T2 | yes | ✓ | ZenUtilities.pbo::scripts\4_world\entities\manbase\PlayerBase.c:24 |
PlayerBase.EEKilled |
T3 | yes | ✓ | ZenUtilities.pbo::scripts\4_world\entities\manbase\PlayerBase.c:45 |
TentBase.EEOnCECreate |
— | yes | ✓ | ZenTerritories.pbo::scripts\4_World\TentBase.c:3 |
TentBase.ToggleAnimation |
— | yes | ✓ | ZenTerritories.pbo::scripts\4_World\TentBase.c:18 |
TerritoryFlag.EEInit |
T3 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\TerritoryFlag.c:26 |
TerritoryFlag.OnStoreSave |
T3 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\TerritoryFlag.c:176 |
TerritoryFlag.OnStoreLoad |
T3 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\TerritoryFlag.c:183 |
TerritoryFlag.AfterStoreLoad |
T3 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\TerritoryFlag.c:208 |
TerritoryFlag.OnRPC |
T2 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\TerritoryFlag.c:246 |
TerritoryFlag.SetActions |
T2 | yes | ✓ | ZenTerritories.pbo::scripts\4_World\TerritoryFlag.c:339 |
Dispatch surfaces and timers the grade prices
| surface | tier | rate (Hz) | rate source | ms/s |
|---|---|---|---|---|
ActionBuildPart.ActionCondition | T2 | 8.0 | placeholder | 0.0002 |
ActionDeployObject.ActionCondition | T2 | 8.0 | placeholder | 0.0002 |
ActionDismantlePart.ActionCondition | T2 | 8.0 | placeholder | 0.0002 |
ActionLowerFlag.ActionCondition | T2 | 8.0 | placeholder | 0.0002 |
ActionRaiseFlag.ActionCondition | T2 | 8.0 | placeholder | 0.0002 |
TerritoryFlag.OnRPC | T2 | 8.0 | placeholder | 0.0002 |
TerritoryFlag.SetActions | T2 | 8.0 | placeholder | 0.0002 |
PlayerBase.EEHitBy | T2 | 8.0 | placeholder | 0.0002 |
ItemBase.AfterStoreLoad | T3 | 0.1 | placeholder | 0.0000 |
TerritoryFlag.EEInit | T3 | 0.1 | placeholder | 0.0000 |
TerritoryFlag.OnStoreSave | T3 | 0.1 | placeholder | 0.0000 |
TerritoryFlag.OnStoreLoad | T3 | 0.1 | placeholder | 0.0000 |
TerritoryFlag.AfterStoreLoad | T3 | 0.1 | placeholder | 0.0000 |
MissionServer.OnMissionStart | T3 | 0.1 | placeholder | 0.0000 |
MissionServer.InvokeOnConnect | T3 | 0.1 | placeholder | 0.0000 |
PlayerBase.EEKilled | T3 | 0.1 | placeholder | 0.0000 |
MissionServer.InvokeOnConnect | T3 | 0.1 | placeholder | 0.0000 |
Includes 0.002 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.
ZenTerritories.pbo
ZenTerritoriesrequiredVersion 0.1 — requiresJM_CF_Scripts
ZenUtilities.pbo
ZenUtilitiesrequiredVersion 0.1 — requiresDZ_Data,DZ_Scripts,DZ_Gear_Books
census 1.1 · findings 1.1 · hash 0f62fbec6fc6887a