Simple Traffic Compiler

Write your own offline AI flights in plain text · validate · export flight plans for MSFS

Line 1 Drop .txt files here
File format reference · full walkthrough in Guide

The format follows the classic TTools / AIFP text files, plus two optional extensions proposed in the forum thread: parking numbers and waypoints. Times are UTC. Lines starting with // or ; are comments.

Flight plans: one line per aircraft, the full repeating schedule:

AC#1,4326,30%,24Hr,VFR,08:35,10:32,150,R,0001,ETAR,16,12:15,14:28,240,R,0002,EBFS,12,…,EBBL,22
│    │    │   │    │   └─ leg: depart,arrive,FL,F/R,flight no.,destination[,parking]
│    │    │   │    └─ IFR or VFR
│    │    │   └─ repeat period: 1Hr 2Hr 3Hr 4Hr 6Hr 8Hr 12Hr 24Hr WEEK
│    │    └─ chance the schedule runs (1–100%)
│    └─ registration / callsign
└─ aircraft ID from the Aircraft file
  • The aircraft's home base is the last destination on the line. The first leg departs from there, so every schedule closes its own loop.
  • Flight level is in hundreds of feet: 150 = 15,000 ft.
  • WEEK schedules put a day in front of each time: 1/08:35. Day 0 is Monday, 6 is Sunday.
  • Waypoints go between a leg's departure and arrival time: WP,N51* 05.30',E05* 32.90',150, or a named point from the Waypoints file: WP,TRNG1,030.

Airports: EBBL,N51* 10.10',E05* 28.20',200 (ICAO, latitude, longitude, elevation in feet). Decimal degrees work too.

Aircraft: AC#1,250,"SC Designs F 16C Fighting Falcon" (ID, cruise speed in knots, exact aircraft title from aircraft.cfg).

Checking titles: in Simple Flight Traffic, open Installed aircraft and click Save list for the editor. Load that file with Installed aircraft list… below the editor, and any title that isn't installed gets a warning with the closest match.

Waypoints (optional): TRNG1,N50* 45.00',E05* 20.00' (name, latitude, longitude).

Export gives you a .zip with one MSFS .PLN per leg, a schedule.json that Simple Flight Traffic flies in MSFS, AIFP-compatible text files (waypoints and parking removed, since AIFP doesn't support them), and your source files.

Validation

Route map

Schedule

Click an aircraft to focus it

Legs

Guide: Simple Traffic Compiler

What it does

You write your own AI flights as short lines of text: which aircraft, which airports, what times. The editor checks everything, shows the routes on a map and the schedule on a timeline, then exports a package. Simple Flight Traffic, the free Windows app, reads that package and flies the flights as AI traffic in Microsoft Flight Simulator 2020.

The format follows the classic TTools / AIFP text files from FS2004 and FSX, so existing flight plans adapt easily.

Quick start

  1. Airports: click Build a flight… and type an ICAO code, name or city under “Add an airport”. It knows about 19,000 airports and fills in the coordinates for you. Or type a line yourself in the Airports tab: CYOW,N45* 19.35',W75* 40.15',374 (ICAO, latitude, longitude, elevation in feet).
  2. Aircraft tab: one line per aircraft type: AC#1,450,"Airbus A320 Neo Asobo" (ID, cruise speed in knots, the exact title from the aircraft's aircraft.cfg).
  3. Flight plans tab: click Build a flight… under the editor and fill in the form: it writes the line and works out the arrival times. Or type the line yourself (see the next section).
  4. Check the Validation panel: fix anything red. Click a message to jump to its line.
  5. Click Export package and open the .zip in Simple Flight Traffic.

New here? Click Load example in the top bar to see a complete set of files.

Writing a flight plan line

Each line is one airframe and everything it flies in one repeat period:

AC#1,C-TEST,100%,24Hr,IFR, 06:15,06:55,200,F,101,CYUL, 07:35,08:15,200,F,102,CYOW
│    │      │    │    │    └─ legs, six values each ──────────────────────────────┘
│    │      │    │    └─ IFR or VFR
│    │      │    └─ repeat period: 1Hr 2Hr 3Hr 4Hr 6Hr 8Hr 12Hr 24Hr WEEK
│    │      └─ chance the schedule runs each period (1–100%)
│    └─ registration / callsign
└─ aircraft ID from the Aircraft tab

Each leg is departure time, arrival time, flight level, F/R, flight number, destination, optionally followed by a parking number.

  • Home base: the last destination on the line is where the aircraft lives. The first leg departs from there, so every schedule ends where it starts.
  • Times are UTC (Zulu), the same clock Simple Flight Traffic shows. Ottawa in summer is UTC−4, so 06:15 UTC is 02:15 local.
  • Flight level is hundreds of feet: 200 = 20,000 ft, 045 = 4,500 ft.
  • F/R is the old TTools flag (fixed or relative); keep F if unsure.
  • WEEK schedules put a day before each time: 1/09:00. Day 0 is Monday, 6 is Sunday.
  • Percentage is rolled once per period: 30% means the aircraft flies on about 3 days in 10. Use 100% while testing.

Waypoints (optional)

Put waypoints between a leg's departure and arrival times, for training routes, low-level sorties or scenic flights:

13:00, WP,N50* 58.00',E05* 45.00',045, WP,TRNG1,020, 14:10,045,R,0421,EBBL
  • WP,latitude,longitude,altitude for a one-off point.
  • WP,NAME,altitude for a point defined once in the Waypoints tab (TRNG1,N50* 45.00',E05* 20.00').
  • A flight that departs and lands at the same airfield needs waypoints, or it has nowhere to go.

Getting aircraft titles exactly right

MSFS only creates an AI aircraft if its title matches an installed aircraft exactly, letter for letter. The easiest way:

  1. In Simple Flight Traffic click Installed aircraft… and then Save list for the editor.
  2. Here, click Installed aircraft list… under the editor and pick that file.
  3. Any title that isn't installed now gets a warning with a “Did you mean…?” suggestion.

You can also copy a title straight from the Installed aircraft window, or read the title= line under [FLTSIM.0] in the aircraft's aircraft.cfg. The aircraft must also be able to fly as AI. Default Asobo airliners are a safe first test.

Reading the validation panel

  • error must be fixed before you can export: unknown airports or aircraft, bad times, a schedule longer than its repeat period.
  • warn is worth a look but won't stop you: short turnarounds, legs too fast for the aircraft's cruise speed, VFR above FL195, titles not in your installed list.
  • info is just a note, such as aircraft or waypoints you defined but never used.

The map shows every leg (dashed = VFR), the schedule shows when each aircraft flies, and the legs table shows distance and the speed each leg needs. Click an aircraft on the map or timeline to focus on it.

Export and fly

Export package downloads a .zip containing:

  • plans/: one MSFS flight plan per leg (you can open any of them in the sim's world map to check a route)
  • schedule.json: everything Simple Flight Traffic needs
  • aifp/: TTools/AIFP-style text files, if you also use AIFP
  • source/: your text files, to open here again later

Open the .zip in Simple Flight Traffic (no need to unzip it). Its own Guide button explains the rest.

Tips

  • First test: one aircraft, 100%, two airports near where you fly. In Simple Flight Traffic click Start now and the first flight leaves in about 3 minutes, whatever times you wrote.
  • Times without the arithmetic: Build a flight… lets you enter departures in your local time and converts them to UTC, and it calculates every arrival time.
  • Your files are saved in this browser automatically. Use Save this file to keep copies, and Open files… or drag and drop to load .txt files.
  • Aircraft only appear within the app's range (about 30–40 nm works best), so build schedules around where you fly.

Build a flight

Fill this in and the flight plan line is written for you. Arrival times are worked out from the distance and the aircraft's speed.

Aircraft not in the list? Add one
Airport not found? Enter it by hand

Legs

The line it will add (times in UTC)