Record a live traffic feed in your browser, boil it down to a vice timetable, and fly the traffic that was really there. vice does not replay radar — it flies aircraft itself from flight plans — so what a recording has to become is one row per flight, plus the routes they filed.
allow pasting before it will accept pasted
code, type that first and press Enter.loading…
Keep the tab open and the screen awake. The recorder saves a numbered part file every 20 MB
so a long session cannot fill up memory; your browser may ask once whether to allow multiple
downloads — say yes. When you are done, press Stop on the panel (or run
swimRecorder.stop()), which downloads whatever is left.
The recorder only reads. It never sends anything anywhere, and
swimRecorder.stop() puts the page back exactly as it was.
Record for at least as long as you intend to fly, plus about 30 minutes. A timetable contains only the flights you captured: when your recording runs out, the scope goes quiet, however long the sim keeps running.
Record a busy period on purpose. An hour of a major airport is roughly 60–110 movements; an hour of a quiet field may be five, which will not feel like much once vice splits it into arrivals and departures. Note the local time you started — you will want to start the sim near it.
.ndjson part files here, or click to choose them.
A timetable belongs to one airport. vice uses every flight that departs from or arrives at it, and ignores the rest — overflights included.
These are guesses from the keys your feed actually uses. Check them against the example values and fix any that are wrong — the sample column is usually enough to tell.
| vice needs | Field in your recording | Example values |
|---|
| callsign | origin | destination | aircraft_type | time | cargo | op | seen |
|---|
The CSV is the timetable. The JSON is optional: it holds the routes your traffic really filed, which you paste into a scenario so vice stops inventing its own. Step 3 of this page says where each one goes.
Timetables live in a folder named after the airport, and vice finds them on its own — no rebuilding, no editing anything else:
<vice resources>/traffic/timetables/<ICAO>/<Your Name>.csv
Where <vice resources> is:
%AppData%\Vice\resources
(paste that into the Explorer address bar)~/Library/Application Support/Vice/resources
(Finder → Go → Go to Folder)~/.config/Vice/resourcesresources/ folder in
the checkout itselfSo a Denver timetable ends up at
%AppData%\Vice\resources\traffic\timetables\KDEN\Tuesday Evening Push.csv
Create the KDEN folder if it is not there. The file name is the name vice shows
you, so name it something you will recognise.
.csv.A timetable records where each flight went, not how it got there, so vice works out a route
for every flight from its own databases. If your feed carried filed routes, this page will
have built a traffic_routes block from them — the routes your traffic
actually flew.
Open the scenario's JSON file (in <vice resources>/scenarios/), find the
airport's object, and paste the "traffic_routes" member into it alongside the
members already there. Then start vice with that file:
vice -scenario "C:\path\to\your-scenario.json"
vice checks its own scenario routes first, then its database of recently filed routes, then the FAA's preferred routes — so this only overrides what it would otherwise guess.
KDEN, not
DEN or kden.traffic_routes block; vice is guessing. See step 3.