Freeware

Help build the ground.

XPGuard is community-built. The more pilots and controllers pitch in, the more airports light up. There's a job here whether you write code, fly online, or just know an airport well.

Ways to help

Three ways to pitch in.

Map a field

Add an airport

The biggest need. Generate a stop-bar map from an airport's data and submit it — no C++ required, just the airport and the extractor.

Code

Improve the plugin

The X-Plane plugin and the EuroScope side are open. Help with rendering, the control panel, the network layer, or build fixes.

Fly & report

Test on VATSIM

Fly the ground at mapped fields, catch bars that sit wrong, and file precise reports so maps can be corrected.

Walkthrough

Map an airport in four steps.

Stop-bar maps come straight from X-Plane's own airport data, so they line up with the markings you already taxi on.

1

Grab the airport's apt.dat

Use a scenery package's Earth nav data/apt.dat — one airport per file, small and easy to work with. Avoid the global file; it's over a gigabyte.

2

Run the extractor

It reads the painted runway-hold markings and the taxi-route network, keeps the stopbars within range of a runway, and writes a clean holds.json.

python tools/apt_holds.py path/to/apt.dat LTAC
3

Check it on the map

The extractor draws every hold over the runways so you can eyeball placement and orientation before anything is committed. Fix anything that looks off.

4

Open a pull request

Drop the holds.json under airports/, name it by ICAO, and open a PR. A maintainer reviews placement and merges it into coverage.

Good to know Default X-Plane airports vary in quality. If a field's hold markings are missing or coarse, note it in the PR so reviewers can cross-check against the taxi network.
Get involved

Pick something and start.

Open an issue, claim an airport, or just say hello in the community. Every field counts.