-
Notifications
You must be signed in to change notification settings - Fork 0
Upgrade Queue Server Loop Reference
Source-verified 2026-06-21 against then-current master cf2a6d6a4; current origin/master is 0139a346, so recheck cited paths before current-head claims. Paths relative to Missions/[55-2hc]warfarev2_073v48co.chernarus/ unless noted. Arma 2 OA 1.64.
Server/FSM/upgradeQueue.sqf is the server-side driver introduced with PR8 that lets commanders queue upgrades for automatic sequential execution. Every 5 seconds it walks each present side's queue, applies stacking semantics, and fires the first startable entry via WFBE_SE_FNC_ProcessUpgrade. It is the only code path that does so outside of direct player interaction (RequestUpgrade) and the AI commander (Server_AI_Com_Upgrade.sqf).
upgradeQueue.sqf is launched via [] ExecVM "Server\FSM\upgradeQueue.sqf" from within the deferred spawn block in Init_Server.sqf:532 — the same block that also starts updateresources.sqf and server_side_patrols.sqf. This block waits on townInit before executing, so the queue loop never starts before town initialization completes.
The loop guard is while {!gameOver} (Server/FSM/upgradeQueue.sqf:25). Each iteration ends with sleep _interval (upgradeQueue.sqf:121), giving a fixed 5-second tick (upgradeQueue.sqf:22).
Per-side queue variables are written during Init_Server.sqf side-logic initialization:
| Variable | Initial value | Broadcast | Source |
|---|---|---|---|
wfbe_upgrade_queue |
[] |
true |
Server/Init/Init_Server.sqf:370 |
wfbe_upgrading |
false |
true |
Server/Init/Init_Server.sqf:367 |
wfbe_upgrading_id |
-1 |
true |
Server/Init/Init_Server.sqf:369 |
All three are stored on the side-logic object returned by WFBE_CO_FNC_GetSideLogic.
{
_logik = (_x) Call WFBE_CO_FNC_GetSideLogic;
if (!isNull _logik && {!(_logik getVariable ["wfbe_upgrading", false])}) then {
...
};
} forEach WFBE_PRESENTSIDES;(upgradeQueue.sqf:26-119)
WFBE_PRESENTSIDES is a global array built in Common/Init/Init_Common.sqf:275-283 containing every side that has a present logic object (west, east, and/or resistance). The getVariable default-value form is intentional: the comment at upgradeQueue.sqf:28-30 explicitly documents that a resistance side can appear in WFBE_PRESENTSIDES while its logic never received the queue variables (a future three-way setup scenario). The defaults prevent a nil crash in that case.
The outer guard skips a side entirely if:
-
_logikis null — the side has no logic object. -
wfbe_upgradingistrue— an upgrade is already running for that side.
_dual = (missionNamespace getVariable "WFBE_C_ECONOMY_CURRENCY_SYSTEM") == 0;(upgradeQueue.sqf:23)
WFBE_C_ECONOMY_CURRENCY_SYSTEM is a mission parameter (Rsc/Parameters.hpp:159) with values 0 = Supply+Funds (dual) or 1 = Funds-only. When _dual is true the loop checks both side supply and commander team funds for affordability and deducts both on start. When false only the funds check applies.
For each eligible side the loop takes a deep copy of the queue (+ (_logik getVariable ["wfbe_upgrade_queue", []]), upgradeQueue.sqf:32), then iterates all entries with a for "_k" loop — not forEach, deliberately, because _x is bound to the current side from the enclosing forEach WFBE_PRESENTSIDES and must not be shadowed (upgradeQueue.sqf:45).
The loop tracks four state variables:
| Variable | Role |
|---|---|
_seen |
Array of upgrade IDs already encountered this tick |
_startIdx |
Index of the entry selected to start; -1 = nothing found yet |
_stop |
When true, stop scanning (affordability block) |
_dirty |
When true, stale entries were marked and need flushing |
For each queue entry, the scan applies the following rules in order:
if !(_id in _seen) then {
_seen = _seen + [_id];
...
} // else: skip silently(upgradeQueue.sqf:48-87)
Duplicate copies of the same upgrade ID in the queue represent "one more level" (queuing [LF, LF, LF] will run Light Factories 1→2→3 across three ticks). On any single tick only the first occurrence of an ID can be selected; later copies are silently skipped. They become actionable on subsequent ticks once the first copy has been processed.
if (_current >= (_levels select _id)) then {
_queue set [_k, objNull];
_dirty = true;
};(upgradeQueue.sqf:52-55)
If the live upgrade level already equals or exceeds the configured max level for that ID, the first copy is a stale entry (the upgrade was completed outside the queue, or the queue was enqueued redundantly). The entry is marked objNull in-place and _dirty is set. Scanning continues — other IDs can still be started this tick.
The flush happens at upgradeQueue.sqf:110-114 when no startable entry was found but _dirty is true: _queue - [objNull] compacts the array and writes it back with broadcast.
_lnk = (missionNamespace getVariable Format["WFBE_C_UPGRADES_%1_LINKS", str _x]) select _id;
_lnk = _lnk select _current;
...
if (!_linkNeeded) then { ... } // else: fall through silently(upgradeQueue.sqf:58-84)
Prerequisites are read from WFBE_C_UPGRADES_%1_LINKS for the current live level (not the queued level). The prerequisite structure can be either a flat two-element array [upgradeId, requiredLevel] or an array of such pairs for multi-prerequisite upgrades (upgradeQueue.sqf:62-69).
If a prerequisite is not yet live, the entry is skipped — scan continues to the next entry. This is a deliberate deadlock-prevention design: a prerequisite may itself be queued behind the blocked entry, and stopping would prevent it from running.
if (_dual && {((_x) Call WFBE_CO_FNC_GetSideSupply) < (_cost select 0)}) then {_canStart = false};
if (_canStart && {(_comTeam Call WFBE_CO_FNC_GetTeamFunds) < (_cost select 1)}) then {_canStart = false};
if (_canStart) then {
_startIdx = _k;
} else {
_stop = true;
};(upgradeQueue.sqf:76-83)
Cost is read as (_costs select _id) select _current — a two-element array [supply, funds] (upgradeQueue.sqf:74). If the side cannot afford the entry, _stop is set to true, halting the scan for the remainder of the tick. This prevents queue-jumping on funds: the side saves up for the front-of-queue entry rather than skipping it in favor of a cheaper one behind it.
When _startIdx >= 0 after the scan (upgradeQueue.sqf:90):
| Step | Code | Source line |
|---|---|---|
| Read selected id and level | _id = _queue select _startIdx |
upgradeQueue.sqf:91 |
Mark selected slot objNull, compact |
_queue set [_startIdx, objNull]; _queue = _queue - [objNull] |
upgradeQueue.sqf:95-96 |
| Broadcast updated queue | _logik setVariable ["wfbe_upgrade_queue", _queue, true] |
upgradeQueue.sqf:97 |
| Set synchronous gate | _logik setVariable ["wfbe_upgrading", true, true] |
upgradeQueue.sqf:99 |
| Record running ID | _logik setVariable ["wfbe_upgrading_id", _id, true] |
upgradeQueue.sqf:100 |
| Deduct supply (dual mode only) | [_x, -(_cost select 0), "Queued tech upgrade.", false] Call ChangeSideSupply |
upgradeQueue.sqf:103 |
| Deduct funds | [_comTeam, -(_cost select 1)] Call WFBE_CO_FNC_ChangeTeamFunds |
upgradeQueue.sqf:105 |
| Spawn upgrade | [_x, _id, _current, false] Spawn WFBE_SE_FNC_ProcessUpgrade |
upgradeQueue.sqf:107 |
| Log | WFBE_CO_FNC_LogContent |
upgradeQueue.sqf:108 |
The false fourth argument to WFBE_SE_FNC_ProcessUpgrade selects the server-initiated (full-timer) path inside Server_ProcessUpgrade.sqf:36-38 — a plain sleep _upgrade_time with no client sync variable. The client-sync path (Server_ProcessUpgrade.sqf:23-35) is used only when a human player triggers an upgrade via RequestUpgrade.
The gate at upgradeQueue.sqf:99 — setting wfbe_upgrading = true before the Spawn call — prevents the next tick from starting a second upgrade for the same side. Because Spawn in Arma 2 OA returns immediately, without the pre-Spawn gate the 5-second sleep could expire before WFBE_SE_FNC_ProcessUpgrade executes its own wfbe_upgrading = true write at Server_ProcessUpgrade.sqf:20. Note that Server_AI_Com_Upgrade.sqf uses the opposite ordering: its Spawn is at line 41 and the setVariable gate writes come after it at lines 43-44. upgradeQueue.sqf deliberately inverts this — setting the gate before Spawn — to close the race window that the AI commander's post-Spawn ordering leaves open.
WFBE_SE_FNC_ProcessUpgrade resets wfbe_upgrading to false and wfbe_upgrading_id to -1 when the upgrade timer completes (Server_ProcessUpgrade.sqf:44-46), releasing the gate for the next queue tick.
The queue is populated and drained from the client side via two public variable functions registered in Common/Init/Init_PublicVariables.sqf:22-23. Both are server-side handlers dispatched through WFBE_SE_FNC_HandlePVF.
| PVF name | File | Parameters | Action |
|---|---|---|---|
RequestEnqueue |
Server/PVFunctions/RequestEnqueue.sqf |
[side, upgradeId] |
Server re-validates all preconditions; appends one copy of upgradeId to the queue |
RequestDequeue |
Server/PVFunctions/RequestDequeue.sqf |
[side, upgradeId] |
Removes the last queued copy of upgradeId (plain array subtraction is avoided to preserve stacked copies) |
RequestEnqueue validation gates (RequestEnqueue.sqf:17-64):
- Logic object must not be null.
- A human commander team must exist (
isNullcheck onWFBE_CO_FNC_GetCommanderTeam). -
upgradeIdmust be within bounds and enabled inWFBE_C_UPGRADES_%1_ENABLED. -
_current + _pendingmust be less than_levels select _id— where_pendingcounts queued copies plus the in-progress upgrade ifwfbe_upgrading_idmatches (RequestEnqueue.sqf:33-37). - Prerequisite check is queue-aware: a linked upgrade counts as met if it is live or pending (queued or currently running), preventing dependency ordering from blocking the user from building a full upgrade chain upfront (
RequestEnqueue.sqf:39-64).
RequestDequeue removes the last occurrence by walking forward to find the highest index, marking it objNull, then compacting — the same pattern used by upgradeQueue's start-pop to avoid stripping all stacked copies in one subtraction (RequestDequeue.sqf:21-28).
RequestEnqueue.sqf:30 reads _logik getVariable "wfbe_upgrade_queue" without a default value:
_queue = + (_logik getVariable "wfbe_upgrade_queue");If a resistance-side logic object exists in WFBE_PRESENTSIDES but was never initialized with wfbe_upgrade_queue, this read returns nil, and the subsequent + (deep-copy operator) throws a type error. upgradeQueue.sqf itself guards against this with the two-argument form at upgradeQueue.sqf:32, but RequestEnqueue and RequestDequeue do not.
In the current mission configuration, resistance (WFBE_L_GUE) is a town-defender side with no human teams and no commander, so RequestEnqueue.sqf:20 exits early before reaching line 30. The hazard is dormant but will surface if resistance is ever made a playable side with its own queue.
The Coordination-Board (2026-06-07 entry) classifies this as a low-severity dormant bug.
| Variable | Scope | Owner | Broadcast | Description |
|---|---|---|---|---|
wfbe_upgrade_queue |
logic object | server | true |
Array of queued upgrade IDs; duplicate entries = stacked levels |
wfbe_upgrading |
logic object | server | true |
true while any upgrade is in progress for this side |
wfbe_upgrading_id |
logic object | server | true |
ID of the currently running upgrade; -1 when idle |
WFBE_C_ECONOMY_CURRENCY_SYSTEM |
missionNamespace | mission param | — |
0 = dual (supply+funds), 1 = funds-only; controls _dual flag |
WFBE_C_UPGRADES_%1_LEVELS |
missionNamespace | config | — | Array of max levels per upgrade ID, per side |
WFBE_C_UPGRADES_%1_COSTS |
missionNamespace | config | — | Array of [[supply,funds],...] per upgrade ID per level |
WFBE_C_UPGRADES_%1_LINKS |
missionNamespace | config | — | Prerequisite arrays per upgrade ID per level |
WFBE_C_UPGRADES_%1_ENABLED |
missionNamespace | config | — | Boolean enable flags per upgrade ID |
| Function ref | Compiled in | Source file |
|---|---|---|
WFBE_CO_FNC_GetSideLogic |
Common/Init/Init_Common.sqf:130 |
Common/Functions/Common_GetSideLogic.sqf |
WFBE_CO_FNC_GetCommanderTeam |
Common/Init/Init_Common.sqf:115 |
Common/Functions/Common_GetCommanderTeam.sqf |
WFBE_CO_FNC_GetSideUpgrades |
Common/Init/Init_Common.sqf:134 |
Common/Functions/Common_GetSideUpgrades.sqf |
WFBE_CO_FNC_GetSideSupply |
Common/Init/Init_Common.sqf:131 |
Common/Functions/Common_GetSideSupply.sqf |
WFBE_CO_FNC_GetTeamFunds |
Common/Init/Init_Common.sqf:135 |
Common/Functions/Common_GetTeamFunds.sqf |
WFBE_CO_FNC_ChangeTeamFunds |
Common/Init/Init_Common.sqf:99 |
Common/Functions/Common_ChangeTeamFunds.sqf |
WFBE_SE_FNC_ProcessUpgrade |
Server/Init/Init_Server.sqf:58 |
Server/Functions/Server_ProcessUpgrade.sqf |
ChangeSideSupply |
Common/Init/Init_Common.sqf:19 |
Common/Functions/Common_ChangeSideSupply.sqf |
WFBE_SE_FNC_ChangeSideSupply |
Server/Init/Init_Server.sqf:82 |
Server/Functions/Server_ChangeSideSupply.sqf |
WFBE_CO_FNC_LogContent |
initJIPCompatible.sqf:37 |
Common/Functions/Common_LogContent.sqf |
- Upgrades-And-Research-Atlas — upgrade IDs, level counts, cost tables, and research order per faction
- Upgrade-Research-Cross-Faction-Reference — cross-faction upgrade availability and config structure
-
Networking-And-Public-Variables — full PVF dispatch architecture including
RequestEnqueue/RequestDequeueregistration - Public-Variable-Channel-Index — canonical index of all server and client PVFs
-
Server-Gameplay-Runtime-Atlas — overview of all server-side FSM loops including the tick cadences of
upgradeQueue.sqf,updateresources.sqf, and related drivers
Home | Agent Guide | Current live state | Release 1.2.2 (B91) | Quickstart | Progress | Lifecycle wait-chain | Join/disconnect | Parameters/build | Assets/config | SQF atlas | PV index | Modules | Support/specials | Commander/HQ | Commander vote/reassign | Construction/CoIn | Construction cleanup | WDDM compositions | Factory/purchase | Upgrades/research | Towns/camps/capture | Victory/endgame | Markers/cleanup | Server runtime | AI runtime/HC | AI commander audit | HC delegation | Town AI safety | Commander reassignment | Resistance supply | Player UI workflow | UI atlas | Respawn/death | Gear template filter | Vehicle cargo loop | Service guards | UI IDD repair | UI design inspiration | WASP overlay | Feature status | Source propagation | release readiness | Tooling readiness | Integration trust | AntiStack DB | Owner decisions | Shelved registry | Abandoned feature revival | Hardening roadmap | PVF dispatch | Server authority | ICBM authority | Attack-wave authority | Telemetry families | AICOM V2 cutover | Consumer port map | Testing workflow | Server ops | Web tools | Ecosystem repos | Arma 2 OA refs | A2 traps | OA compatibility audit | Coverage ledger | Navigation inventory | Pruning ledger | Knowledge roadmap | Agent context | Collab protocol | Worklog | Audit archive 2026-07 | Briefing reference | Utes invasion concept
- Shelved AICOM concepts - revivable someday ideas (owner-shelved 2026-07-03)
Docs rule: source-backed claims only; Arma 2 OA scripting docs only; gameplay edits start in Missions/[55-2hc]warfarev2_073v48co.chernarus.
- Getting started
- Status and coordination
- Agent context
- Agent collaboration protocol
- Agent worklog
- Agent worklog archive
- Progress dashboard
- PR cleanup and integration lab
- Shelved PR #169: gear price double-count
- Shelved PR #194: Chernarus no-trees
- Coordination board
- Codebase coverage ledger
- Bottleneck removal queue
- Current source status
- Wiki mirror reconciliation
- Navigation inventory
- Registers
- Agent orchestration
- Architecture
- Architecture overview
- Mission entrypoints and lifecycle
- Lifecycle wait chain
- Player join/disconnect and AntiStack lifecycle
- Mission parameters/localization/build inputs
- Stringtable localization key-family catalog
- Source inventory
- Content structure and maps
- Assets/config/localization/parameters
- Mission start parameters index
- Code and networking
- Gameplay systems
- Core systems index
- Gameplay systems atlas
- Commander/HQ lifecycle atlas
- Economy, towns and supply
- Economy system reference
- Balance asymmetries
- Anti-stack skill-balance mechanic
- Empty-side supply income stagnation
- Towns, camps and capture atlas
- Victory and endgame atlas
- Victory conditions reference
- Territorial victory reference
- Marker cleanup and restoration
- Marker loop engine and registries
- Map marker families content catalog
- Marker subsystem function reference
- Client marker FSM updater map
- Support specials and tactical modules
- SCUD TEL tactical munitions
- Naval HVT objectives (carriers/SCUD)
- SCUD saturation strike mechanic
- Takistan airfield FPV drone design
- Construction and CoIn systems
- Structure damage reduction & friendly-fire
- Construction logic list cleanup
- Flak tower & WDDM anchor compositions
- Resistance supply scaffold
- GUER Insurgents faction overview
- GUER Insurgents branch audit
- GUER insurgent player economy
- GUER Commissar Panel
- GUER air-defense loop (Ka-137/Mi-24)
- Upgrades and research atlas
- Supply mission architecture
- Supply mission authority cleanup
- Current supply helicopters PR1
- Respawn and death-loop lifecycle
- Vehicle theft economy pitch
- GUER tunnel network pitch
- Content, reference and catalogs
- Faction unit/vehicle roster catalog
- Auxiliary/SF/civilian unit catalog
- Gear store loadout route catalog
- Upgrade research (cross-faction)
- Gear store price and upgrade catalog
- Gear store catalog (complete, per faction)
- Defense structures catalog
- Artillery reference per faction
- AI squad team templates catalog
- Town AI lifecycle reference
- Town AI group composition catalog
- Class-skill system reference
- Player skill abilities reference
- Default gear template content catalog
- Chernarus map content reference
- Takistan map content reference
- Takistan features
- Takistan parity reference
- Takistan oilfields objective reference
- IRS IR-smoke countermeasure
- Arty module special munitions
- Zeta cargo sling-load reference
- Spawn primitive function reference
- Kill and score pipeline
- Waypoint helper function reference
- Position and proximity function reference
- Side/team state function reference
- Player AI watchdog and recovery
- AICOM stuck-recovery v2
- LoadoutManager data-model contributor guide
- Discord status bot setup and reference
- GLOBALGAMESTATS extension reference
- New player quickstart (player guide)
- Optional client mods (player guide)
- Earning funds and score (player guide)
- Vehicle service and logistics (player guide)
- Commander's handbook (player guide)
- Tactical support menu
- Paradrop player experience
- Supply missions (player guide)
- In-game briefing & Diary field manual
- Playable maps catalog
- Faction root variables reference
- Faction base structures catalog
- Counter-battery radar system
- Bank, Reserve and Artillery Radar structures
- Map ruleset model and object config
- Countermeasures module reference
- Vehicle countermeasure (flares/spoofing)
- UAV terminal and spotter system
- Artillery firing function reference
- Service Point pricing model
- Medic redeployment truck (forward spawn)
- Side-patrol runtime and convoy mechanics
- Day/night cycle and weather system
- Config lookup helper reference
- CIPHER sort utilities reference
- Modded maps status and content
- BattlEye filter setup and OA taxonomy
- Player squad/group join protocol
- AutoFlip vehicle recovery
- Engine stealth fuel toggle
- Valhalla vehicle climbing-assist
- Missile and ordnance Fired-EH reference
- Vehicle equip and rearm reference
- Array and collection utilities
- Server composition spawner reference
- Upgrade queue server loop
- Map boundaries and off-map enforcement
- Namespace/profile/diagnostic utilities
- Group bool getVariable A2-OA trap
- Vehicle weapon balance init
- View distance auto-throttle
- Camp & respawn-camp getters
- Performance audit writer
- Site clearance (bulldozer)
- Factory queue cancel & refund
- AI commander tunable constants
- Experimental feature-flag constants
- Flag system quick reference
- Mission tunable constants catalog
- Gear parsing & cargo capacity
- Structure dressing function
- Paradrop delivery functions
- ICBM nuke client VFX & radiation
- Server HandleSpecial router
- LocalizeMessage chat router
- Gear buy-menu render & price functions
- Server broadcast & telemetry loops
- Per-unit client init pipeline
- Vehicle marking & texture pipeline
- Defense category & budget
- Legacy AI order primitives
- Commander-team driver
- AICOM command verbs
- AICOM behavior fix taxonomy
- AI commander wildcard deck reference
- AICOM aircraft and airfield system
- Static-defense manning
- End-of-game stats screen
- AI commander execution loop
- Deployable bipod / weapon resting
- Town-economy getters
- Server-init deadspawn & airfield probe
- GUER VBIED detonate action
- Resource income-tick engine
- AI commander treasury accessors
- PVF send-helper contracts
- AICOM logging & AICOMSTAT telemetry
- AICOMSTAT v2 event census
- WASPSCALE v2 telemetry
- WASPSCALE v2-ext coverage audit
- Telemetry families reference
- Group lifecycle & entity reaping
- Batch AI spawner orchestrator
- Client funds/income HUD readout
- Server group GC & cap warning
- Town runtime tuning constants
- Client input/hotkey handler
- WASP base-repair system
- WASP DropRPG launcher/ordnance
- CoIn construction-interface client engine
- Town-capture garrison & airfield rebuild
- Map-control & minimap templates
- Client FPS & state telemetry
- Client service-proximity getters
- Airfield-exclusive roster & unit hints
- Unit-camera spectator system
- Town-garrison patrol/defense worker
- RequestTeamUpdate squad-discipline
- Arma2Warfare GPT assistant
- LoadoutManager build configs & defines
- GLOBALGAMESTATS extension logging
- Discord bot instrumented logging
- Eden/Everon & Taviana map content
- Cruise missile strike asset
- AI / HC
- AI headless and performance
- AI mods and pathfinding reference
- Headless client scaling and topology
- AI runtime/HC loop map
- Headless client init and stat loop
- HC delegation target selection
- Player AI caps and role balance
- Old WarfareBE FPS comparison
- AI commander autonomy audit
- Upstream BE 2073 AICOM delta
- Parent 2.073 divergence audit
- AI commander capture & fun plan
- AI commander B69 improvement roadmap
- AI commander B69 implementation sketches
- AICOM V2 cutover status
- Headless delegation and failover
- Commander reassignment call shape
- GUER Director living-resistance pitch
- Quality and operations
- Foundation perf findings & Tier-3 dead-ends
- Dead/stale code register
- Commander vote/reassignment
- Attack-wave authority
- Server runtime and operations
- Server ops runbook
- JIP enrollment & client data delivery (b74.2 lessons)
- Server gameplay runtime atlas
- PerformanceAuditAnalyzer
- Performance opportunity sweep
- Documentation plan
- Knowledge platform roadmap
- Wiki quality audit
- Wiki pruning and relevance ledger
- Audit findings queue (2026-06-03)
- Deep review findings
- Client UI / server-loop perf findings
- Performance gain simulation
- Self-host testing field notes
- Cleanup and work lanes
- Hardening and authority
- UI / player workflows
- Client UI, HUD and menus
- UI HUD and dialogs
- Player UI workflow map
- Client UI systems atlas
- UI IDD collision repair
- UI control class library reference
- UI theme palette and style macros
- UI design inspiration 2026-07
- Available-actions client gate FSM
- Gear/loadout/EASA atlas
- Gear template profile filter
- Vehicle cargo equip loop bounds
- Factory and purchase systems atlas
- Service menu affordability guards
- WASP overlay
- Class-skill system reference
- Skin selector and class swap
- Earplugs audio toggle
- Mission audio catalog
- HQ radio knowledge-base catalog
- QoL trio player hints
- Player vehicle/travel actions
- Tooling / release / integrations
- Tools and build workflow
- Warfare web tools
- Ecosystem & companion repos
- Zargabad tooling parity
- July 2026 release readiness
- Operator monitor and CPU affinity tools
- Tooling release readiness audit
- Source fix propagation queue
- Agent release readiness ledger
- Release source intake map
- Testing/debugging/release workflow
- Current RPT release gate
- RPT telemetry consumer port map
- External integrations
- Integration trust boundary audit
- AntiStack database extension audit
- Community & Dev
- Community & Dev
- Miksuu upstream wiki import / archive index
- Upstream changelog feature leads
- Developer history and upstream lessons
- Upstream Miksuu commit intel
- Upstream mining ledger
- Archive script mining v2
- Upstream BE 2073 AICOM delta
- Parent 2.073 divergence audit
- PR8 and Drone upstream lesson match
- Development lessons learned
- External research reports
- Audit archive 2026-07
- Briefing reference
- Utes invasion concept
- Miksuu archive: Home
- Miksuu archive: Welcome
- Miksuu archive: Big announcements
- Miksuu archive: Changelog
- Miksuu archive: Development process
- Miksuu archive: Discord bot
- Miksuu archive: Gameplay videos
- Miksuu archive: LoadoutManager
- Miksuu archive: Chernarus script architecture
- Base-game visual catalogs
- Compatibility and references
- HC upstream history and lessons
- Player stats branch audit
- BuyMenu EASA QoL branch audit
- Perf quick wins branch audit
- Commander positions branch audit
- Zargabad branch audit
- Quad AI Commander concept
- Arma 2 OA external reference guide
- Base-game config & image reference
- Arma 2 OA compatibility audit
- Arma 2 OA agent traps reference
- Arma 2 OA command versions
- Wiki source consistency
- External Arma 2 OA reference index