VEAF Mission Creation Tools — Documentation¶
VEAF MCT turns a standard DCS mission into a dynamic, player-driven sandbox — 30+ Lua modules, a build pipeline, and a CLI tool that does the heavy lifting.
Complete toolkit for creating dynamic DCS World missions using VEAF Lua scripts and automation tools.
Start here¶
-
Fly
You are joining a VEAF mission: F10 menus, marker commands, what you can spawn.
-
Discover VMCT
What the tools do and how a mission is made, in ten minutes.
-
My first mission
The tutorial, from an empty folder to a mission running in DCS.
-
Create with an AI
Claude, Gemini or another AI: you describe the mission, it builds it.
-
Take over a mission
A VEAF v5 mission to bring to v6, or another author's mission to adopt.
-
Get help
Where to ask, and what to provide so that someone can answer.
Everything else for mission makers is in the Mission Maker Guide; to contribute to the tools, see the Developer Guide.
How It Works¶
flowchart TD
A["Base .miz\n(DCS Editor)"] -->|veaf-tools mission extract| B["Mission folder\n(src/ + mission.yaml)"]
B --- C["published/\n(VEAF scripts)"]
B -->|veaf-tools mission build| D[".miz ready to fly"]
D -->|DCS loads| E["30+ Lua modules active"]
E -->|Players use| F["F10 markers · Radio menus"]
- Extract — Create a base mission in DCS Editor and extract it into version-controllable source files
- Configure —
mission.yamldeclares active modules;published/provides the VEAF Lua scripts - Build —
veaf-tools mission buildassembles everything into a final.miz - Runtime — DCS loads the
.miz; players interact via F10 markers and radio menus
References¶
| Reference | Description |
|---|---|
| Lua API Reference | Full API for the Lua runtime modules |
| CLI Reference | veaf-tools — all 37 commands, their arguments and every option |
| Updater & release tools | veaf-tools-updater and veaf-build: install, update, publish |
| Testing Guide | Lua unit test suite and CI/CD pipeline |
| Roadmap | Planned features and known limitations |
Quick Start¶
Players and Pilots¶
You are in a mission that uses VEAF scripts. Open the F10 map, place a marker, and type a command — for example _spawn unit, name T-80UD or _cas. See the Pilot Guide for all available commands.
Demo mission¶
The v6 demo mission shows every feature in game, with a guided tour (F10 → Other → Guided tour), in French and in English. It is also the tools' acceptance check, run before every release — see the mission maker guide.
Mission Makers¶
The
.\is required. The default Windows terminal is PowerShell, which does not search the current directory — on purpose.cmd.exeaccepts both forms, so.\works everywhere. See PowerShell or Command Prompt?.
# 1. Download veaf-tools-updater.exe from the GitHub release page and run it:
.\veaf-tools-updater.exe
# → installs veaf-tools.exe and all VEAF scripts in the current folder
Then, depending on your starting point:
You already have a VEAF mission folder (or created one with mission prepare):
.\veaf-tools.exe mission build
You only have a .miz file:
.\veaf-tools.exe mission extract my-mission.miz
# → edit mission.yaml to enable the modules you want
.\veaf-tools.exe mission build
Full workflow: Mission Maker Guide
Developers¶
poetry install --with build
poetry run veaf-build build --version <version>
poetry run test-lua
poetry run veaf-build publish --version <version>
Full reference: Developer Guide
Community & Support¶
- Getting help — where to go, what to provide, where the logs are
- VEAF Discord — real-time help
- GitHub Issues — bug reports and feature requests
- VEAF Website