-
Notifications
You must be signed in to change notification settings - Fork 0
Feature Status Register
This register separates working systems from partial, deferred or risky systems found during indexing. For revive/remove decisions on dormant feature paths, use Abandoned feature revival.
- Canonical risk-and-readiness map for current gameplay feature health.
- Evidence-first patch status for active systems, partial systems and likely regressions.
- Canonical cross-link hub so subsystem pages and playbooks route users here for current patch risk and ownership.
- Wiki:
docs/wiki/Feature-Status-Register.md - Source-of-truth inputs:
agent-events.jsonl,agent-feature-status.jsonl,agent-hardening-backlog.jsonl,agent-release-readiness.json,agent-knowledge.jsonl,agent-status.json - Runtime owner: the mission source at
Missions/[55-2hc]warfarev2_073v48co.chernarus
- Read this register first for risk ranking before opening a subsystem playbook.
- Use
[Area]rows to pick the current highest-impact lane and then open:- Source index / atlas pages (e.g.,
SQF-Code-Atlas.md,Server-Gameplay-Runtime-Atlas.md) - Hardening roadmap
- DR/cross-link pages (
Deep-review findings,Public-variable channel index, feature atlases)
- Source index / atlas pages (e.g.,
- Prefer this page for the latest patch status and known open dependencies before editing source.
- Navigation pages that route readers to risk-first playbooks:
- Home
- Progress dashboard
- Hardening roadmap
- Server authority migration map
- Feature-specific atlases and subsystem pages: Construction and CoIn systems atlas, SQF code atlas, Factory and purchase systems atlas, Economy, towns and supply
- Keep patch-risk edits in-place and one-way: add proof to canonical pages instead of repeating deep call stacks in this register.
- Treat entries marked "patch-ready-current-source-unpatched" as live claims requiring source+vanilla validation before changing status to published.
- If a finding is promoted or closed, update this register and the corresponding lane record in
agent-feature-status.jsonlfirst, then mirrors and progress pages. - Use Developer history and upstream lessons when a risky feature overlaps upstream supply, JIP, marker, town-AI, performance or reverted-branch history.
- Upstream-derived risk rows should name exact refs when used for implementation claims. The current local
miksuu/masterhead checked for current-head rows is89ae9dad; use Community & Dev and Upstream Miksuu commit intel before turning upstream lessons into implementation claims.
- Core Warfare loop: towns, commanders, bases, factories, upgrades, resources and victory checks.
- Client/server/common initialization split.
- Generic PVF request/response system.
- Player supply-truck missions on
master. - Enhanced day/night cycle with server authority and client smoothing.
- Server FPS publishing and RHUD/FPS HUD.
- Performance audit instrumentation plus analyzer.
- Client auto view-distance and target-FPS hotkeys; current source uses a 60 FPS default, +/-4 FPS band and map-visible guard.
- Anti-stack module with optional mission parameter.
- AFK kick through BattlEye publicVariable filter.
- MASH/ambulance respawn support; MASH marker synchronization is listed below as broken.
- ICBM/radiation module.
- EASA aircraft loadout module.
- Client marker blinking guarded by parameter.
- Air Event override parameter remains live: it forces event economy/upgrade-clearance defaults and hides ICBM plus Avenger/Tunguska-style heavy AA. Canonical route: Mission parameters.
- LoadoutManager mission copy/generation workflow.
- Discord bot status updates from exported game data.
| Area | Evidence | Status |
|---|---|---|
| Client-visible indicators and state surfaces | 2026-06-06 indicator scout/sharpening and indicator-surface-matrix-index passes found and routed indicator families across Rsc/Titles.hpp, Client_UpdateRHUD.sqf, updateavailableactions.fsm, client_title_capture.sqf, marker loops, Tactical/Respawn markers, support marker PVFs, Buy Units/EASA/Gear/Upgrade icons, server-FPS/status publishers and Client/Images references. |
Matrix seeded, per-family detail remains. Use Client UI systems atlas to pick one surface family at a time for branch/root validation, owner-page integration or pruning before redesigning indicators. |
This lane tracks direct channels, PVF authority boundaries, and JIP semantics that are still open after the PVF dispatch trust patch lane.
-
publicVariable/publicVariableServerdirect request channels are not hardened by PVF allowlisting. -
requesthandlers still need explicit side/team/ownership checks even after dispatch is fixed. - missionNamespace/JIP handling differs by channel; some flows are request-response only and are not replay-safe.
| Area | Evidence | Status |
|---|---|---|
| Upstream supply-run exploit/JIP regression pattern | Miksuu PR #10 / merge 97dfff26 fixed remote supply-truck activation; PR #11 / 8164cc33 added a 50 m "too far" notification; PR #12 / 86ec28d6 fixed that notification firing during JIP. |
Confirmed historical risk. Keep supply mission start/reward hardening server-owned and test late join + remote-start behavior before merging new supply/cash-run variants. |
| Town-defense activation/capture-state regression pattern |
4aaa814a and 6189f3c5 optimized town/camp/town-AI scans; follow-ups a20a5a0f, 84b1b684, ea0bff2e restored reliable/pre-capture activation and prevented defenders from waking enemy towns. e4be1958 adds capture-side cleanup, and current origin/master / local master / Miksuu 89ae9dad adds captured-defender persistence/cleanup helpers and diagnostics in both maintained roots. |
Current-master source evidence, smoke/DR-45 gated. Town-AI optimizations now have stable-master capture-state reset/persistence evidence, but runtime confidence still needs Arma smoke and the player-occupancy guard because Server_CleanupExpiredTownDefenseAssets.sqf:61-64 and server_town_ai.sqf:278 still use player-leader-style deletion guards. |
| Upstream marker locality/cache regression pattern |
9a550b7a reverted a group-leader marker global-var experiment; 9c72a281, 951e72cb, 332874fd fixed marker tracking, disconnect staleness and side visibility leaks. |
Confirmed historical risk. Marker/cache changes need side-visibility and disconnect/reconnect validation. |
| Deep-history AntiStack/RequestJoin fragility |
09131233, 841d16af, 88a2ef49, 448b1d85, b32babc7 show command typo, launch-state semantic change, RequestJoin fixes, DB type crash and an AntiStackV6 revert. |
Confirmed historical risk. AntiStack changes need launch/late join, teamswap, disabled-mode, DB-unavailable and monitoring-only validation. |
| Deep-history removed task system |
f61f7222 removed task system entirely; 4881e0d5 removed it from all terrains. |
Confirmed removed/deferred. Do not revive as a small UI toggle; rebuild as a new JIP-safe task feature if owner wants it back. |
| Deep-history generated map/version failure pattern |
081c1dc4 added copypasted untested modded terrain files; c312b0ec added missions with copypaste method; 812e9596 removed Tasmania after clean-repo mission-load failures tied to ignored/generated version.sqf. |
Confirmed tooling/release risk. Generated version.sqf and clean-checkout map loads are release gates. |
| Deep-history branch tombstones and reverted PRs |
oldMasterBranch tip 3a7972a2 deletes old master contents; PR #3 HQ repair price merged then 346e3be8 reverted it; PR #9 endgame music closed unmerged; A3 test tree removed by 83298186. |
Confirmed negative knowledge. Do not revive old branch or PR content from name/status alone; check later reverts, branch family and OA compatibility first. |
| Deep-history client init/UI/marker lifecycle risk |
3ff02aea moved clientInitComplete to the real end of init; c6d2539e fixed UI global action state; 95a12305 fixed UAV marker audience leakage; 9c72a281 restored marker motion after cache optimization. |
Confirmed historical risk. Client/UI/marker work must preserve lifecycle ordering, side audience, moving-marker position refresh and JIP behavior. |
| Deep-history construction/removal/runtimes |
77a07bc0 reverted construction argument dedupe; 16856ae7/8b7fab95 removed guerilla barracks across FSM/HC/buy paths; 33fb2676 reverted supply performance work using wrong authority context. |
Confirmed historical risk. Construction/removal/performance edits need call-contract docs, full reference greps and dedicated-server/JIP smoke. |
| Second-wave release tooling and modded packaging risk | Current ZipManager.cs packages Missions and Missions_Vanilla while Modded_Missions is commented out; 2a13ce36 requires env var 7za; 3458e714 handled locked file copies; f095e461 fixed Takistan DB map ID post-copy. |
Confirmed tooling/release risk. Treat release output as Chernarus + generated Vanilla/Takistan unless modded packaging is re-enabled and validated; inspect LoadoutManager logs, 7za, version.sqf, and terrain post-copy fixes. |
| Second-wave HQ repair and ICBM economy authority risk | PR #3 / 7cd0e18d increasing HQ repair cost was reverted by 346e3be8/59a995e8; 5db438ca 75k nukes were reverted by 31d8a06d; current ICBM/HQ repair paths still have client-side action/debit authority concerns. |
Confirmed historical + current authority risk. Do not add HQ repair escalation or ICBM price/effect changes until server validates affordability, side/team/commander, cooldown, debit and final effect. |
| Second-wave marker blinking and HC routing risk | Dec 2025 marker blinking chain includes 2f6ff43d, 9a550b7a, 9c1fe110 defaulting blinking off; HC upstream history adds a241ac75, 6760f1a3, 1d79ba2a, 6b90c872, f5e8fa47 and bb01ebfc for typed HC routing, side-less call hazards and generated mission-slot drift. |
Confirmed branch-history risk. Keep marker blinking off by default; HC changes need typed pools, server update-back, side-less HC tests, generated mission slot checks and event-handler cleanup proofs. |
| Second-wave score/bounty/supply-compensation coupling |
f17445c1, b31539b4, cc127ef4, 415615c9 changed score/bounty/teamkill handling; upstream/SkillDiffCompensation feeds side supply through ChangeSideSupply. |
Confirmed historical risk. Treat score awards, bounty math and skill-diff compensation as AntiStack/economy changes; harden side-supply authority before expanding compensation. |
| Old WarfareBE FPS comparison and AI-cap debate |
Old WarfareBE performance comparison compares old BennyBoy WarfareBE Takistan Lite at aeb71bb against current Wasp Chernarus and finds lower old player-AI defaults (12 player cap, fixed Soldier +6, no commander +10) but no magic old town-AI architecture: old BE still has town nearEntities, spawn/despawn, static gunners, cleanup collectors, PVF dispatch and marker loops. |
Confirmed docs/test lane, not a source patch. Use the old mission as an A/B baseline and run matched tests before changing gameplay: normal-role cap 8-10, Soldier/commander identity preserved deliberately, HC present/absent logged, active town/static counts split from player followers, and view distance separated from server-AI load. |
| Old-FPS scout easy-win harvest | The returned old-warfarebe-fps-scout addendum confirmed both FPS publishers are active, SERVER_FPS_GUI is the RHUD path while WFBE_VAR_SERVER_FPS lacks an obvious source consumer, current PV/PVF surface is broader but server requests use publicVariableServer, delegated town AI avoids global per-unit init, AntiStack/PerformanceAudit are current-only A/B variables, and static-defense HC readback remains unproven. |
Evidence harvested into owner pages. First actions are test/config/docs: consumer-map FPS variables, pin view distance, run AntiStack/audit ON/OFF presets and avoid claiming static-defense HC as a confirmed FPS win. Source patches remain future code-owner work. |
| Dynamic player-AI cap and AI-source scoreboard | The old-vs-current-fps-opportunity-scout and old-be-current-wasp-fps-opportunity-scout-2 reports at C:\Users\Steff\Documents\Codex\2026-06-05\wasp-old-vs-current-fps-investigation\outputs\Old-BE-vs-Current-Wasp-FPS-Opportunity-Audit.md and C:\Users\Steff\Documents\Codex\2026-06-05\wasp-old-mission-fps-opportunity-window\outputs\Old-BE-vs-Current-Wasp-FPS-Opportunity-Scout.md promote a role-aware cap design: public pilot normal roles near 10, Soldier preserved higher, commander bonus reduced from +10, and final policy driven by a server-published side AI budget. The final scout fixes the preferred test order as AI-source scoreboard, cap pilot, HC proof, low-SV town branch, static-defense HC/accounting, cleanup/object-count evidence, then PV/server-FPS/network cleanup. |
Owner-decision gameplay/performance lane. Not a confirmed FPS fix until the full-server FPS opportunity pack records 10/15/20/25/30-player evidence. Any implementation must keep buy menu and RHUD cap formulas aligned, enforce lower caps non-destructively for future purchases first, and treat static-defense HC accounting as a proof gate rather than a claimed FPS win. |
| WF menu ops-console reskin branch |
origin/feat/wf-menu-ops-console head 0767c0b5 is a UI-only theme branch from origin/master 2cdf5fb8: Chernarus + maintained Vanilla Rsc/GUI/HUD files, new brand_chevron.jpg, and docs/superpowers plan/spec/mockup files. Evidence: Rsc/Styles.hpp:10-40, Rsc/Ressources.hpp:117-131,274-277, Rsc/Dialogs.hpp:1057-1064,1173-1179,1240-1249, Rsc/Titles.hpp:178-179. |
Confirmed branch-review risk. Not gameplay logic, but not release-ready until Arma 2 OA visual smoke proves font availability, texture path/case handling, contrast, hub/menu/HUD rendering and Chernarus/Vanilla parity. Also clean branch trailing whitespace reported by git diff --check in docs/superpowers/plans/2026-06-03-wf-menu-ops-console.md:78,179. Use Client UI systems atlas and the branch-only feature smoke pack. |
| BuyMenu/EASA QoL branch |
origin/feat/buymenu-easa-qol head a66d4691 is a narrow Chernarus UI branch: unaffordable buy-unit price tint (Client_UIFillListBuyUnits.sqf:1,61-62,104), live queue counts on factory tabs (GUI_Menu_BuyUnits.sqf:201-210), selected-unit cost formula/display work (GUI_Menu_BuyUnits.sqf:280,335,388,444,487) and EASA current-loadout highlight/preselect (GUI_Menu_EASA.sqf:29-40). Full audit: BuyMenu EASA QoL branch audit. |
Confirmed branch-review risk, low blast radius. It is UI-only, 3 Chernarus files and git diff --check clean, but not propagated to maintained Vanilla. Needs Arma 2 OA menu smoke for affordability color versus full/crew cost, queue label refresh/no flicker, final idc 12034 price after the later write, and EASA current-loadout selection including filtered/unset cases. |
| Player stats branch |
origin/feat/player-stats head e01e47e1 adds off-by-default SQF stat emission (WFBE_C_STATS_ENABLED = false at Init_CommonConstants.sqf:443), kill-stat hooks (RequestOnUnitKilled.sqf:51-65), Server/Stats/*, DiscordBot Stats/* RPT tailing/accumulation and DiscordBot.Tests/*. Local branch validation passed: dotnet test 13/13. Full audit: Player stats branch audit. |
Confirmed branch-review risk. Safe by default because the feature flag is false, but enabling it is operational/integration work: decide RPT path/state-file ownership, UID/privacy policy, log volume, corrupt stats.json recovery, deployment config, Chernarus-only vs Vanilla propagation and whether stats belong in DiscordBot or the mission extension. |
| Perf quick-wins branch |
origin/perf/quick-wins head 0076040f is a Chernarus-only fix branch with 18 files, +27/-27 and clean git diff --check. It patches known docs-backed defects including side-supply clamp shape (Common_ChangeSideSupply.sqf:25, Server_ChangeSideSupply.sqf:12,36), factory queue cleanup on crewless buys (Client_BuildUnit.sqf:365-368), paratrooper marker PV registration (Init_PublicVariables.sqf:40), mine-cleaner pair removal (mines_cleaner.sqf:17), dead-object wfbe_trashed handling (server_collector_garbage.sqf:17), fixed resource interval (updateresources.sqf:74), camp-bunker nil-code EH removal (Server_HandleSpecial.sqf:235-236) and kill-assist bounty type (RequestOnUnitKilled.sqf:92). Full audit: Perf quick wins branch audit. |
High-value branch-review risk. Treat as a fix candidate, not proof that stable master is fixed. It is source-Chernarus only; Missions_Vanilla has no branch diff and still shows the old clamp/EH/kill-assist/resource-loop shapes. For factory queue, it fixes the crewless counter leak only; the low-entropy varQueu token remains open. Reconcile with docs/source propagated fixes, propagate maintained Vanilla deliberately, keep DR-44 side-supply authority separate from the clamp, and smoke economy debit/no-credit inversion, factory queue counters/tokens, paratrooper marker handling, cleaner/camp/resource loops and WASP touched actions before merge/release wording. |
| Commander positions / modular walls branch |
origin/feat/commander-positions head 560db61c has merge base f5985b77, 83 changed files and broad Chernarus/Vanilla deltas. The actual WDDM commander-position runtime is source-Chernarus only: anchor classes (Structures_CO_US.sqf:168-174, Structures_CO_RU.sqf:166-172), template map (Init_Defenses.sqf:93-183), compile (Init_Server.sqf:26) and Server_ConstructPosition.sqf:1-66. No Server_ConstructPosition or WFBE_POSITION_TEMPLATE_MAP hits exist under maintained Vanilla on branch grep. Full audit: Commander positions branch audit. |
Broad branch-review risk. Do not describe as a clean construction-only branch or Vanilla-propagated feature. Before promotion: split or audit unrelated deltas, clean branch whitespace, re-check construction request authority (DR-6), smoke position placement at the clicked map point, HQ undeploy cleanup, CoIn UI, and decide/implement maintained Vanilla propagation. |
| Zargabad low-pop map branch |
origin/feature/zargabad-map head e9294ede adds a new maintained Vanilla Zargabad mission folder and terrain/tooling support: ZARGABAD.cs:1-13, SqfFileGenerator.cs:127-130, initJIPCompatible.sqf:121-124, Init_Boundaries.sqf:4-10, Init_Zargabad.sqf:1-125 and Guides/Zargabad-Completion-Gates.md:8-20. Branch diff is huge: 832 files, +77733/-95. The refreshed head tunes low-pop defaults across constants, generated parameters and validators: AI max 6, player AI max 8, Soldier skill cap 3, team supply cap 30000, UAV 650, town mortar/patrol 420/300, chopper/plane countermeasures 12/18, starting funds 8000, starting supply 3600, ordnance ranges 1500, Air AA/flares/thermal on, ICBM off and price multipliers 0.95/1.15/1.4/1.75/2.0/1.0. Local static branch validation passed at e9294ede with Tools\Validate-ZargabadMission.ps1: 13 towns, 19 camps, 1 airport, 9 starts, 33 defense logics, no duplicate object ids, no missing sync targets and no Takistan Zargabad-module spillover. Full audit: Zargabad branch audit. |
Map-release branch-review risk. Static validation is strong but runtime evidence is still open. Treat as a full terrain release candidate and low-pop balance profile, not a normal generated-mission copy. Needs generated whitespace cleanup (git diff --check reports 3542 findings), hosted/dedicated/JIP/HC runtime evidence, screenshot/RPT audit packet validation, town/base/camp/economy/air-price balance checks, edge-guard/black-market smoke and class-load verification. |
| Supply helicopter branch current head |
origin/feat/supply-helicopter is checked at head 262dc431. The PR #1 page is refreshed for current head: Air-factory upgrade 3 load/action gates (Skill_Apply.sqf:62-72, supplyMissionStart.sqf:21-29), Air upgrade 4 cash-run branch (supplyMissionCompleted.sqf:24-35), lobby toggle (Rsc/Parameters.hpp:4-10), load/unload timers and central class lists (Init_CommonConstants.sqf:168-180). Current head clears SupplyAmount/SupplyFromTown but not SupplyByHeli (supplyMissionCompleted.sqf:40-41). |
Closed PR #1 branch-review evidence. PR #1 is closed on the board and superseded by PR #8 for release-bundle cleanup, but the branch evidence remains useful. No maintained Vanilla SupplyByHeli/heli constant hits were found; non-supply branch baggage, branch whitespace, retained SupplyByHeli state, timer UX, Air 3/4 economy semantics and runtime smoke remain gates. Use Current supply heli PR and PR cleanup lab. |
| PR #8 release head delta | Current origin/release/2026-06-feature-bundle head 7ff18c49 changes delegated AI fallback/locality handling and cleaner/restorer startup in both maintained release roots: Client_DelegateAIStaticDefence.sqf:27, Client_DelegateTownAI.sqf:27, Common_CreateUnit.sqf:34-36, Common_CreateUnitForStaticDefence.sqf:68-69, crater_cleaner.sqf:5,7,50, droppeditems_cleaner.sqf:5,7,46, ruins_cleaner.sqf:5,7,30 and buildings_restorer.sqf:4,6,18,31. |
Release-branch review risk. This is not current-source proof and does not close DR-42 static-defense update-back/failover; update-back remains design work. Smoke HC/town/static delegation and long-session cleaner/restorer behavior before release-ready wording. Use PR cleanup lab, Headless delegation/failover and Marker cleanup/restoration. |
| Drone/recon support branch split |
origin/feat/drone-saturation-strike head 8ca4be90 is the latest drone tuning branch; origin/feat/recon-uav head 563418ea adds server AI-flown ReconUAV/ReconUAVRecall and removes the old UAV module, but only includes drone history through 93b47594. Drone diff from stable origin/master is 17 total files (+1133/-4), of which 15 are source-Chernarus mission files (+379/-4) and 0 are maintained Vanilla mission files. Recon diff is 25 total files (+1461/-657), of which 22 are source-Chernarus mission files (+593/-657) and 0 are maintained Vanilla mission files. |
Confirmed branch-review risk. Treat drone strike and recon UAV as separate support features. Before merge, resolve drone tuning drift, move paid support authority server-side, validate old-UAV replacement/recall/reveal/JIP cleanup, and either propagate generated Vanilla or keep Chernarus-only scope explicit. Use PR8 and drone upstream lesson match plus the branch-only feature smoke pack. |
Direct attack-wave request trust (ATTACK_WAVE_INIT) |
Common/Functions/Common_AttackWaveActivate.sqf, Server/Functions/Server_AttackWave.sqf, DR-41 |
Live + open: client payload directly drives discount and timing |
Direct side-supply mutation (wfbe_supply_temp_*) |
Branch check 2026-06-06: current source Chernarus, maintained Vanilla, stable origin/master 89ae9dad, current Miksuu upstream 89ae9dad and release 7ff18c49 all keep _currentSupply - _amount negative floors in Common_ChangeSideSupply.sqf:25 and Server_ChangeSideSupply.sqf:12,36, plus payload-side trust in the west/east temp-channel handlers. origin/perf/quick-wins fixes only Chernarus arithmetic to 0; Vanilla propagation and DR-44 side/channel/requester validation remain open. |
Patch-ready, current-source-unpatched. Use Economy authority first cut, Resistance supply scaffold and Public variable channel index; clamp arithmetic first, then validate direct-channel shape and move spend acceptance server-side flow by flow. |
Direct SEND_MESSAGE compile surface |
Branch check 2026-06-06: current source Chernarus and maintained Vanilla, stable origin/master / local master 89ae9dad, current Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all register the direct receiver at Client/FSM/updateclient.sqf:10-12, compile payload text in Client/Functions/Client_onEventHandler_SEND_MESSAGE.sqf:27, and repeat the helper compile/broadcast path in Common/Functions/Common_SendMessage.sqf:26,37-38; DR-46. |
P0 live + open: direct-channel RCE surface that is not covered by PVF dispatcher allowlisting. Use Public variable channel index, Pending owner decisions and Hardening roadmap. |
| Side-supply reason string off-by-one | Branch check 2026-06-06: current source Chernarus, maintained Vanilla, stable origin/master 89ae9dad, current Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep Common_ChangeSideSupply.sqf:8-14 reading _reason only when count _this > 3. Three-argument AttackWave.sqf calls publish the default error reason instead of the caller's audit string; four-argument supply completion preserves its reason, with release-specific line drift. |
Low-risk audit/logging defect. Use Economy authority; fix with the side-supply clamp pass by reading _reason when count _this > 2 and _includeStagnation when count _this > 3. |
| Resource income cap and payout/display drift | Branch check 2026-06-06: current source/Vanilla, stable origin/master 89ae9dad, current Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep updateresources.sqf:29-70 wrapping side-supply growth, player paychecks and AI-commander funds in one _supply < WFBE_C_ECONOMY_SUPPLY_MAX_TEAM_LIMIT guard. Income system 4 also applies a server-side 1.5 multiplier at updateresources.sqf:42-43 that Client_GetIncome.sqf:21-28 omits from display math. |
Economy correctness debt. Use Economy, towns and supply; treat resource-loop edits as balance-sensitive and verify side supply, actual paycheck, AI commander funds and RHUD/menu display together before changing income-system behavior. |
| Town/camp capture reward authority |
TownCaptured.sqf:37-81 and CampCaptured.sqf:19-40 grant funds locally and send RequestChangeScore after server-side capture broadcasts. |
Live mixed-authority reward path. When moving capture rewards server-side, preserve distance/assist/commander bounty semantics but derive eligible units, side and score on the server. |
| Auto view-distance optimizer |
Client/Init/Init_Client.sqf:12-13,175-176,236-240; Client/FSM/updateclient.sqf:102-107; Common/Functions/Common_AdjustViewDistance.sqf:17-69; Common/Functions/Common_AutomaticViewDistance.sqf:6-36
|
Working client UX/performance feature with three moving pieces. Startup defaults target FPS to 60 and auto mode off; User18 toggles auto mode while User19/User20 adjust either view distance or target FPS; the client FSM only runs the auto loop when the map is not visible, using the profile key WFBE_TARGET_FPS and a +/-4 FPS band. Historical +/-2 changelog wording is stale. |
| AFK enforcement policy |
Rsc/Parameters.hpp:44-48; Client/FSM/updateclient.sqf:28-31,117-160; Client/Init/Init_Client.sqf:256-264; Client/Module/AFKkick/monitorAFK.sqf:19-30; BattlEyeFilter/publicvariable.txt:1-2
|
Working but dual-path/client-local. Current parameter default is 15 minutes. The FSM path publishes kickAFK for BattlEye; the older module still runs a 30-minute AFKthresholdExceededName/failMission path. Clean up to one owner before changing policy. |
| Aircraft ordnance guardrails |
Rsc/Parameters.hpp:284-300; Common/Init/Init_Unit.sqf:118-128,207-212; Common/Functions/Common_HandleShootBombs.sqf:15-44; Common/Functions/Common_HandleIncomingMissile.sqf:9-21; Common/Functions/Common_HandleShootMissiles.sqf:95-140; Common/Init/Init_Common.sqf:10-11
|
Partial. Bomb distance deletion for FAB-250/Mk82 is live; incoming missile range and terrain-masking projectile deletion are live. Bomb altitude is only parameterized/commented in the handler, so do not claim active altitude enforcement. Legacy HandleATReloadVehicle / HandleBombs common compiles are commented; Common_HandleATReloadVehicle.sqf exists but is not wired, while Common_HandleBombs.sqf is absent. Treat the legacy hooks as archive/revive work, not active ordnance logic. |
| MASH marker relay health |
Client/Module/Skill/Skill_Officer.sqf:25-27, Server/Module/MASH/MASHMarker.sqf:1-13, Client/Module/MASH/receiverMASHmarker.sqf:1-29, Client/Init/Init_Client.sqf:132; see Respawn and death lifecycle. |
Confirmed orphaned in source/Vanilla, stable, upstream and release: local MASH respawn is source-supported, but shared/JIP-safe marker synchronization is orphaned. Owner decision: revive with server-held marker registry, delete replay and JIP resend, or retire/archive the stale relay. |
| Paratrooper marker registration gap |
Server/Support/Support_Paratroopers.sqf, Client/PVFunctions/HandleParatrooperMarkerCreation.sqf, Common/Init/Init_PublicVariables.sqf
|
Branch-scoped: docs/source Chernarus and Vanilla register it; current release head 7ff18c49 also registers it in both maintained release roots; stable master still omits it. Arma marker smoke remains pending. |
| Spawn/race behavior in PVF dispatchers |
Common/Functions/Common_SendToServer*.sqf, Server/Functions/Server_HandlePVF.sqf, Client/Functions/Client_HandlePVF.sqf
|
Open: dispatch and execution ordering still non-deterministic for burst traffic |
| Area | Evidence | Status |
|---|---|---|
| Autonomous AI supply trucks |
AI commander autonomy audit owns the branch matrix. Current source/Vanilla, current stable origin/master / local master and Miksuu 89ae9dad still comment out UpdateSupplyTruck at Init_Server.sqf:36, initialize wfbe_ai_supplytrucks at :386, and raw-spawn UpdateSupplyTruck at :387; AI_UpdateSupplyTruck.sqf:17 still references missing Server/FSM/supplytruck.fsm. Historical 2cdf5fb8 raw-spawned at :382-383; perf/quick-wins 0076040f raw-spawns at Chernarus :378 and Vanilla :383. Release 7ff18c49 keeps the 7195b331 warning/disable shape at :385-386 in both maintained roots; feat/ai-commander c20ce153 guards only Chernarus at :389 while Vanilla remains raw. |
Config-gated latent breakage. Default supply system 1 and AI commander parameter default 0 avoid it, but truck supply plus AI commanders needs either the release safe-disable shape or a real server-owned logistics revival. |
| AI commander automation | On stable origin/master, AI commander constants and side-logic state/funds exist; WFBE_SE_FNC_AI_Com_Upgrade is compiled and Server_AI_Com_Upgrade.sqf performs real upgrade/funds logic, but no live scheduler/loop starts full autonomous commander behavior. Branch origin/feat/ai-commander head c20ce153 adds a Chernarus-only supervisor, assign-types/assign-towns/produce workers and an explicit order executor; the latest fix series rewrites lazy condition blocks across those five branch scripts. |
Branch-review risk. Stable master remains partial/latent. feat/ai-commander is the current revival attempt, but it is source-Chernarus-only, changes AI commander default to on, still only guards old UpdateSupplyTruck, and needs dedicated/JIP/Vanilla smoke before being called revived. Use AI commander autonomy audit plus the branch-only feature smoke pack. |
| AI commander upgrade debit/cost lookup | Current source/Vanilla, current stable origin/master / local master / Miksuu 89ae9dad validate AI upgrade costs as [supply, funds] like the player menu (GUI_UpgradeMenu.sqf:163-164,206-226; Server_AI_Com_Upgrade.sqf:34-36) but debit AI funds with _cost select 0 and side supply with _cost select 1 at Server_AI_Com_Upgrade.sqf:47-50. The checked 2cdf5fb8..89ae9dad diff does not touch the maintained-root upgrade worker/menu files; perf/quick-wins keeps the same shape. Release 7ff18c49 fixes debit order in both maintained roots; feat/ai-commander fixes debit plus cost-level lookup only in Chernarus. |
Patch-ready current-source bug. Use AI commander autonomy and Upgrades and research: port/recreate debit-order fix, decide the cost-index correction, propagate maintained Vanilla and smoke AI upgrade affordability/debit before reviving the scheduler. |
| Town AI vehicle despawn safety | Current source/Vanilla, current origin/master / local master / Miksuu 89ae9dad delete inactive tracked town-AI vehicles at server_town_ai.sqf:265-285 with alive _x plus !(isPlayer leader group _x) at :278, but no player crew check. Current 89ae9dad also adds Server_CleanupExpiredTownDefenseAssets.sqf, whose expired-object path still checks only isPlayer _asset / isPlayer leader group _asset at :61-64. Historical stable 2cdf5fb8, perf/quick-wins 0076040f and release 7ff18c49 keep the older server_town_ai.sqf:216-221 guard. |
Confirmed patch-ready bug. Add a full player-occupancy guard to both current stable cleanup surfaces, preserve empty AI-only cleanup, propagate maintained Vanilla and smoke driver/gunner/cargo/turret occupancy plus empty AI vehicle cleanup. |
| Task system | Current source/Vanilla, stable origin/master / local master 89ae9dad, perf 0076040f and release 7ff18c49 all keep the old town TaskSystem compile and TownAddComplete spawn commented at Client/Init/Init_Client.sqf:75,759, while Client_TaskSystem.sqf remains in both maintained roots. Release 7ff18c49 reuses the commander Tasks tab for a separate Objective Ping path; that is not a revival of the old town task system. |
Disabled/deferred legacy UX. Re-enable only as a deliberate JIP-safe task feature, or keep/remove the residue after owner decision. |
| MASH marker receiver |
receiverMASHmarker.sqf registers the WFBE_SE_MASH_MARKER_SENT client EH, but is referenced only by the commented compile at Client/Init/Init_Client.sqf:132. |
Duplicate of the row above, kept as a receiver-specific pointer for dead-code searches. Use the canonical MASH split in Respawn and death lifecycle; do not launch a fresh broad MASH discovery pass unless gameplay code changes. |
| Paratrooper drop markers |
Server/Support/Support_Paratroopers.sqf:117 sends HandleParatrooperMarkerCreation; docs/source Chernarus and Vanilla both register that client PVF in Common/Init/Init_PublicVariables.sqf:39, and the handler file exists. origin/master omits it. Current release head 7ff18c49 registers the handler in both release Chernarus and release Vanilla at Common/Init/Init_PublicVariables.sqf:34. |
docs/source and current release branch carry the static registration; stable master still omits it; Arma smoke pending. Use Paratrooper marker revival. Modded folders still drift: Napf/eden/lingor register the handler but lack the handler file. |
| PV dispatch trust boundary | Branch check 2026-06-05/06: current source Chernarus and maintained Vanilla, stable origin/master / local master 89ae9dad, current Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep Server_HandlePVF.sqf:14 dispatching _parameters Spawn (Call Compile _script) from payload index 0; current/stable/upstream/perf clients do the same at Client_HandlePVF.sqf:22, while release shifts it to :32 after an HC filter. Init_PublicVariables.sqf already precompiles SRVFNC* / CLTFNC* but does not enforce an allowlist. |
P0 live-server hardening gap. Use PVF dispatch implementation to replace sender-chosen compile with allowlisted missionNamespace getVariable lookup. This closes DR-1/DR-38 only; legitimate-handler payload validation and direct PV channels remain separate. |
| PV legitimate-command forgery | Hilbert's network pass confirmed high-trust handlers: RequestChangeScore.sqf overwrites score from payload, RequestVehicleLock.sqf locks payload vehicles, RequestTeamUpdate.sqf mutates team behavior, and RequestUpgrade.sqf forwards to upgrade processing without visible sender/cost validation in the handler. |
Live-server hardening gap (High). Even after replacing dispatcher Call Compile, validate sender, role, side, funds, ownership and object locality inside high-impact handlers. |
| Direct publicVariable channels outside PVF | Direct PVEH/PV channels exist for attack waves, side supply, supply missions, MASH markers, HQ state, AntiStack compensation, server FPS, AFK, day/night and marker/message channels. DR-41 confirms ATTACK_WAVE_INIT is forgeable and can make side-wide unit prices free or negative from client-supplied _supply. |
A PVF dispatcher fix or WFBE_PVF_* whitelist does not cover these. Review each channel's sender, lifecycle and JIP semantics before calling networking hardened. See Networking and public variables, Server authority map and Attack-wave authority playbook. |
| BattlEye mitigation as shipped | Claude DR-30 verified the repo footprint: only the AFK publicVariable rule is shipped in-tree; no broader filter/config bundle is present. Canonical evidence lives in External integrations. |
High live-server hardening gap. Use External integrations and backlog id battleye-hosting-hardening; do not treat BattlEye as shipped remediation until production BEpath files or a tested filter set are supplied. |
ICBM/Nuke RequestSpecial authority |
Claude DR-27 traced the Tactical-menu ICBM path: client-side menu gates call Client/Module/Nuke/nukeincoming.sqf, which sends RequestSpecial ["ICBM", ...]; the server HandleSpecial ICBM case spawns NukeDammage from client payload without upgrade/commander/funds validation. |
Critical live-server hardening gap. One forged RequestSpecial PV can trigger server-applied map-wide damage. Use ICBM authority before patching or trusting this module publicly. |
Non-ICBM RequestSpecial support effects |
GUI_Menu_Tactical.sqf:262-276,371-373,513-527 gates and debits paratroops, para-vehicle and para-ammo locally; Client/Module/UAV/uav.sqf:27-52 spawns/debits the old UAV locally; Server_HandleSpecial.sqf:43-64,147-170 trusts payload side/destination/team/object data for support spawns, supply-truck forced respawn, UAV cleanup and camp repair. |
High server-authority gap. Harden after or alongside the support authority pass, but keep it separate from the P0 ICBM playbook: server should re-derive requester, side, role/commander status, upgrade, funds, cooldown, target object and destination bounds before effects. |
RequestSpecial upgrade-sync argument shape |
Support specials owns the branch matrix. Current source/Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, perf/quick-wins 0076040f and release 7ff18c49 all keep Server_HandleSpecial.sqf:67-73 reading _side from _args but upgrade id/level from _this; Server_HandleSpecial.sqf:3 sets _args = _this, so current behavior is equivalent rather than a proven runtime break. The 2cdf5fb8..89ae9dad diff does not touch the checked handler/caller/process-upgrade files. Release 7ff18c49 shifts both maintained-root caller lines to GUI_UpgradeMenu.sqf:254. |
Patch-ready consistency cleanup, not a P1 authority bug. Normalize the parser to one tuple source, keep RequestUpgrade authority migration separate, propagate maintained Vanilla and smoke commander upgrade completion plus non-server timer sync. |
RequestSpecial track-playerobject branch |
Server_HandleSpecial.sqf:133-145 defines a track-playerobject case, but the 2026-06-04 RequestSpecial scout found no active Chernarus RequestSpecial caller for that tag. |
Likely dead/undriven bookkeeping branch. Before reviving it, validate sender identity and player-object ownership; otherwise remove or comment it during RequestSpecial hardening. |
| Grouped base-area cleanup and dormant group monitor |
Server/Init/Init_Server.sqf:565 starts Server/FSM/basearea.sqf only when WFBE_C_BASE_AREA > 0; the loop prunes invalid base-area logics and delayed orphan defenses. groupsMonitor.sqf exists but the only source start point found is commented at Init_Server.sqf:567. |
Base-area cleanup is live only under the parameter; groupsMonitor is dormant debug tooling. If editing basearea.sqf, add _unit to the nested private list and smoke grouped-base defense cleanup. |
| Construction request authority | DR-6 confirms construction PVFs trust client payload authority and mostly class-existence checks. | Hardening gap. Use Deep-review findings DR-6 for proof, Construction and CoIn systems atlas for flow, and Server authority migration map for migration design. |
| Stationary defense base-area null guard and commander artillery ownership | Docs/source origin/docs/developer-wiki-index f3e157f2 guards the base-area weapons read at Construction_StationaryDefense.sqf:12-15 and assigns manned artillery-class defense gunners to the current commander team at :91-94, matching Common_GetTeamArtillery.sqf:10-30 group-based Tactical discovery. Current release 7ff18c49 uses a different commander ARTY source shape: it keeps DefenseTeam manning, marks non-repair-truck artillery defenses with WFBE_CommanderArtillery* at Construction_StationaryDefense.sqf:133-135, and lets the commander team discover same-side marked guns from Common_GetTeamArtillery.sqf:46-78. Current origin/master / local master 89ae9dad still lacks both ARTY discovery shapes. |
Docs/source and release both have static commander ARTY discovery evidence by different designs; Arma smoke pending. This does not close client CoIn base-area guard-order issues or broader construction authority hardening. |
| Player purchase authority |
GUI_Menu_BuyUnits.sqf calls local BuildUnit and deducts funds client-side; Init_PublicVariables.sqf has no RequestBuyUnit, and no Server/PVFunctions/RequestBuyUnit.sqf exists. |
Legacy/client-local buy path. Add server validation before adding exploit-sensitive purchases. See Factory and purchase systems atlas. |
| Legacy AI TL waypoint handler |
Server/AI/AI_TLWPHandler.sqs:9-31 exists, but the 2026-06-04 AI scout found no static Chernarus caller or compile reference. |
Legacy/orphan candidate. Keep it out of working-order claims unless a dynamic caller is proven; remove or document during AI order cleanup. |
| Factory queue counter leak | Claude DR-33 confirmed Client_BuildUnit.sqf:365 can exit an empty-vehicle purchase before the later WFBE_C_QUEUE decrement at :469. |
Repeated empty-vehicle buys can locally soft-lock a factory category for that player. Every post-enqueue exit path must decrement both the building unitQueu token and the relevant WFBE_C_QUEUE_<type> counter. |
| Factory FIFO token churn |
Client_BuildUnit.sqf uses a random queue token and broadcasts the building queu array on each mutation. |
Perf/JIP hardening gap. Use Factory queue cleanup, unique queue tokens and reduced public broadcasts before expanding factory side effects. |
| Factory buy authority/refund model | Micro-scout 2026-06-04 confirmed there is no RequestBuyUnit/RequestBuildUnit PVF in the source mission; branch refresh 2026-06-06 found current source/Vanilla, stable origin/master / local master 89ae9dad, upstream miksuu/master 89ae9dad and perf/quick-wins 0076040f still debit locally after spawning BuildUnit and leave the dead/null factory exit as queue cleanup only. Release 7ff18c49 keeps the _currentCost plumbing from 7195b331, but its refund lives in the later empty/crewless branch, not the dead/null factory abort. |
Player factory buys remain a larger locality/authority protocol redesign, not a small PVF hardening patch. Decide request/acceptance/rollback semantics, refund policy and server acceptance model before adding expensive or exploit-sensitive factory features. See Factory and purchase systems. |
| Duplicate client skill init | docs/source Chernarus and Vanilla now have one Skill_Init.sqf call at Client/Init/Init_Client.sqf:547, followed by WFBE_SK_FNC_Apply at :571. origin/master still has duplicate calls at :561 and :585; release head 7ff18c49 has one Skill_Init.sqf call at Client/Init/Init_Client.sqf:564, followed by WFBE_SK_FNC_Apply at :587 in both maintained roots. |
docs/source and current release branch carry single-init shape; stable master still duplicates; Arma smoke pending. See Client skill init idempotency. |
| Commander vote AI/no-commander outcome mismatch |
Server_VoteForCommander.sqf:24-29 counts wfbe_vote == -1 as AI/no-commander votes, but :43 selects any non-tied player candidate because it checks _highest >= _aiVotes OR _highest <= _aiVotes. GUI_VoteMenu.sqf:87-89 previews AI/no commander when no option has a majority or row 0 leads. |
Confirmed bug/source-unpatched. Decide intended AI/no-commander and tie semantics, then patch the server condition and smoke player-majority, no-commander-majority, equal-vote and tie outcomes. Use Commander vote/reassignment. |
| Commander reassignment call shape | Current docs/source and maintained Vanilla Server_AssignNewCommander.sqf assign _side = _this, then _commander = _this select 1; RequestNewCommander.sqf calls it with [_side, _assigned_commander]. Stable/upstream/release already use _this select 0 / _this select 1 in both maintained roots. |
Confirmed bug/source-unpatched on the docs branch, partial branch fix elsewhere. Manual commander reassignment still needs local source/Vanilla propagation plus smoke; upstream/release still leave duplicate notification and UI identity cleanup open. Use Commander reassignment call shape and the Commander vote/reassignment smoke matrix. |
| Commander reassignment UI identity |
GUI_Commander_VoteMenu.sqf:33-46 resolves the selected commander by visible leader-name text even though rows store the team index. |
UI correctness debt. Patch with the DR-15 reassignment flow by using row value/team identity, then smoke duplicate/similar names and mid-dialog team changes. Use Commander vote/reassignment. |
| Commander authority and requester validation |
RequestNewCommander currently uses PVF wrapper cooldown logic but does not prove sender authority before mutate-eligible command-side transitions. RequestNewCommander.sqf:14 and Server_AssignNewCommander.sqf:9/10 both contain new-commander-assigned sends; stable/upstream/release make the helper sender reachable by fixing the side argument. |
High. Fix/port assignment call-shape in current source, choose exactly one notification owner, and keep sender/side/role checks in a follow-up owner-validation pass; do not close commander-authority until both layers are patched. |
| Commander vote restart/request edge |
GUI_Menu.sqf:75,91 sends RequestCommanderVote when wfbe_votetime <= 0; RequestCommanderVote.sqf:3-22 resets votes, spawns VoteForCommander and broadcasts commander-vote-start using the payload side/name. |
Useful recovery path with authority-light payload shape. Include vote restart, late join, requester identity and cooldown smoke in commander-authority work. |
| Commander task assignment / Objective Ping branch split | Current source/Vanilla and stable 89ae9dad still build task data and play HQ speech at GUI_Menu_Command.sqf:315-344, but leave targeted/side-wide SetTask sends commented at :335,337,343; Client/PVFunctions/SetTask.sqf:8-14 still creates CommanderOrder if invoked. Release 7ff18c49 re-enables targeted WFBE_CO_FNC_SendToClient calls at GUI_Menu_Command.sqf:336,344 in both maintained roots as "Objective Ping" and registers SetTask at Common/Init/Init_PublicVariables.sqf:36. |
Current-source visible partial UI; release branch-only revived path. Before promotion, smoke commander menu tab, selected-team vs all-player-led targets, receiving-client task creation/completion timer, JIP, side filtering and spam behavior. |
| Supply mission cooldown casing | DR-18 confirms the town seed key and server read/write key differ by case. | Correctness bug. Use Supply mission architecture for flow and Supply mission authority cleanup for patch shape. |
| Supply mission reward authority | Client supply mission start sets truck SupplyFromTown and SupplyAmount; server completion trusts those truck variables. |
Hardening gap. Recompute reward/cooldown server-side from trusted town/truck state. |
| Town mortar scaffold |
Server_ManageTownDefenses.sqf:31-32 has a mortar-management hook shape, while Server_SpawnTownMortars.sqf:19-21 reads the wrong local variable shape and no live town init setter for wfbe_town_mortars was found in the maintained mission scan. |
Broken/dormant scaffold. Keep it out of working town-defense claims; revive only with explicit town anchor setup, variable fix and Arma smoke, or remove/archive it with other dead defense hooks. |
| Supply player-object list indexing | Source Chernarus and maintained Vanilla initialize the WFBE_SE_PLAYERLIST update index before the player-list loop (playerObjectsList.sqf:17-29), but reconnect/supply smoke and stale disconnect-row pruning remain open. |
docs/source propagated; smoke pending. Use Player join/disconnect lifecycle, Source fix propagation queue and Testing workflow. |
| Supply mission player-facing reward copy |
Client/Module/supplyMission/supplyMissionStart.sqf:22-34 computes cargo as town supplyValue * WFBE_C_ECONOMY_SUPPLY_MISSION_MULTIPLIER * supplyUpgradeModifier; Client/Module/supplyMission/supplyMissionCompletedMessage.sqf:8,13-14 grants raw _supplyAmount. stringtable.xml:188-193 still says players receive 4 x the actual value, and WFBE_C_PLAYERS_SUPPLY_TRUCKS_DELIVERY_FUNDS_COEF = 4 at Init_CommonConstants.sqf:268 has no live consumer in this flow. |
Player-facing docs debt. Fix copy when supply reward authority is redesigned, or update stringtable immediately to match the live formula so players are not balancing around dead text. |
| Supply mission command-center scan | Current source Chernarus and maintained Vanilla, stable origin/master 89ae9dad, Miksuu 89ae9dad and perf/quick-wins 0076040f still enumerate nearestObjects [..., [], 80] at supplyMissionStarted.sqf:28, then post-filter Base_WarfareBUAVterminal at :25; the 8-meter player/object scan remains broad by design. Release head 7ff18c49 has the heli-aware typed scan in both maintained release roots at supplyMissionStarted.sqf:52,58. |
Current source/stable/upstream/perf still need the typed scan if this performance cleanup is desired; current release carries it in both maintained roots; Arma truck/heli smoke pending. See Supply mission architecture and Supply mission scan narrowing. |
| Upgrade request authority |
RequestUpgrade accepts side/id/level from clients after local UI checks, then Server_ProcessUpgrade applies progress/state transitions. |
High. Local checks are partial; server-side side, owner, dependency and idempotency checks are still needed before trust assumptions are raised. |
| Support/repair/rearm reward authority |
GUI_Menu_Service, GUI_Menu_EASA, GUI_BuyGearMenu, bounty handlers and WASP repair actions still mutate/announce client-funds paths in places; HQ/camp/town reward emitters are mixed. |
Medium. This is a shared non-isolated economy lane and should follow the upgrade/construction authority design rather than isolated local guards only. |
| Victory/endgame winner inversion and double-fire | DR-11 is the canonical winner-inversion / persisted win-tally finding; DR-36 owns the server_victory_threeway.sqf:23 mechanism and fix shape. |
Correctness bug. Same-tick eliminations can double-fire endgame and overwrite/log the opposite winner. Route implementation through Deep-review findings DR-11/DR-36 and the Hardening roadmap. |
| Threeway victory mode | Earlier DR-12 found WFBE_C_VICTORY_THREEWAY selection can skip the only auto-end detection path. |
Broken/abandoned mode until end conditions are implemented for non-default victory modes. |
| Resistance side supply updates |
Common_ChangeSideSupply.sqf formats wfbe_supply_temp_<side> generically, but server handlers exist only for west/east. |
Resistance side supply not fully wired. |
| Hosted server FPS loops | docs/source Chernarus and Vanilla serverFpsGUI.sqf:1 and monitorServerFPS.sqf:1 exit before their loops when !isDedicated; dedicated publishing remains every 8 seconds. origin/master still sleeps only inside if (isDedicated) (serverFpsGUI.sqf:4, monitorServerFPS.sqf:2). Release head 7ff18c49 guards serverFpsGUI.sqf:4 in both maintained roots, deletes the redundant Server/Module/serverFPS/monitorServerFPS.sqf, and leaves the monitor compile commented in Init_Server.sqf; the old FPS-only RHUD toggle was replaced with GPS toggle behavior in the same release line. |
docs/source and current release branch carry guarded/no-redundant-monitor shape; stable master keeps the old loop shape; Arma smoke pending. See Hosted server FPS loop sleep. |
| Old map blink loop |
Client/Init/Init_Client.sqf:138,140,782; missing targets Client/Functions/Client_BlinkMapIcons.sqf and Client/Functions/Client_AddUnitToTrack.sqf; newer singular Client_BlinkMapIcon and bookkeeping are active. |
Confirmed legacy/missing-file path. Avoid resurrecting the old full-map loop without rebuilding the missing files and doing a performance review; current work should use the guarded per-unit blink path. |
| Supply mission dead twin compile |
Server/Init/Init_Server.sqf:81; Server/Module/supplyMission/supplyMissionStarted.sqf:1-18; Server/Module/supplyMission/supplyMissionActive.sqf; release 7ff18c49 keeps the 7195b331 cleanup that comments the removed compile at Init_Server.sqf:82 and removes supplyMissionActive.sqf / checkCCProximity.sqf in both maintained release roots. |
supplyMissionStarted.sqf registers the live WFBE_Client_PV_SupplyMissionStarted PVEH when called/compiled; the WFBE_SE_FNC_SupplyMissionActive compile points at an existing helper wherever the helper remains, but the broader status-machine cleanup is already routed through the supply mission authority/cooldown lanes. Current docs/source and stable/upstream still keep the dead twin; current release no longer does. Do not treat the second compile as proof of an autonomous supply-mission state machine. |
| Server map blinking units |
Server_MapBlinkingUnits.sqf exec is commented in Init_Server.sqf. |
Disabled/legacy. |
| Old WASP init block |
initJIPCompatible.sqf contains a commented WASP init block marked as old and resource-heavy. |
Legacy/deferred removal. Individual WASP scripts still exist and may be called elsewhere. |
| Server FPS compile variable |
WFBE_CO_FNC_monitorServerFPS compile lines are commented, but Init_Server.sqf later execVMs Server/Module/serverFPS/monitorServerFPS.sqf. |
Not broken; document the direct exec path. |
| Static-defense HC update-back | DR-42 verified Client_DelegateAIStaticDefence.sqf:28 comments out the update-delegation-static_defence send-back, unlike town-AI delegation (Client_DelegateTownAI.sqf:35) which reports vehicles back to Server_HandleSpecial.sqf. Follow-up source check: Common_CreateUnitForStaticDefence.sqf:69 returns only [_teams], and Server_HandleSpecial.sqf:86-96 has only the town-vehicle update-town-delegation receiver. HC upstream history also shows older static-defense HC routing churn in 6b90c872. |
Partial headless feature. HC-created static-defense units are not recorded by the server for cleanup/accounting/re-delegation. Do not merely uncomment the old call; restore tracking only with a deliberate static-defense payload and receiver, or explicitly accept/remove the one-way behavior. Use HC delegation/failover before patching. |
| HC registration owner-id miss |
Headless/Init/Init_HC.sqf:11-15 sends one connected-hc; Server_HandleSpecial.sqf:120-130 only appends the HC group when owner _hc != 0 and otherwise logs a warning with no retry. |
High reliability gap for public HC timing. Add retry/delayed registration or server reconciliation before relying on HC mode for runtime load. |
| HC registration duplicate risk |
Server_HandleSpecial.sqf:127-128 appends group _hc to WFBE_HEADLESSCLIENTS_ID without a visible dedupe guard; disconnect cleanup at Server_OnPlayerDisconnected.sqf:22-28 removes one stored group reference. |
HC idempotency debt. Add an explicit dedupe guard before retry/reconnect work, otherwise the retry fix can create duplicate delegation candidates. |
| Client-FPS delegation trust |
updateavailableactions.fsm:121-125 sends ["update-clientfps", getPlayerUID(player), avgFps]; Server_HandleSpecial.sqf:75-83 trusts the UID/FPS payload, and Server_FNC_Delegation.sqf:153-158 uses stored values to pick delegators. |
Mode 1 authority-light. Validate sender/UID/rate or keep this mode out of hostile public deployments. |
| Server init duplicate binds | DR-43 re-check found live duplicate binds in Init_Server.sqf for WFBE_CO_FNC_LogGameEnd, WFBE_SE_FNC_PlayerObjectsList and WFBE_SE_FNC_AwardScorePlayer, plus commented duplicate remnants for AFK kick, server FPS and MASH marker. Release Chernarus removes the three live duplicates, but release Vanilla still keeps the old shape. |
Low-risk cleanup. Use Server init bind cleanup; coordinate LogGameEnd with DR-13/DR-36 and do not re-enable commented AFK/FPS/MASH remnants as part of this lane. |
| MASH marker duplicate compile | One MASH marker compile is active and a later duplicate is commented. | Cleanup artifact covered by Server init bind cleanup and the MASH owner route in Respawn and death lifecycle; do not re-enable both. |
| Volumetric clouds |
WFBE_C_ENVIRONMENT_WEATHER_VOLUMETRIC is exposed in Rsc/Parameters.hpp:210-214, but Common/Init/Init_CommonConstants.sqf:212 and Client/Init/Init_Client.sqf:218 both force it to 0. |
Intentional locked-off optimization. Do not describe the lobby entry as a live weather choice until forced assignments are removed and smoke-tested. |
| IR-smoke parameter/runtime name split |
Rsc/Parameters.hpp:393-397 declares WFBE_C_MODULE_WFBE_IRS, while constants/init/upgrade gates read WFBE_C_MODULE_WFBE_IRSMOKE (Init_CommonConstants.sqf:238, Init_Common.sqf:320, Upgrades_CO_US.sqf:24-25). |
Config drift. Decide one variable name or add an explicit alias after parameter import; smoke lobby off/on behavior and IR-smoke upgrade availability. |
| Hidden upgrade-clearance switch |
WFBE_C_GAMEPLAY_UPGRADES_CLEARANCE is commented out in Rsc/Parameters.hpp:351-356, but constants/server init and boot fallback still consume/set it (Init_CommonConstants.sqf:225, Server/Init/Init_Server.sqf:333-349, initJIPCompatible.sqf:148,152). |
Operator-facing drift. Treat as internal runtime state unless owner deliberately restores it as a lobby parameter. |
| Orphan-looking BIS High Command parameter |
WFBE_C_MODULE_BIS_HC exists in Rsc/Parameters.hpp:381-385, but headless delegation uses WFBE_C_AI_DELEGATION (initJIPCompatible.sqf:151-170, Init_Server.sqf:109, server_town_ai.sqf:17), and no static Chernarus consumer was found. |
UI/config cleanup candidate. Do not treat it as headless-client enablement; either wire a real Arma High Command feature or hide/remove the parameter. |
| Modded map generator path |
SqfFileGenerator.cs:127-135 writes source Chernarus and maintained Takistan/Vanilla, but the modded-terrain write call is commented and ZipManager.cs:15-17 packages only Missions plus Missions_Vanilla. |
Verify before assuming modded mission regeneration is complete; current release output is source plus generated Vanilla/Takistan unless modded generation/packaging is deliberately re-enabled and validated. |
| Dangerous CRV7PG loadouts | LoadoutManager has WARNING_GAME_CRASH_DO_NOT_USE_IN_LOADOUTS_* weapon/ammunition classes, and WILDCAT.cs references one. |
High-risk data. Keep these warnings visible when changing loadouts. |
| Gear menu cleanup |
GUI_BuyGearMenu.sqf has TODOs about securing vanilla/removing unused code, refreshing targets, vehicle target content and vehicle/backpack templates. |
Partial UI cleanup. See Gear, loadout and EASA atlas. |
| Gear profile template save/import filtering |
Client_UI_Gear_SaveTemplateProfile.sqf:33,52,75 references undefined _u_upgrade; Init_ProfileGear.sqf:17,25 accepts six-field rows before reading index 6. Current source/Vanilla, current origin/master / local master 89ae9dad, Miksuu 89ae9dad, perf/quick-wins 0076040f and release 7ff18c49 all keep both shapes in both maintained roots; the checked gear files did not change from historical stable 2cdf5fb8 to current 89ae9dad. |
Confirmed broken profile-template persistence guard. Use Gear template profile filter; future code work needs both save-filter replacement and import guard/default before trusting profile templates to enforce upgrade gates. |
| Vehicle/backpack cargo equip loop bounds |
Common_EquipVehicle.sqf:27,33,39 and Common_EquipBackpack.sqf:35,41 use inclusive for '_i' from 0 to count(_items) loops in current source Chernarus plus maintained Vanilla, current origin/master / local master 89ae9dad, Miksuu 89ae9dad and release 7ff18c49; the checked cargo helper files did not change from historical stable 2cdf5fb8 to current 89ae9dad. origin/perf/quick-wins 0076040f fixes the five bounds in Chernarus only; perf Vanilla still carries the inclusive loops. |
Confirmed reliability bug in cargo application. Use Vehicle cargo equip loop bounds; future code work should patch current source Chernarus, propagate maintained Vanilla and smoke vehicle/backpack cargo without claiming economy authority hardening. |
| Gear template creation gate needs owner decision | Branch check 2026-06-06: current source/Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, perf/quick-wins 0076040f and release 7ff18c49 all keep Client_UI_Gear_AddTemplate.sqf:136 accepting a new template if its max upgrade is within either WFBE_UP_BARRACKS or WFBE_UP_GEAR; Client_UI_Gear_FillTemplates.sqf:17 displays templates against WFBE_UP_GEAR only, and Client_UI_Gear_SaveTemplateProfile.sqf:33,52,75 still carries the undefined _u_upgrade save filter. The checked gear files did not change from historical stable 2cdf5fb8 to current 89ae9dad. |
Owner-decision consistency debt. Use Gear template profile filter; decide Barracks/Gear semantics before patching AddTemplate, FillTemplates and SaveTemplateProfile together. |
| Gear/EASA/service purchase authority |
GUI_BuyGearMenu.sqf applies gear and deducts funds client-side; current stable origin/master / local master / Miksuu 89ae9dad GUI_Menu_EASA.sqf:47-49 rejects exact-funds purchases and calls EASA_Equip / ChangePlayerFunds client-side; EASA_Equip.sqf:8-38 can silently exit on unsupported/stale vehicle context; service actions still need action-time price/funds/context guards. Branch check refreshed 2026-06-07: current stable improves service button-enable ordering but keeps client-side action debit risks; release 7ff18c49 partially guards rearm/refuel in both maintained roots, but repair/heal and exact-funds EASA remain open. |
Client-authoritative legacy path. DR-28 completes the economy authority class: build, buy, sell, supply, upgrade, ICBM and gear/service are all client-authoritative. Use Service menu affordability guards for the current branch matrix, Gear/loadout/EASA atlas for EASA/loadout scope and BuyMenu EASA QoL branch audit for the UI-only QoL branch. |
| Generated EASA/balance output |
LoadoutManager writes Client/Module/EASA/EASA_Init.sqf and Common/Functions/Common_BalanceInit.sqf; Common_BalanceInit.sqf exits on server while server buy code still calls BalanceInit. |
Generated/locality risk. Change C# data first, inspect generated diffs, and test spawn versus rearm behavior separately. |
| Discord sample/config hygiene |
DiscordBot/preferences_sample.json contains concrete sample IDs and a production-style DataSourcePath; GameData.cs:36-37 uses Preferences.Instance.DataSourcePath or C:\a2waspwarfare\Data, while DiscordBot/FileConfiguration.cs:9-42 is a secondary config helper. Preferences.cs:24-30 also reads/deserializes preferences.json without fail-fast null/parse handling before later command/status code assumes a non-null Preferences.Instance. |
Governance and reliability cleanup. Replace real-looking sample IDs with placeholders, document one intended config source and add explicit config preflight/fail-fast behavior. No token is committed. |
| DiscordBot JSON deserialization | Claude DR-31 verified DiscordBot/src/ExtensionData/GameData/GameData.cs reads database.json with Newtonsoft TypeNameHandling.All on a 60-second status timer, at startup and from a command path. |
High local-write-gated RCE risk. Use TypeNameHandling.None for the flat GameData DTO and remove the dead .Auto deserialization helper. Secret hygiene and command auth are otherwise documented as good. |
| In-repo stats extension vs AntiStack DB extension |
a2waspwarfare_Extension only implements GLOBALGAMESTATS; AntiStack calls a separate A2WaspDatabase DLL that is absent from the repo. WFBE_C_ANTISTACK_ENABLED defaults on via the lobby/fallback constants, so the deployment choice matters before public hosting. Claude DR-29 verified GLOBALGAMESTATS is not an SQF RCE path today because output is discarded, but it has dormant deserialization and async-write risks. |
Deployment dependency split. Do not assume building Extension satisfies AntiStack. Either confirm/install A2WaspDatabase and harden return handling, or operate/default AntiStack disabled until the dependency is real. Add extension presence detection/circuit breaker before public deployment; remove/harden the dead TypeNameHandling.Auto load path and fix async void file writes before treating the extension as robust persistence. |
| WASP HQ recovery locality |
WASP/actions/Action_RepairMHQDepot.sqf performs funds/HQ/town-SV effects largely client-side before server repair signaling. |
Authority-light legacy action. Harden server-side before expanding HQ recovery, town-SV reset or commander-spend behavior. |
| Missing CI/reference validation | Only .github/FUNDING.yml exists; no build/reference/generated-drift checks were found. |
Missing tooling. Add .NET builds, generated-mission drift, SQF reference scans and wiki JSON/JSONL validation when project automation is introduced. |
| Modded mission conflict markers | `rg -l "<<<<<<< | ======= |
| Stale old upgrade dialog |
RscMenu_Upgrade points to missing Client/GUI/GUI_Menu_Upgrade.sqf; the live main menu opens WFBE_UpgradeMenu / GUI_UpgradeMenu.sqf instead. Branch check: docs/source, stable/upstream and release Vanilla keep the stale class; release Chernarus removed it. |
Confirmed stale UI path with branch-scope cleanup debt. Do not revive by recreating the old missing controller or art. Preferred code-owner action is consistent removal or explicit aliasing across maintained roots, followed by live upgrade-menu smoke. Canonical lane: UI resource parity cleanup. |
Generated version.sqf boot dependency |
description.ext:39 and initJIPCompatible.sqf:4 both include version.sqf; this workspace has ignored generated Chernarus and Vanilla Takistan files at version.sqf:1, but .gitignore:1,23 ignores them and Git does not track them. LoadoutManager still generates terrain outputs and modded/stub roots lack complete generated inputs. |
Generated-output/release hazard. Verify the target mission root has the right version.sqf before pack/test claims, especially clean checkouts, generated Vanilla and modded/stub terrain folders. |
| Economy dialog missing controls | Current source/stable/upstream GUI_Menu_Economy.sqf:7-8 writes to 23004/23005/23006; audited RscMenu_Economy controls declare 23002, 23003 and 23008+ instead. Release Chernarus no longer has the stale writes and adds dashboard 23020, but release Vanilla still carries 23004/23005/23006. |
Docs-ready UI parity cleanup. Use UI resource parity cleanup, then smoke Economy disabled state, income controls, sell mode and supply-truck respawn. |
| Duplicate UI resource IDDs | Current source/stable/upstream keep EASA/Economy both on dialog idd = 23000 and RscOverlay/OptionsAvailable both on title idd = 10200; no current mission source findDisplay 23000/10200 caller was found. Release Chernarus moves EASA to 24000, but release Vanilla still duplicates 23000 and release titles still duplicate 10200. |
Docs-ready UI parity cleanup or formal waiver. Start at UI resource parity cleanup, then use UI IDD collision repair; smoke EASA, Economy, RHUD/FPS HUD, action icons and endgame stats after any IDD/display-handle cleanup. |
| RHUD/endgame shared title display handle |
OptionsAvailable and EndOfGameStats both use GUI_SetCurrentCutDisplay.sqf / GUI_ClearCurrentCutDisplay.sqf and therefore the same uiNamespace["currentCutDisplay"]; Client_UpdateRHUD.sqf:89-92, updateavailableactions.fsm:225-230 and GUI_EndOfGameStats.sqf:34-44,86-93 all read/write through it. Branch check 2026-06-05: current source/Vanilla, stable/upstream and release all keep the shared-handle shape. |
Patch-ready UI lifecycle bug. Split display variables or gate RHUD/action-icon recreation during endgame, separate from duplicate-IDD cleanup; smoke RHUD/FPS, action icons and endgame stat bars together. Canonical lane: UI IDD collision repair. |
| Modded missing camp helper file | Napf, Eden and Lingor Common/Init/Init_Common.sqf:52-53,127-128 compile Common/Functions/Common_GetTotalCamps.sqf, but only source Chernarus and maintained Vanilla currently track that file. |
Additional modded-runnability blocker. Do not call those forks runnable until missing helpers, generated inputs and conflict markers are resolved or the forks are regenerated/retired. |
| Camp flag texture drift | Current origin/master / local master / Miksuu 89ae9dad Chernarus and maintained Vanilla set captured camp sideID to _newSID at server_town_camp.sqf:132 but use str _side for the flag texture at :135, where _side is the old owner. Release head 7ff18c49 uses str _newSide in both release Chernarus and release Vanilla at server_town_camp.sqf:135. Server_HandleSpecial.sqf:243,246 can still repair/change a camp side without refreshing the flag object in all checked maintained roots. |
Visual/world-state correctness debt with release-branch capture fix but repair-side flag refresh still open. Patch current source Chernarus and maintained Vanilla, refresh repair-side flag texture, then smoke independent camp capture and camp repair. See Towns, camps and capture atlas. |
| Camp count helper fallback | Branch check refreshed 2026-06-06: current origin/master / local master / Miksuu 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep Common_GetTotalCamps.sqf:10 and Common_GetTotalCampsOnSide.sqf:16 returning 1 for zero-camp towns, plus the same capture-mode, threeway-respawn and depot-buy consumers. Current stable/Miksuu/perf Buy Units callers remain at GUI_Menu_BuyUnits.sqf:111-112; release shifts both maintained-root callers to :117-118. |
Patch-ready caller-semantics debt. Use Towns, camps and capture atlas; split real-count from safe-denominator behavior or add caller-specific zero-camp guards, then smoke capture mode 2, threeway respawn and depot infantry buys on 0/partial/all-camp towns. |
| Buy-menu price/key alignment |
Factory and purchase systems atlas owns the refreshed branch/root matrix. Current docs/source Chernarus, maintained Vanilla, stable origin/master / local master 89ae9dad, upstream miksuu/master 89ae9dad and perf/quick-wins 0076040f keep selected-detail price drift, no level-0 UNIT_COST_MODIFIER reset and the uppercase/lowercase driver-default profile key split. Release 7ff18c49 fixes the selected-detail price formula in both maintained roots (GUI_Menu_BuyUnits.sqf:284) and mirrors both driver-default keys in init/toggle/max-out/reset writes, but still does not reset UNIT_COST_MODIFIER to 1 for level 0 and still reads the lowercase profile key in cost/cap paths. |
UI/economy correctness debt, patch-ready but source-unpatched. Centralize/reset price calculation, normalize one profile key, propagate Vanilla, then smoke list/detail/charge, funds guard, unit-cost levels 0/1/2, crew toggles, max-out and reset. |
| Resistance patrol active latch | Current origin/master / local master / Miksuu 89ae9dad starts server_patrols.sqf from server_town_ai.sqf:295-298 after setting wfbe_patrol_active, but server_patrols.sqf:26 loops while the game is not over and only clears wfbe_patrol_active at :71-72. Branch check 2026-06-05/06: current stable source still carries the ` |
|
| Hardcoded live UI help/status text |
GUI_Menu_BuyUnits.sqf:443-457 hardcodes English vehicle-help hints, and GUI_Menu_Tactical.sqf:604-605 hardcodes artillery ammo request status. |
Localization/UI polish debt. Move to stringtable keys when polishing Buy Units/Tactical; verify translated clients and no missing-key regressions. |
| Vote/help/WASP/main-menu UI edge cases |
Client UI systems atlas owns the branch/root matrix for the vote refresh loops (GUI_VoteMenu.sqf:29,49,61; GUI_Commander_VoteMenu.sqf:58), vote row-color offset (GUI_VoteMenu.sqf:80,82), help load/unload namespace mismatch (Rsc/Dialogs.hpp:3502-3503; release line drift noted there) and orphaned GPS zoom router (GUI_Menu.sqf:202,206). Current source/Vanilla, stable origin/master, Miksuu upstream, perf/quick-wins and release all keep those shapes. WASP display-54 input-lock polling is tracked separately in the WASP marker wait route. |
UI correctness and UX debt, patch-ready but source-unpatched. Fix vote loops plus row coloring, clean the help namespace/onUnload contract, decide remove-vs-revive for GPS 17/18, propagate Vanilla and smoke vote refresh/list coloring, help open/close and main-menu HUD/GPS behavior; smoke WASP marker dialog through its own lane. |
| Destroyed-factory purchase has no refund | Branch-checked 2026-06-06: current source/Vanilla, stable origin/master / local master 89ae9dad, upstream miksuu/master 89ae9dad and perf/quick-wins 0076040f keep GUI_Menu_BuyUnits.sqf:145-156 local queue increment/debit plus Client_BuildUnit.sqf:211-214 dead/null factory cleanup without refund. Release 7ff18c49 keeps the _currentCost plumbing and empty/crewless-branch refund from 7195b331, but the dead/null factory exit at :212-215 still does not refund. |
Decide intended design. If it is a bug, make acceptance/debit atomic or add a single safe refund path owned by one helper; smoke factory death, buyer disconnect, empty/crewless vehicle abort and normal queue completion. See Factory and purchase systems. |
| Latent server buy worker is not player-buy parity | Stable master compiles AIBuyUnit = Server_BuyUnit.sqf (Init_Server.sqf:10) but has no static caller. Player buys use client WFBE_C_QUEUE_* / unitQueu, while Server_BuyUnit.sqf uses team wfbe_queue and always proceeds into server crew creation (Server_BuyUnit.sqf:92-214). |
Factory/AI production design debt. If AIBuyUnit is revived, document the intended AI production semantics and queue model instead of treating it as a server replacement for player buying. |
Generated version.sqf map/profile contract |
description.ext:39, Rsc/Header.hpp:5,9,21 and initJIPCompatible.sqf:4,31,111-113 make generated version.sqf drive header metadata and runtime Chernarus/non-Chernarus flags. IS_NAVAL_MAP also gates boat content through IS_naval_map. |
Generated-output/release hazard. Use Mission config/version include graph; verify target root flags before packaging and do not confuse Missions_Vanilla with the VANILLA macro. |
| Visible parameter runtime-consumer drift | Branch check 2026-06-05: current source/Vanilla, origin/master, miksuu/master and release all expose/default WFBE_C_AI_MAX with no active maintained-root runtime reader found; player follower caps use WFBE_C_PLAYERS_AI_MAX. The same roots expose/default WFBE_C_UNITS_CLEAN_TIMEOUT, but live cleanup reads WFBE_C_UNITS_BODIES_TIMEOUT and only references the old clean-timeout split in a comment; empty vehicles use WFBE_C_UNITS_EMPTY_TIMEOUT. |
Docs-ready code-owner cleanup. Use Mission parameters and Dead/stale code register; decide wire/hide/rename/historical-label policy, then smoke host parameter display, player AI cap UI/RHUD, corpse cleanup and empty vehicle cleanup. |
| Auto-wall construction toggle is global | Current stable refresh 2026-06-06: current source/Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep RequestAutoWallConstructinChange.sqf:3-7 writing one global isAutoWallConstructingEnabled; SmallSite/MediumSite consume that same global at :110 / :125. The 2cdf5fb8..89ae9dad diff only touches checked Init_Common.sqf roots for unrelated town-defense helper compile wiring; release only adds an AARadar exclusion to the consumer condition. |
Workflow/authority risk. Use Construction and CoIn; key by side/requester if it is meant as a player preference, or explicitly document/smoke global behavior. |
| Salvage cleanup, payout typo and authority edge |
Construction and CoIn systems owns the refreshed branch matrix. Current source Chernarus, maintained Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f, release 7ff18c49 and historical Miksuu salvage branches all keep lowercase ChangePlayerfunds in both payout paths while Init_Client.sqf compiles ChangePlayerFunds; all checked roots keep the updatesalvage.sqf ` |
|
| Empty supply trucks linger by design |
Marker cleanup/restoration owns the current-head branch matrix. Current source Chernarus, maintained Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, origin/perf/quick-wins 0076040f and release 7ff18c49 all keep Server_HandleEmptyVehicle.sqf:23 setting _delay = 86400 for supply-truck classes while emptyvehiclescollector.sqf:9,15,17,19 only drains the empty-vehicle queue into the handler. The 2cdf5fb8..89ae9dad diff does not touch the checked empty-vehicle cleanup files. |
Owner-decision logistics/cleanup behavior. Decide whether 24-hour supply-truck persistence is intended support/logistics state or should become shorter/parameterized; if patched, propagate source Chernarus plus maintained Vanilla and smoke ordinary empty vehicles, medical/repair double-timeout vehicles and supply mission/logistics use. |
| Malformed clickable-text sound config |
Client UI systems owns the branch matrix. Current source Chernarus, maintained Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, origin/perf/quick-wins, release and UI theme branches all keep RscClickableText.soundPush[] = {, 0.2, 1}; at Rsc/Ressources.hpp:556; current maintained roots derive 17 controls from that base class. The checked resource/dialog files did not change from historical stable 2cdf5fb8 to current 89ae9dad. |
Patch-ready UI config cleanup. Change the base-class array to a valid value in source Chernarus plus maintained Vanilla, then smoke representative clickable controls in gear, WF menu/HUD toggles, construction/CoIn, artillery and economy before reusing the base class. |
| Buy gear partials |
GUI_BuyGearMenu.sqf includes self-documented TODOs for target refresh, vehicle target content and template scope. |
Partial UI cleanup; avoid expanding templates until gear/vehicle/backpack behavior is mapped. |
| Fast travel fee | Branch check 2026-06-06: current source/Vanilla, current origin/master / local master 89ae9dad, Miksuu upstream 89ae9dad, perf/quick-wins and release all keep the same Tactical fee-mode shape: GUI_Menu_Tactical.sqf:146-147 has the policy TODO, :185-217 hides unaffordable towns and draws local fee text, and :403-406 debits locally on travel. The checked Tactical menu/constants files did not change from historical stable 2cdf5fb8 to current 89ae9dad. |
Working/partial UX, docs-ready owner decision. Use Client UI systems; decide hide-vs-disabled/prompt policy, add a final local funds/context recheck if desired, propagate Vanilla and smoke modes 0/1/2, insufficient/exact/sufficient funds and HQ/town/command-center starts. |
| Stable low-priority TODO cluster | Branch check 2026-06-06: current source Chernarus, maintained Vanilla, stable origin/master, Miksuu upstream, perf/quick-wins and release all keep the same three TODO-only shapes: side-presence logic detection followed by fixed resistance defender setup (Init_Common.sqf:273-285), CoIn border recreation tied to area-size changes but not logic-position moves (coin_interface.sqf:114,419-425) and town-attack waypoint polish comments for combat/speed/radio/camp behavior (Server_AI_SetTownAttackPath.sqf:74-78). |
Consolidated from three vague rows. These are not confirmed broken features by themselves. Routes: Architecture overview for common init/side presence, Construction and CoIn for border relocation, and AI runtime/HC loop map for attack-path revival/polish. |
The 2026-06-04 mini-scout waves are now treated as harvested source-check history. Keep exact chronology in Agent worklog, Subagent discovery swarm, agent-feature-status.jsonl, agent-events.jsonl and git history; do not repeat row-by-row scout output here after canonical owner pages carry the evidence.
| Finding family | Current owner route | Register status |
|---|---|---|
Generated version.sqf, mission config and terrain output contract |
Mission config/version graph, Content structure and maps, Tools/build | Documented; keep release-footgun rows above when they affect current packaging. |
Latent AIBuyUnit, factory queue/debit/refund and purchase semantics |
Factory and purchase systems atlas, Factory queue cleanup, Economy authority first cut | Keep one live status row for the latent server buy worker; do not re-describe it in every scout harvest. |
| UI/HUD/dialog issues such as help unload state, GPS zoom routes, vote rows, service affordability, EASA exact funds, gear templates and buy-menu cost display | Client UI systems atlas, Player UI workflow map, Gear/loadout/EASA atlas, Service menu affordability guards | Owner pages track exact controls and smoke packs; Feature Status should only keep high-risk rows. |
| AI commander, autonomous flag, spawned-unit order inheritance and branch-only AI commander supervisor work | AI commander autonomy audit, AI runtime/HC loop map | Stable master remains partial; branch-only revival evidence must stay branch-scoped. |
| Headless delegation, static-defence accounting and cleanup loops | Headless delegation/failover, AI/headless and performance | Owner pages track payload-shape and lifecycle debt. |
| Construction base area, CoIn null guards, auto-wall toggle and structure logic list cleanup | Construction and CoIn, Construction logic list cleanup | Keep as source-unpatched construction debt; avoid duplicating implementation walkthroughs here. Branch check 2026-06-05: current source/Vanilla, stable, Miksuu upstream and release all keep SmallSite add/add while MediumSite removes. |
| Respawn penalties, threeway defender respawn, HandleAT handler lifecycle and respawn candidate caveats | Respawn/death lifecycle, Towns/camps | Owner pages carry exact conditions and smoke targets. |
| Supply mission completion PV/state, player-object matching, truck/heli branch scope, PR #10-#12 history and side-supply reason logging | Supply mission architecture, Supply mission authority cleanup, Public variable channel index, Economy/Towns/Supply | Current source Chernarus is truck-only; supply-heli evidence is PR/release branch scoped until merged. |
| Side-supply authority, reason-drop parsing, commander assign/vote and economy hardening | Economy authority first cut, Server authority migration map, Hardening roadmap | Keep authority risks live; route repeated fix-shape details to owner pages. |
Runtime cleanup, SideMessage, dropped-item scans, tool analyzers, LoadoutManager and integration footguns |
Server gameplay runtime atlas, Marker cleanup/restoration atlas, Performance opportunity sweep, Tools and build workflow, External integrations | Runtime/tooling pages own exact script and C# references. |
AI_UpdateSupplyTruck.sqf remains the clearest abandoned logistics feature, but its failure mode is config-gated rather than part of normal default play. Server/Init/Init_Server.sqf still has a per-side [_side] Spawn UpdateSupplyTruck; path when supply system 0 and AI commanders are enabled, while the compile line is commented and the referenced Server/FSM/supplytruck.fsm is absent. With current default WFBE_C_ECONOMY_SUPPLY_SYSTEM = 1, normal play avoids the nil-code path; if an admin selects supply system 0 with AI commanders, the server can hit the missing worker, and simply restoring the compile would still fail later on the missing FSM.
Canonical routes: Economy/Towns/Supply, AI commander autonomy audit, Abandoned feature revival review, Current PR #1 supply helicopters.
Old wording that called PR #1 a confirmed unguarded handler-stacking defect is stale for current origin/feat/supply-helicopter / release-branch source checks. Current PR #1 docs and source review show supplyMissionStarted.sqf setting wfbe_supply_killed_eh_set before adding the Killed handler, so repeated reloads do not stack handlers by source shape.
Still open before merge/release wording: repeated load/deliver/destroy runtime smoke, persistent guard behavior, handler-ID/removal or re-arm policy, Vanilla propagation, and clear branch wording that public stable Chernarus remains truck-only. Canonical routes: Current PR #1 supply helicopters, Supply mission architecture, Supply mission authority cleanup.
- Autonomous AI supply trucks/helicopters.
- Formal generated docs from LoadoutManager data classes into mission docs.
- Automated validation that generated Takistan/modded missions match Chernarus source after docs/code changes.
- Automated SQF syntax or reference validation in CI.
Previous: External integrations | Next: Hardening roadmap
Main map: Home | Fast path: Quickstart | Agent file: agent-context.json
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