Documentation

Everything you need to fly the ground with XPGuard — install the plugin, connect a controller client, and add airports to the map.

Overview

XPGuard puts ATC-controlled stop bars on the ground in X-Plane 12. A VATSIM controller sets and drops stop bars from EuroScope; XPGuard relays each change in real time; and the X-Plane plugin lights the bar on the hold-short markings. Red means hold short, green means you're cleared across.

There are two pieces depending on who you are: the X-Plane plugin if you fly, and the EuroScope plugin if you control. You only need the side you use.

Quick start

For pilots, in three steps:

  1. Download the X-Plane plugin and unzip it into your plugins folder.
  2. Launch X-Plane 12 and connect to VATSIM as usual.
  3. Taxi out — stop bars appear automatically wherever a controller is working the ground.
Note XPGuard is in open beta. Expect coverage to grow airport by airport.

Install — X-Plane plugin

Unzip the download so the folder layout looks like this:

<X-Plane 12>/Resources/plugins/XPGuard/
    64/
        win.xpl   (or mac.xpl / lin.xpl)
    resources/
        holds.json
        stopbar_light.obj

Restart X-Plane. Open Plugins → XPGuard → Show control panel to confirm it loaded; you can toggle any hold there to preview the lights at your current airport.

Check If nothing appears, search Log.txt for lines starting with XPGuard: — they report how many holds loaded and any file errors.

Install — EuroScope plugin

Controllers load XPGuard as a standard EuroScope plugin:

  1. Place the plugin .dll with your other EuroScope plugins.
  2. In EuroScope: Other Set → Plug-ins → Load, then select it.
  3. Claim your airport and pick the active runways. Stop bars become clickable on the ground.

Click a bar to set it (red); click again to clear it (green). Every connected pilot at the field sees the change immediately.

Mapping a field

An airport needs a stop-bar map — the precise position and orientation of each hold. XPGuard generates these from X-Plane's own apt.dat airport data:

  1. Find the airport's apt.dat (a scenery package's Earth nav data/apt.dat, one airport per file).
  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 holds.json.
  3. Review the result on the generated map, then open a pull request.

See the contribution guide for the full walkthrough.

The holds file

Each airport is a small JSON file the plugin reads at startup:

{ "airport": "LTAC", "holds": [
    { "id": "AHP2", "lat": 40.1409, "lon": 33.0102,
      "bearing": 96.3, "runway": "03C/21C" }
] }

bearing is the true bearing of the stop-bar line (perpendicular to the taxiway). To support a new airport, drop its holds.json in resources/.

Troubleshooting

The control panel opens but no lights show

The light object may not be loading. Confirm resources/stopbar_light.obj is next to holds.json, and check Log.txt for an XPGuard warning.

Bars appear in the wrong place

The airport map may be off for your scenery. Note the airport and the hold, and report it on the Contribute page so the map can be corrected.

Nothing happens when a controller sets a bar

Confirm you're connected to VATSIM and a controller is actually working the ground at your field. Stop bars only light when someone is controlling them.