Current release. FFB-Bridge v1.1.2 is live. These docs track the current app described by the release manifest. If a section reads stale, flag it via the feedback form.

Microsoft Flight Simulator 2024 & 2020

FFB-Bridge talks to Microsoft Flight Simulator over SimConnect's TCP transport — both MSFS 2024 and MSFS 2020 are supported. On a fresh install this works out of the box on Windows and needs a single config tweak under Linux / Proton. The bridge's Support page (sidebar → Support → Health checks) can do the tweak for you — this guide covers both the one-click path and the manual one.

Windows and Linux only

MSFS connects on Windows and Linux. The macOS build supports X-Plane only — see X-Plane 11 / 12.

What MSFS installation do you have?

The default SimConnect location depends on how MSFS was installed. The paths below are for MSFS 2024, which FFB-Bridge auto-detects across all three install sources. It helps to know which one you're on if something goes sideways.

MSFS 2020

MSFS 2020 connects the same way over SimConnect TCP. The bridge's auto-detection and one-click Health-check fixes target the 2024 config file, so on 2020 you may need to confirm the port the bridge is using (it defaults to 500 on Windows). If 2020 listens on a non-standard port, set it from the SimConnect config Health-check row, or point the bridge straight at the file with FFB_BRIDGE_MSFS_CONFIG=<path-to-SimConnect.xml>.

InstallSimConnect.xml location
Win Steam / standalone %APPDATA%\Microsoft Flight Simulator 2024\SimConnect.xml
Win Microsoft Store / Xbox Game Pass %LOCALAPPDATA%\Packages\Microsoft.Limitless_8wekyb3d8bbwe\LocalCache\SimConnect.xml
Linux Steam + Proton ~/.steam/steam/steamapps/compatdata/2537590/pfx/drive_c/users/steamuser/AppData/Roaming/Microsoft Flight Simulator 2024/SimConnect.xml

Windows — out of the box

Every stock MSFS 2024 install ships with SimConnect TCP enabled on port 500, bound to all IPv4 interfaces. The bridge defaults to 127.0.0.1:500 on Windows. Launch MSFS, then launch FFB-Bridge โ€” the Sim chip on the Dashboard should go green within a second or two of the sim reaching the main menu.

If it doesn't, open the Support page and run Health checks. The SimConnect config row tells you what it found in the XML and whether the port it's using matches the port the bridge is talking to.

Ports other than 500

Some tools โ€” FSUIPC, SPAD.neXt โ€” add their own TCP entries in the same SimConnect.xml. If MSFS is listening on a different port than the bridge expects, the SimConnect config row on the Support page's Health checks tab offers an inline Use port :X button. Click it and the bridge's preferences are updated to that port; no MSFS restart needed.

Linux — one-click fix via the Support page

MSFS under Proton ships the same stock SimConnect.xml as the Windows build, with TCP listening on port 500. But Linux treats ports below 1024 as privileged, and the Proton user-namespace process cannot bind them. The listen silently fails and no socket ever opens.

The fix is to add a parallel <SimConnect.Comm> entry on an unprivileged port (the bridge uses 5111 by default). Open the Support page → Health checks; the SimConnect config row will show the privileged port and offer a Fix… button.

FFB-Bridge Support page's Fix dialog on Linux showing a detected Proton prefix and the SimConnect TCP port it will install FFB-Bridge Support page's Fix dialog on Linux showing a detected Proton prefix and the SimConnect TCP port it will install
Figure 1. Fix dialog on Linux (Support → Health checks → SimConnect config row). Shows the Proton prefix path it found and the port it's about to add. Clicking Install merges a new entry — existing entries are left alone.

Fix… merges a new entry into the existing XML (never rewrites it). If the existing file is unparseable, the installer first backs it up as SimConnect.xml.bak-YYYY-MM-DD-HHMMSS and writes a fresh generated config. Either way, restart MSFS after the install so it re-reads SimConnect.xml.

Which Proton prefix?

FFB-Bridge probes the well-known prefixes for Steam, Steam-Flatpak, Heroic, and Lutris. If you run MSFS from a non-standard location, set FFB_BRIDGE_MSFS_PREFIX=/path/to/prefix in your environment before launching the bridge. For a bare-metal override of just the XML file, FFB_BRIDGE_MSFS_CONFIG=/path/to/SimConnect.xml takes precedence.

Manual configuration

If you'd rather hand-edit, the XML looks like this:

<?xml version="1.0" encoding="Windows-1252"?>
<SimBase.Document Type="SimConnect" version="1,0">
  <Descr>SimConnect Client Configurations</Descr>
  <Filename>SimConnect.xml</Filename>

  <!-- FFB-Bridge: unprivileged TCP for Proton-on-Linux -->
  <SimConnect.Comm>
    <Descr>FFB-Bridge TCP</Descr>
    <Protocol>IPv4</Protocol>
    <Scope>local</Scope>
    <Port>5111</Port>
    <MaxClients>64</MaxClients>
    <MaxRecvSize>41088</MaxRecvSize>
    <DisableNagle>False</DisableNagle>
  </SimConnect.Comm>

  <!-- Keep any existing entries below this line. -->

</SimBase.Document>

After saving, open FFB-Bridge's Mock Sim page, switch the input source back to Live, and the bridge will pick up the new config. You can also go to the Support page → Diagnostics and watch the log for SimConnect connected after relaunching MSFS.

SimVars the bridge reads

For reference — you don't need to configure any of this — here's the set of MSFS SimVars the bridge subscribes to:

  • Airspeed (indicated, true), altitude, vertical speed, pitch, bank, heading
  • G-force, angle of attack, stall warning, overspeed warning
  • Elevator, aileron and rudder deflection (trimmed and raw)
  • Trim positions (elevator, aileron, rudder)
  • Gear handle state, flap handle index, spoiler handle position
  • Per-engine RPM percent and combustion state, reverse-thrust engaged
  • Surface type enum (runway vs grass vs ice), brake pedal deflection
  • Autopilot master state, autopilot commanded pitch / bank

If MSFS doesn't recognise a variable name, the bridge logs it as a warning on the Diagnostics page but continues — missing variables default to sensible zeros. This is how the bridge tolerates third-party aircraft that don't implement every SimVar.

Troubleshooting

See Troubleshooting for:

  • MSFS connects but no forces — most often the ARM gauge in the top strip is still DISARMED; covered there.
  • MSFS pause / Active Pause quiets dynamic effects immediately and holds a neutral spring while paused.
  • If a long stutter or pause drops roll force after resume, export a support bundle and file feedback from the same session.