Project overview and operator reference.
FLO is a persistent Arma 3 combined-arms campaign packaged as a HEMTT addon. The server owns campaign startup and runtime systems, so the campaign can continue after all players log off. A logged-in admin is still required to configure a fresh campaign, and saved progress is loaded only when explicitly selected.
- Dynamic objectives, frontline ownership, staged capture, and strategic links.
- Independent EAST and WEST GTN commanders for attacks, defense, reserves, and support.
- Persistent virtual groups that activate near players and return to simulation-safe virtual state.
- Resource-backed logistics, supply nodes, replacements, transport, artillery, and air support.
- Civilian population, reputation, local intel, missions, and reactions to combat.
- A Store for gear, vehicles, and recruitable AI; the legacy Arsenal and request menu are removed.
- UI-based FOB/COP deployment; physical deployment containers are no longer required.
- Explicit save, continue, and reset flows for long-running hosted or dedicated campaigns.
Runtime:
- Arma 3 version
2.18or newer. - CBA_A3.
- Any mods required by the selected custom or auto-discovered factions.
Development:
- The bundled HEMTT executable at
.tools/hemtt/hemtt.exe, or a compatible HEMTT installation.
Custom faction fields and runtime requirements are documented in the faction data reference.
Run from the repository root:
.\.tools\hemtt\hemtt.exe check
.\.tools\hemtt\hemtt.exe build
.\.tools\hemtt\hemtt.exe launchcheckvalidates config and SQF without packaging.buildwritesflo_main.pboto.hemttout/build/addons/.launchstarts the configuredmissions/FLO_Test.Altisdevelopment mission with CBA.
HEMTT diagnostics must be fixed at the source; do not suppress them. For a manual mod layout, place the built PBO at @FLO/addons/flo_main.pbo and load both CBA and FLO on every server and client.
Set FLO > Campaign > Campaign launch mode in CBA settings before mission initialization:
| Mode | Behavior |
|---|---|
Fresh setup |
Ignores saved progress and waits for an admin to complete setup. |
Continue saved progress |
Loads a valid FLO save; otherwise starts fresh. |
Reset saved progress |
Deletes the current FLO save and starts fresh. |
Fresh setup configures factions, commander posture, player start, starting territory, enemy presence, objective filtering, virtualization limits, reputation, and resources. Starting money defaults to 5000.
The setup dialog opens only for a hosted server or a client logged in as admin. Once initialization completes, no player commander or occupied slot is required to keep server-owned campaign systems running. Clients remain on the deployment screen until the server publishes FLO_MissionReady, then receive one cleanup respawn at the campaign start.
- Open the FOB/COP Deployment Panel with
Ctrl+Shift+D. Deployment requires an admin, officer, or group leader and is validated by the server. - Use the Store action at a FOB or COP to buy gear and vehicles or recruit AI.
- Commander support, civilian interactions, tasking, and map intel appear through their in-game actions and notifications.
FLO stores campaign data in the server profile namespace. Saves never auto-load: select Continue saved progress for the next session. Changes to faction pools or objective templates do not retroactively reseed groups already stored in an old save.
Add money from the admin debug console:
[5000] remoteExecCall ["FLO_fnc_addMoney", 2];The amount is added to the server-authoritative balance and synchronized to clients.
Custom definitions provide the fallback unit, vehicle, air, support, and Store pools used throughout the campaign. The editable files are:
The setup UI also discovers compatible loaded CfgFactionClasses entries. Bundled curated presets have been removed; use custom definitions for deliberate class selection and pricing, or select auto-discovered factions for loaded-mod compatibility. Numeric force composition is configured in the setup UI rather than duplicated in faction files.
fn_addonPostInit.sqf starts the addon on server and clients. The server then runs fn_initPhaseManager.sqf in this order:
- Detect or reset saved progress.
- Load saved configuration or wait for fresh setup.
- Build faction catalogs.
- Index or restore objectives.
- Seed or restore virtual forces.
- Start commanders, logistics, civilians, support, and client systems.
Clients finalize only after the server marks the mission ready.
| Path | Purpose |
|---|---|
addons/main |
Authoritative addon source and config. |
addons/main/Functions |
FLO gameplay and framework systems. |
addons/main/UI |
Store, deployment, setup, and HUD definitions. |
addons/main/Factions |
Custom faction data and schema reference. |
missions/FLO_Test.Altis |
HEMTT launch and integration-test mission. |
.hemtt/project.toml |
Build and launch configuration. |
Runtime systems belong under addons/main; the test mission should remain a thin shell.
Use the Arma RPT and search for these prefixes:
| Prefix | Meaning |
|---|---|
[FLO_INIT] |
Server initialization phases and failures. |
[FLO_INIT_CLIENT] |
Client readiness and finalization. |
[FLO_SETTINGS] |
CBA setting registration. |
[FLO][PERF] |
Startup and heavy-system timing diagnostics. |
[FLO][MONEY] |
Authoritative balance changes. |
Phases 3 and 4 emit startup-only [FLO][PERF] measurements for objective indexing, graph construction, save restoration, virtualization setup, and group seeding. Compare logs only under similar map, faction, save, and objective conditions.
Common checks:
- Missing CBA settings: confirm CBA and FLO are both loaded, then inspect
[FLO_SETTINGS]lines. - Setup dialog does not open: select
Fresh setupand log in as admin or host the session. - Continue mode starts fresh: inspect
[FLO_INIT]for a missing, incomplete, or incompatible save. - Initialization stalls or fails: find the last completed phase and the reported
FLO_InitError. - Build problems: run
hemtt checkfirst and fix every reported source issue.
Use CONTRIBUTING.md for commit-message requirements. Keep transient handoff state and implementation-specific design notes out of this operator guide.
FLO is distributed under the GNU General Public License v3.0.