IL-2 Mission Guard is a modern Windows tray application that protects work in the IL-2 Great Battles and IL-2 Korea Mission Editors.
It asks the editor to run its normal File > Save command at a configurable interval, waits for the complete mission family to finish writing, and creates timestamped recovery points that can be restored from the tray menu.
Download the current executable from GitHub Releases. Mission Guard is portable and does not require an installer.
Future release executables will use free code signing provided by SignPath.io, with a certificate issued by the SignPath Foundation. The application is currently pending, so existing beta releases are unsigned. See the project's code signing policy and privacy policy.
- Supports
STEditor.exefrom IL-2 Great Battles andIL2Editor.exefrom IL-2 Korea. - Uses the editors' native Save command instead of simulated keyboard input or code injection.
- Saves every same-basename mission companion, including
.Mission,.msnbin, localization, list and metadata files. - Waits for mission-family writes to stabilize before creating a recovery point.
- Keeps a configurable number of timestamped snapshots per mission.
- Stores a SHA-256 checksum and length for every saved file.
- Shows damaged recovery points as disabled instead of attempting an unsafe restore.
- Creates a separate safety backup before replacing current mission files.
- Closes and reopens the matching editor when restoring a mission.
- Imports legacy recovery points without deleting the old copies.
- Keeps editor monitoring, autosave, recovery history, updates, and the tray icon in a tiny-footprint native host.
- Opens the modern .NET 10/WPF dashboard only on demand and closes that UI process when its window is closed.
- Includes a structured recovery library, compact settings page, and themed update experience using WPF UI controls.
- Uses the branded Mission Guard shield in the Windows notification area.
- Reports the result of every manual recovery-point request instead of silently skipping it.
- Allows routine success notifications to be muted while always showing failures.
- Supports System, Dark, and Light appearances for its dashboard, settings, controls, dialogs, and update experience.
- Checks the official GitHub Releases feed for updates without blocking the tray application.
- Downloads only the expected release executable and verifies GitHub's published SHA-256 digest before installation.
- Ships as one self-contained x64 executable; users do not need to install .NET separately.
| Overview | Recovery points |
|---|---|
![]() |
![]() |
| Settings | Updates |
|---|---|
![]() |
![]() |
Run IL2MissionGuard.exe. Its Mission Guard icon appears in the Windows notification area.
Mission Guard defaults to:
- autosave enabled for both editors;
- saving every five minutes;
- keeping ten recovery points per mission; and
- showing a notification after each successful recovery point (failures are always shown).
A new or <empty> mission needs to be saved manually once so it has a filename. Mission Guard deliberately skips unnamed missions to avoid opening an unattended Save As dialog.
Settings provides independent toggle switches for Great Battles and Korea autosave. Turning both editor switches off disables autosave completely. The successful-recovery notification has its own independent toggle; failure notifications are always shown.
Right-click the tray icon to:
- open the Mission Guard status window;
- create a recovery point immediately;
- browse and restore previous recovery points;
- open Settings... to configure every autosave option;
- open the recovery-point folder;
- open the diagnostic log;
- check for updates or install an available update; or
- exit Mission Guard.
Double-click the tray icon to open the live status window. You can also use IL2MissionGuard.exe --status, or open Settings directly with IL2MissionGuard.exe --settings. If Mission Guard is already running, either command opens the requested window in the existing tray process.
Settings are stored in:
%LOCALAPPDATA%\IL2MissionGuard\IL2MissionGuard.ini
The relevant section is:
[AutoSave]
Enabled=true
GreatBattles=true
Korea=true
IntervalMinutes=5
HistoricSnapshots=10
TrayNotifications=true
Theme=SystemIntervalMinutes accepts 1–60, HistoricSnapshots accepts 1–100, and Theme accepts System, Dark, or Light. The System setting follows the Windows app theme.
For isolated testing, set IL2MISSIONGUARD_SETTINGS_FILE to an alternative INI path.
Mission Guard checks the repository's newest published GitHub release, including prereleases, after startup. The check runs in the background. When a newer version is available, a tray notification and an Install update menu item appear. You can also choose Check for updates... at any time.
IL2MissionGuard.exe --check-updates opens the same manual update check in a running tray process.
Installation always requires confirmation. Mission Guard downloads the exact IL2MissionGuard.exe release asset over HTTPS, verifies it against the SHA-256 digest published by GitHub, replaces the running executable after it exits, and restarts it. Update failures leave the existing executable intact and are written to the diagnostic log.
Recovery points and diagnostics are stored in:
%LOCALAPPDATA%\IL2MissionGuard\Autosave
%LOCALAPPDATA%\IL2MissionGuard\autosave.log
Older %TEMP%\STEditor\Autosave content is imported non-destructively. Restore safety copies are kept beneath Autosave\RecoveryBeforeRestore.
Exit Mission Guard from its notification-area menu and delete IL2MissionGuard.exe. If another utility was configured to start Mission Guard alongside an editor, disable that integration as well.
Settings, logs, and recovery points are intentionally left under %LOCALAPPDATA%\IL2MissionGuard to prevent accidental data loss. Delete that folder only if you no longer need any recovery points.
Requirements:
- Windows 10 or newer;
- the .NET 10 SDK;
- Visual Studio 2022 Build Tools with the Desktop development with C++ workload; and
- the Windows 10 or 11 SDK.
Build and test from PowerShell:
.\build.ps1The release remains a single self-contained executable at artifacts\release\win-x64\IL2MissionGuard.exe. It embeds the WPF interface and extracts that interface to the current user's local application-data directory only when a window is opened. The build script runs both the native and managed tests before producing the combined executable.
The managed projects can also be built directly:
dotnet run --project .\tests\IL2MissionGuard.ManagedTests\IL2MissionGuard.ManagedTests.csproj -c Release
dotnet publish .\src\IL2MissionGuard.Wpf\IL2MissionGuard.Wpf.csproj -c Release -r win-x64 --self-contained true -o .\artifacts\release\win-x64Warnings are treated as errors. The production tray host is native C++; the on-demand interface targets .NET 10 WPF and uses the WPF UI control library.
- Mission Guard does not patch or inject code into either Mission Editor.
- The Save message has a bounded timeout and is skipped while a modal dialog disables the editor window.
- Recovery metadata is validated before use, and stored files are rehashed immediately before restore.
- A restore never begins until the matching editor has closed.
- Current files are backed up before replacement, and a failed replacement attempts an automatic rollback.
- Snapshot paths and filenames are constrained to their expected directories to prevent metadata path traversal.
- Update metadata and downloads are accepted only from the project's expected GitHub release URLs, and the downloaded executable must pass SHA-256 verification before it can run.
The following names are stable runtime and storage contracts:
- mutex:
Local\IL2MissionGuard.AutoSave.Agent - stop event:
Local\IL2MissionGuard.AutoSave.Stop - metadata suffix:
.missionguard-autosave.json - settings and recovery root:
%LOCALAPPDATA%\IL2MissionGuard
They keep recovery metadata consistent and prevent duplicate Mission Guard agents.
IL-2 Mission Guard is available under the MIT License.
IL-2 Sturmovik and related names are trademarks of their respective owners. This project is an independent community tool and is not affiliated with or endorsed by 1C Game Studios.



