Basic Territories
Basic Territories This is a Basic Territories mod, expanding on the vanilla flag pole, this mod is basic and is going to stay this way, for a more full featured version that will come in a future Base Building Plus update. 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… (more)
Basic Territories This is a Basic Territories mod, expanding on the vanilla flag pole, this mod is basic and is going to stay this way, for a more full featured version that will come in a future Base Building Plus update. 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 you are using this mod with vanilla damage enabled you can also configure a raid handler to help you balance and log vanilla raiding. Territory Permission Calculator This is used to calculate the permission for either public and members https://daemonforge.dev/Calc/ Discord For More support and information please visit my discord https://discord.gg/BwTp3mg Monetization Rules Allowed to be used on monetized servers as long as you have monetization approval from Bohemia Interactive How to Support Me If you are interested in donating to help support the mod or just buy me a beer to keep me motivated you can do so Sponsor Me On Github Donate via Paypal Want More flags? Check out Flagtr0pia by @3ntr0pia gives a bunch of flags for a bunch of countries https://steamcommunity.com/sharedfiles/filedetails/?id=2419776583
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.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 99% of this mod's structural load. 0.002 ms/s in all.
8 hooks · 0.0016 ms/s
6 hooks · 0.000012 ms/s
| Event hooksrun when something happens: an inventory move, a hit, an action | 8 hooks | 0.0016 ms/s | 99% | ActionBuildPart.ActionCondition, ActionDeployObject.ActionCondition, ActionDismantlePart.ActionCondition and 5 more |
| Lifecycle hooksrun when an entity is created, loaded or deleted | 6 hooks | 0.000012 ms/s | 0.7% | ItemBase.AfterStoreLoad, MissionServer.OnMissionStart, TerritoryFlag.AfterStoreLoad 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.
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.
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 21 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 | ✓ | BasicTerritories.pbo::scripts\4_World\Actions\ActionBuildPart.c:3 |
ActionBuildPart.OnFinishProgressServer |
— | yes | ✓ | BasicTerritories.pbo::scripts\4_World\Actions\ActionBuildPart.c:28 |
ActionConstructor.RegisterActions |
— | yes | ✓ | BasicTerritories.pbo::scripts\4_World\Actions\ActionConstructor.c:6 |
ActionDeployObject.ActionCondition |
T2 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\Actions\ActionDeployObject.c:15 |
ActionDeployObject.OnEndClient |
— | yes | ✓ | BasicTerritories.pbo::scripts\4_World\Actions\ActionDeployObject.c:66 |
ActionDismantlePart.ActionCondition |
T2 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\Actions\ActionDismantlePart.c:3 |
ActionLowerFlag.ActionCondition |
T2 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\Actions\ActionsLowerFlag.c:3 |
ActionRaiseFlag.ActionCondition |
T2 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\Actions\ActionsRaiseFlag.c:11 |
ActionRaiseFlag.OnFinishProgressServer |
— | yes | ✓ | BasicTerritories.pbo::scripts\4_World\Actions\ActionsRaiseFlag.c:26 |
BaseBuildingBase.EEHitBy |
T2 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\BaseBuildingBase.c:4 |
ItemBase.AfterStoreLoad |
T3 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\ItemBase.c:25 |
MissionGameplay.OnMissionStart |
T3 | yes | ✓ | BasicTerritories.pbo::scripts\5_Mission\mission\MissionGameplay.c:7 |
MissionServer.OnMissionStart |
T3 | yes | ✓ | BasicTerritories.pbo::scripts\5_Mission\mission\MissionServer.c:3 |
TentBase.EEOnCECreate |
— | yes | ✓ | BasicTerritories.pbo::scripts\4_World\TentBase.c:3 |
TentBase.ToggleAnimation |
— | yes | ✓ | BasicTerritories.pbo::scripts\4_World\TentBase.c:19 |
TerritoryFlag.EEInit |
T3 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\TerritoryFlag.c:35 |
TerritoryFlag.OnStoreSave |
T3 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\TerritoryFlag.c:165 |
TerritoryFlag.OnStoreLoad |
T3 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\TerritoryFlag.c:174 |
TerritoryFlag.AfterStoreLoad |
T3 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\TerritoryFlag.c:195 |
TerritoryFlag.OnRPC |
T2 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\TerritoryFlag.c:243 |
TerritoryFlag.SetActions |
T2 | yes | ✓ | BasicTerritories.pbo::scripts\4_World\TerritoryFlag.c:310 |
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 |
BaseBuildingBase.EEHitBy | T2 | 8.0 | placeholder | 0.0002 |
TerritoryFlag.OnRPC | T2 | 8.0 | placeholder | 0.0002 |
TerritoryFlag.SetActions | 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 |
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.
BasicTerritories.pbo
BasicTerritoriesrequiredVersion 0.1 — requiresGameLabs_Scripts,BasicMap,BasicTerritoriesDefine,JM_CF_Scripts
BasicTerritoriesDefines.pbo
BasicTerritoriesDefinerequiredVersion 0.1 — no requiredAddons
census 1.1 · findings 1.1 · hash 2edd3708465bdf35