Pilots pick missions from the F10 menu.
A self-replenishing pool of seven task kinds (STRIKE / SEAD / CAP / CAS / ESCORT / SUPPLY / CSAR) generated from the red threat picture on the map. Accept on the ground, fly, score Perfect on success.
The pilot flow
- Slot into a player aircraft. Stay on the ground.
- Open F10 → Other → Fox3 Tasking → Available Tasks. You'll see a mix of all task kinds the seed supports — typically 9 STRIKE, 2 SEAD, 2 CAP, 2 CAS, 2 ESCORT, plus SUPPLY / CSAR if your slot is helo / transport-capable. Each shows target name, distance, difficulty (1-10), and a threat hint.
- Pick one via F10 → Fox3 Tasking → Accept Task → #N. The system validates you're on the ground (rejects if airborne) and that your airframe matches the kind (SUPPLY / CSAR are helo / transport only).
- Three F10 map markers drop — INGRESS, TARGET, EGRESS — and a Fox-orange polyline draws from your base through the route to the egress. A short text briefing arrives on your group's screen. If your server has SRS-TTS, a ~10-15s voice briefing plays.
- Fly the mission. The hook watches every dead unit. When all of your target's units are destroyed, you get an in-flight cue: “Targets destroyed. RTB to friendly base for PERFECT score.”
- Land at a friendly airbase to bank the perfect score. Or eject / die / mission-end without RTB and you still get the “Full” outcome (75% of points).
- Pool refreshes from the catalog as tasks resolve — there's always something fresh in the menu.
Scoring (4 outcomes)
| Outcome | Targets killed | Recovery | Points |
|---|---|---|---|
| Perfect | 100% | Landed at friendly base | full difficulty (1-10) |
| Full | 100% | Died / ejected / abandoned | round(difficulty × 0.75) |
| Partial | ≥ 50% | (any) | floor(difficulty / 2) |
| Fail | < 50% | (any) | 0 |
Difficulty bands
Difficulty (1-10) is computed at task generation from the threat picture between your base and the target:
- 3 — light defenses, target in friendly airspace, no SAM ring covers ingress
- 5 — 1 SAM threat ring covers ingress, OR 60-100 NM target distance
- 8 — 2+ SAM rings overlap the route, or target is point-defended by AAA / MANPADS, or distance > 100 NM
- 10 — deep strategic strike, > 100 NM with multiple threat rings
Difficulty is shown next to each task in the menu so you can self-select your challenge — the 3-pt easy run after a long sortie, or the 10-pt deep strike when you're fresh.
Strategic target catalog
At build time the engine walks every red unit + structure on the map and emits a target catalog. The runtime hook picks fresh targets from this catalog as you complete tasks. Categories:
- AI ground groups — armor, mech, infantry, artillery, AAA, SAM sites
- AI naval groups — surface ships, frigates, destroyers
- Static ships — moored vessels, cargo, tankers
- Static buildings — warehouses, HQs, depots, factories, comms
- Oil platforms — high-value strategic targets
- Bunkers — fortified positions
The seven task kinds
Each kind has its own success condition. STRIKE / SEAD / CAP / CAS use the standard target-dead + RTB rule from the scoring table above. ESCORT / SUPPLY / CSAR have the variations below.
Multiple active tasks
You can carry several tasks at once. Each has its own target group + waypoints + scoring. Killing a target only resolves the matching task — your other open tasks stay in-progress until you complete them or leave the slot.
Use F10 → Fox3 Tasking → My Active Tasks to review your list. Score shows your lifetime totals on this server.
Persistence (Fox3Persistence v2)
Your lifetime score and active tasks survive mission reloads. When the server rotates the mission or a campaign night ends, Fox3Persistence writes a save file alongside the mission and reads it back on the next load. You log in tomorrow and your numbers are still there.
The save file lives on the DCS server at Saved Games/DCS.openbeta_server/Fox3_Persistence/<mission_id>.json and contains:
- scores — per-pilot lifetime points + outcome counts (Perfect / Full / Partial / Fail) + by-task-type breakdown
- active_tasks — tasks accepted but not resolved at save time. Resume on reload.
- cooldowns — recently-resolved targets, so the runtime generator doesn't hand you the same target twice in a row
Identity (UCID coupling)
Scores are linked to your DCS account ID (UCID), not your nickname — renaming yourself doesn't reset progress. The mission script reads a UCID map written by the Fox3Tasking Hook companion on the server side.
On servers without the Fox3Tasking Hook installed, scores are temporarily linked to nickname. Your lifetime score works fine for that mission, but renaming yourself or jumping to a different server resets your identity. Ask your server operator to install the Hook to lock in true cross-server progression.
All Fox3-managed servers ship the Hook by default. Self-hosted Fleet-tier servers need a one-time install — the Hook companion is a small .lua file dropped into Saved Games/DCS.openbeta_server/Scripts/Hooks/.
Migration note (May 2026)
If you flew Fox3 missions before May 2026, your existing campaign saves are auto-upgraded on first load — no action needed. The v1 → v2 schema lift preserves every dead-unit / dead-group / flag from your old save and adds the new tasking block. You won't notice the upgrade except that lifetime scores start accumulating from the next sortie.
Known limits
- SUPPLY / CSAR skip silently when the seed has no transport / helo player slots. STRIKE + SEAD + CAP + CAS + ESCORT pools always populate when their target prerequisites exist.
- Player FMC/INS routing isn't modified — DCS doesn't expose that API. You navigate via the F10 markers + drawn route line. (See issue #21 for the design discussion.)
- Servers without the Hook companion use nickname-based identity. See the UCID coupling section above.
SRS-TTS (optional)
If your server has SRS-TTS reachable, every accept and outcome message is also delivered as voice audio (~10-15s briefing on accept, ~3s announcement on outcome). The build .miz works fine without SRS — text always shows. Audio is pure ambiance polish.