Documentation in beta. Some text and images will be reworked as the app settles into 1.0. If a section reads stale, flag it via the feedback form.

X-Plane 11 / 12

X-Plane needs no special setup. FFB-Bridge subscribes to X-Plane's built-in UDP dataref protocol (RREF) on port 49000. Nothing to install X-Plane-side, no plugin, no SimConnect-style XML file. If X-Plane is running when you launch the bridge, you're connected.

Auto-detect behaviour

On startup the bridge runs two probes in parallel: a SimConnect TCP probe (for MSFS) and an X-Plane UDP probe. The first one to return a real response wins. In practice this means:

  • If only X-Plane is running, it wins within a few milliseconds.
  • If both MSFS and X-Plane are running, whichever responded first is used — and you can force a choice from the CLI if that's ever a problem.
  • If neither is running, the bridge goes into Idle mode until one shows up.
Status tape showing an X-Plane connection. The Sim chip reads “X-Plane” with version detected; the Device chip shows the joystick.
Figure 1. Status tape showing an X-Plane connection. The Sim chip reads “X-Plane” with version detected; the Device chip shows the joystick.

Make sure X-Plane isn't firewalled out

UDP 49000 is the only port the bridge touches on the X-Plane side. Default Windows Firewall rules on a fresh X-Plane install usually allow this automatically; Linux desktops with firewalld or ufw almost never block loopback. If nothing is showing up in the bridge's event log after X-Plane boots, open Doctor — the X-Plane reachability row attempts a probe and tells you what came back (timeout, connection refused, or actual packets).

Doctor's X-Plane probe row. Green when datarefs are flowing; amber with “not running” when nothing responded.
Figure 2. Doctor's X-Plane probe row. Green when datarefs are flowing; amber with “not running” when nothing responded.

Datarefs the bridge reads

The bridge subscribes to 24 datarefs that mirror the MSFS variable set as closely as X-Plane exposes them. You don't need to configure anything — listed here for reference and debugging:

  • sim/flightmodel/position/indicated_airspeed
  • sim/flightmodel/position/true_airspeed
  • sim/flightmodel/position/vh_ind (vertical speed)
  • sim/flightmodel/position/theta (pitch)
  • sim/flightmodel/position/phi (bank)
  • sim/flightmodel/position/psi (heading)
  • sim/flightmodel/forces/g_nrml (load factor)
  • sim/flightmodel/position/alpha (AoA)
  • sim/flightmodel2/controls/yoke_pitch_ratio
  • sim/flightmodel2/controls/yoke_roll_ratio
  • sim/flightmodel2/controls/pitch_trim
  • sim/flightmodel2/controls/roll_trim
  • sim/cockpit/warnings/annunciators/stall_warning
  • sim/flightmodel/failures/over_vne
  • sim/flightmodel2/controls/gear_handle_down
  • sim/flightmodel2/controls/flap_handle_deploy_ratio
  • sim/flightmodel2/controls/speedbrake_ratio
  • sim/flightmodel/engine/ENGN_running[0..3]
  • sim/flightmodel/engine/ENGN_N1_[0..3]
  • sim/cockpit2/autopilot/autopilot_on
  • sim/cockpit2/autopilot/heading_dial_deg_mag_pilot
  • sim/flightmodel2/gear/on_ground_fraction
  • sim/flightmodel/misc/h_ind (barometric altitude)
  • sim/operation/override/override_throttles (for reverse thrust detection)

Staleness and reconnect

UDP has no disconnect signal, so the bridge runs its own watchdog: if no datarefs arrive for three seconds, it treats the session as dead and the Sim chip turns red. Relaunching X-Plane or loading a new flight re-establishes the connection automatically — you don't need to restart the bridge.

Pause vs loading

X-Plane pause continues to send datarefs (just frozen values), so the bridge stays connected but the staleness watchdog doesn't trip. During menu-level screens (aircraft selection, location dialog), X-Plane briefly stops emitting; the bridge will show a red Sim chip and snap green again when the flight resumes.

Non-default X-Plane install

Both free and paid X-Plane binaries bind UDP 49000 by default. If you've changed X-Plane's UDP port (Settings → Network → UDP ports), the bridge currently doesn't expose a UI for the alternate port — use X-Plane's default or tell us so we can prioritise it.

An unhandled error has occurred. Reload 🗙