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.
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 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>.
| Install | SimConnect.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.


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.
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.