// DCS World External AI Engine — v0.9 Stable

IASER Intelligent Autonomous System
for External Reasoning

A real-time AI engine for DCS World PvE dynamic campaigns — no server restart required. Powered by ONNX neural inference, military doctrine, and a C# .NET 10 backend that thinks, adapts, and reacts at combat speed.

0 AI Units / Tick
0 Concurrent Players
0 Max Tick Duration
0 Maps Supported
Scroll
TACTICAL AI 500ms TICK ONNX INFERENCE REAL-TIME DECISIONS DYNAMIC CAMPAIGN NO REBOOT STRATEGIC AI OODA LOOP MILITARY DOCTRINE HISTORICAL ACCURACY C# .NET 10 5000 UNITS / TICK LUA BRIDGE TCP PORT 42674 8 MAPS SUPPORTED ALL ED UNITS TACTICAL AI 500ms TICK ONNX INFERENCE REAL-TIME DECISIONS DYNAMIC CAMPAIGN NO REBOOT STRATEGIC AI OODA LOOP MILITARY DOCTRINE HISTORICAL ACCURACY C# .NET 10 5000 UNITS / TICK LUA BRIDGE TCP PORT 42674 8 MAPS SUPPORTED ALL ED UNITS

What IASER brings
to the battlefield

Six AI-driven systems working in concert to power living, breathing campaigns.

01 / 06

ONNX Neural
Inference Engine

Decisions at every level—tactical, strategic, threat—are computed by Microsoft.ML.OnnxRuntime models loaded at startup. Batched tensor execution, feature normalization pipelines and session caching ensure sub-frame inference for thousands of units simultaneously.

OnnxRuntime Feature Pipeline Batch Inference Softmax Sampling
OnnxSessionManager.cs
1public Tensor<float> RunBatch(
2 string modelKey,
3 float[] features,
4 int batchSize
5) {
6 var session = _cache[modelKey];
7 var tensor = FeaturePipeline
8 .NormalizeMinMax(features,
9 [batchSize, 64]);
10 return session.Run(tensor);
11}
12
13// ~0.8ms for 5000 units
02 / 06

Persistent Dynamic
Campaign, Zero Reboot

CampaignSerializer compresses full state to GZip JSON. CheckpointManager auto-saves every 5 minutes. RollbackService restores to N-1 on incoherence. Hot-reload lets you push new scripting mid-mission — the campaign never stops.

CampaignSerializer CheckpointManager Hot-Reload RollbackService
5 min
Auto-Checkpoint
GZip
State Compression
N-1
Rollback Depth
0 s
Server Downtime
03 / 06

Multi-Layer
AI Decision Hierarchy

Three tiers mirror real military doctrine: StrategicAI sets campaign objectives, CampaignManager orchestrates phases, TacticalAI manoeuvres units every 500ms. Each tier runs independently, communicating via an internal EventBus for instant reaction.

StrategicAI TacticalAI LogisticsAI ThreatAssessment
TacticalAI.cs
1// 500ms tick — all active groups
2TacticalAction[] actions = [
3 Hold, Advance, Retreat,
4 Flank, Suppress,
5 SeekCover, Escort
6];
7
8// ONNX → softmax → temperature
9var cmd = PostProcessor
10 .Sample(logits, temp: 0.8f);
04 / 06

Zero-Latency
Lua TCP Bridge

IASER_bridge.lua runs inside DCS's Lua 5.1 scripting engine, hooking into Export.lua callbacks. Events are serialized to newline-delimited JSON and streamed over TCP port 42674 to the C# backend in under 200ms end-to-end.

TCP:42674 JSON-NL Export.lua BridgeListener
<200ms
Command Latency
42674
TCP Port
JSON
Wire Protocol
20/f
Cmd Batch Limit
05 / 06

Military-Doctrine
Unit Placement

DoctrineEngine applies historically accurate formation offsets: SAM batteries, Wedge, Column, Line. HistoricalAccuracyValidator enforces IntroducedYear and RetiredYear per unit, per coalition. UnitPlacer checks map bounds on every spawn.

DoctrineEngine SAM Battery Formation Rules Historical Accuracy
DoctrineEngine.cs
1// Formation offset by category
2var offsets = category switch {
3 SamBattery => GetSamOffsets(),
4 Wedge => GetWedgeOffsets(),
5 Column => GetColumnOffsets(),
6 _ => GetLineOffsets()
7};
8HistoricalValidator.Check(
9 unit, year: CampaignYear);
06 / 06

Enterprise-Grade
Scalability

AI LOD processing, ONNX tensor batching, Task.WhenAll parallelism and ArrayPool recycling keep IASER under 2 GB RAM and below 60% single-core CPU at peak load — even with 200 players and thousands of units in play.

AI LOD ArrayPool Task.WhenAll Parallel.ForEach
<2 GB
RAM Footprint
<60%
CPU Single-Core
5000
Units per Tick
200+
Concurrent Players

Six layers.
One unified engine.

Clean separation of concerns from the DCS Lua bridge to the persistence layer.

IASER.Bridge

Bridge Layer

Non-blocking async TCP listener and CommandDispatcher. Reads newline-delimited JSON from DCS Lua, publishes to EventBus, writes priority-queued commands back.

IASER.Core

Core Engine

EventBus orchestrating all subsystems, WorldStateManager applying DCS events to the mutable world model, and the main update loop with precise 500ms ticks.

IASER.AI

AI Engine

Hierarchical AI: StrategicAI (30s), CampaignManager (60s), TacticalAI & LogisticsAI (500ms), ThreatAssessment (500ms). All running in parallel via Task.WhenAll.

IASER.Inference

ONNX Inference

OnnxSessionManager loads and caches N models at startup. Batched tensor execution with ArrayPool recycling. FeaturePipeline normalises WorldState vectors to float[64].

IASER.UnitPlacement

Unit Placement

DoctrineEngine maps unit categories to real-world formation offsets. HistoricalAccuracyValidator enforces era-correct unit selection per coalition. UnitRegistry covers all ED units.

IASER.Persistence

Persistence Layer

CampaignSerializer stores world state as compressed JSON. CheckpointManager auto-saves every 5 minutes. RollbackService detects incoherence and restores the last valid checkpoint automatically.

The OODA Loop,
Adapted for War

IASER's AI pipeline mirrors real military decision-making: Observe, Orient, Decide, Act — at machine speed.

OBSERVE
DCS Events (UnitHit, ZoneCaptured) WorldState Update ThreatAssessment Scoring 500ms Tick
ORIENT
FeaturePipeline Extraction ONNX Inference (tactical, strategic, threat) Situation Evaluation Critical Front Detection
DECIDE
TacticalAI: Manoeuvre & Engagement StrategicAI: Objective Reallocation CampaignManager: Phase Transitions ROE Overrides
ACT
CommandDispatcher → DCS Lua UnitPlacement: Doctrine Spawn LogisticsAI: Convoys & Resupply coalition.addGroup()

Built for
extreme scale

Verified targets under full load: 200 players, thousands of units, all AI tiers active.

Total Tick Duration
Target <400ms | Critical >900ms
<400 ms
Command → DCS Latency
Target <200ms | Critical >1s
<200 ms
AI Units per Tick
Target ≥5000 | Critical <2000
5 000+
Concurrent Players
Target ≥200 | Critical <50
200+
Memory Footprint
Target <2GB | Critical >4GB
<2 GB
CPU Usage (ONNX)
Target <60% single core | Critical >90%
<60 %

Every map.
Every unit.

All Eagle Dynamics theatres and unit catalogues supported out of the box, plus full mod compatibility.

🏔️
Caucasus
Map
🏜️
Persian Gulf
Map
🌿
Syria
Map
🌊
Mariana Islands
Map
🌐
South Atlantic
Map
🏝️
Sinai
Map
❄️
Kola Peninsula
Map
⚙️
All Mods
Mod Layer

From v0.1 to 1.0
the journey.

quality over deadlines — every version is fully stable before the next begins.

v0.1
Foundations & Connectivity

TCP bridge, ONNX pipeline, CampaignSerializer, UnitRegistry, 8 map adapters, DoctrineEngine.

✓ Completed
v0.2 – v0.4
Tactical AI · Dynamic Campaign · Scalability

TacticalAI with 7 actions, ONNX fallback heuristics, StrategicAI, CampaignManager phase transitions, LOD performance system.

✓ Completed
v0.5 – v0.7
Swarm AI · Observability · Logistics

Swarm AI formations, Admin API, LogisticsAI convoys & depots, full state resync, hot-reload support.

✓ Completed
v0.8 – v0.9
Dynamic Weather · Hardening

Dynamic weather AI adaptation, environmental awareness, stability hardening, pre-release QA pass.

✓ Completed
v1.0
Public Stable Release

Full unit test coverage, CI pipeline, public documentation, final ONNX demo model set, official release.

⟳ In Progress

Deploy intelligence.
Command the battlefield.

IASER v1.0 is coming. Join the waitlist and be first in line when the external AI engine for DCS World opens to the public.