> For the complete documentation index, see [llms.txt](https://docs.motion4sim.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.motion4sim.com/software/motionsystem/supported-games.md).

# Supported games & simulators

Every game and simulator the Motionsystem reads — how each one delivers data, and what it needs first.

The Motionsystem detects the running title **automatically**: it watches every source it knows and binds to the first one that actually delivers data. You normally don't select anything — start the game, and the [Source](/software/motionsystem/source.md) tab shows it as active.

Some titles send telemetry out of the box, others need a one-click patch, a plugin or a mod from the Dashboard's [Source](/software/dashboard/configuration/source.md) tab. That is the column to check when a game runs but no data arrives.

## Flight

| Title                             | How it connects             | Needs                                                                                                                                                              |
| --------------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **MSFS 2020**                     | SimConnect                  | —                                                                                                                                                                  |
| **MSFS 2024**                     | SimConnect                  | —                                                                                                                                                                  |
| **X-Plane 11 / 12**               | UDP `4321`                  | X-Plane's built-in **Data Output** — [see below](#x-plane-data-output-rows)                                                                                        |
| **DCS World**                     | UDP `4124`                  | **Patch DCS** (installs the hook into `Scripts\Hooks`)                                                                                                             |
| **Condor 3** *(also Condor 2)*    | UDP `55278` (text)          | **Patch Condor2** (writes `UDP.ini`)                                                                                                                               |
| **IL-2 Sturmovik: Great Battles** | UDP `20888`                 | A `motiondevice` block in `data/startup.cfg` — no DLL, no hook                                                                                                     |
| **Aerofly FS 2 / FS 4**           | UDP `20890`                 | **Install Aerofly plugin** (an `external_dll` plugin, no patch)                                                                                                    |
| **STAR WARS: Squadrons**          | UDP `20900` via SpaceMonkey | The **SpaceMonkey** tool — [see below](#games-without-their-own-telemetry-spacemonkey). Listed as *(untested)*: nobody has flown it on a rig yet.                  |
| **Elite Dangerous** *(untested)*  | Process memory              | An offsets file — [see below](#elite-dangerous-the-honest-fine-print). Frontier offers no telemetry API; read the fine print before you plan an evening around it. |

{% hint style="info" %}
**Condor 2 and Condor 3 are telemetrically identical** — same format, same port, same process name — so they share one source and one profile group, listed as *Condor 3*.
{% endhint %}

## Racing

| Title                                                     | How it connects                   | Needs                                                                                                                             |
| --------------------------------------------------------- | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| **Assetto Corsa** / **Competizione**                      | Shared memory `acpmf_physics`     | —                                                                                                                                 |
| **Assetto Corsa Rally**                                   | Shared memory `acpmf_physics`     | —                                                                                                                                 |
| **Assetto Corsa EVO**                                     | Shared memory `acevo_pmf_physics` | —                                                                                                                                 |
| **iRacing**                                               | Shared memory (irSDK)             | —                                                                                                                                 |
| **Automobilista 2** / **Project CARS 2**                  | Shared memory `$pcars2$`          | Shared-memory output enabled in the game                                                                                          |
| **RaceRoom Racing Experience**                            | Shared memory `$R3E`              | —                                                                                                                                 |
| **rFactor 2**                                             | Shared memory                     | **Patch rFactor2** — [installs and activates the plugin](/software/dashboard/configuration/source.md#patch-rfactor2) in one click |
| **Le Mans Ultimate**                                      | Shared memory `LMU_Data`          | **Enable Plugins** inside the game — [see below](#le-mans-ultimate-needs-enable-plugins)                                          |
| **DiRT Rally 2.0** *(and DiRT 4)*                         | UDP `20778`                       | **Patch Dirt2/4** (custom UDP packet)                                                                                             |
| **EA SPORTS WRC**                                         | UDP `20788`                       | **Patch WRC**                                                                                                                     |
| **WRC Generations** *(untested)*                          | UDP `20779`                       | **Patch WRC Gen.** — [see below](#wrc-generations-three-things-to-know)                                                           |
| **Forza Horizon 4 / 5** *(untested)*                      | UDP `20800`                       | **Data Out** in the game — [see below](#forza-turning-on-data-out)                                                                |
| **Forza Motorsport 7 / 2023** *(untested)*                | UDP `20801`                       | **Data Out** in the game — [see below](#forza-turning-on-data-out)                                                                |
| **F1 23–26** *(F1 23 / 24 / 25 and the 2026 Season Pack)* | UDP `20777`                       | UDP telemetry on — [see below](#f1-23-to-26-turning-on-udp-telemetry)                                                             |
| **BeamNG.drive**                                          | UDP `4444`                        | **MotionSim** enabled — [see below](#beamng-needs-motionsim-not-outsim)                                                           |
| **Live for Speed**                                        | UDP `4123` (OutSim Pack2)         | **Patch LFS**                                                                                                                     |
| **Wreckfest / Wreckfest 2**                               | UDP `20900` via SpaceMonkey       | The **SpaceMonkey** tool, set to the *DiRT 4 custom UDP* format                                                                   |

{% hint style="info" %}
**Assetto Corsa Rally speaks ACC.** The rally title uses the exact same shared-memory blocks as Assetto Corsa and Competizione — no setup, nothing to patch. The Motionsystem tells the two apart by the running process, so ACR gets its **own game entry and profiles** instead of hiding behind the Assetto Corsa one.
{% endhint %}

## Other

| Title                                 | How it connects                 | Needs                                                                                                                                 |
| ------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Euro Truck Simulator 2**            | Shared memory (SCS telemetry)   | The SCS telemetry plugin. Detection is tied to `eurotrucks2.exe`, so **American Truck Simulator is not recognised** as its own title. |
| **NoLimits 2** *(roller coaster)*     | TCP `127.0.0.1:15151`           | Started with telemetry launch options — [see below](#nolimits-2-launch-options)                                                       |
| **Farming Simulator 25** *(untested)* | Local pipe, fed by our game mod | **Install FS25 mod**, then tick the mod in each savegame — [see below](#farming-simulator-25-a-mod-not-a-patch)                       |

## The ones that need more than a click

Most titles either work straight away or are handled by a one-click patch from the Dashboard. The titles below are the exception — a setting lives in the game, or there is a detail that costs people an evening if they miss it.

### X-Plane data output rows

X-Plane sends nothing until you tell it to. Under **Settings → Data Output**, tick the **Network via UDP** column for the rows below, and set the destination to `127.0.0.1` port `4321`.

| Row                                  | Why we need it                                                                                                            |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- |
| **135 · Motion platform stats**      | **The important one.** Accelerations and rotation rates — the raw material of the whole motion. Without it nothing moves. |
| 17 · Pitch, roll, headings           | Attitude, for the tilt cues                                                                                               |
| 3 · Speeds                           | Airspeed, drives the wind and turbulence effects                                                                          |
| 4 · Mach, VVI, G-load                | Climb rate and g                                                                                                          |
| 66 · Landing gear vertical force     | Suspension travel, and how we tell air from ground                                                                        |
| 18 · Angle of attack, sideslip       | Sideslip cues                                                                                                             |
| 13 · Trim, flaps, slats, speedbrakes | Flap and speedbrake effects                                                                                               |
| 37 · Engine RPM                      | The engine effect                                                                                                         |
| 127 · Warning status                 | Stall                                                                                                                     |

Row **135** alone gets the rig moving; the rest add texture. The update rate on that screen is worth raising — X-Plane defaults low, and motion built from a slow stream feels mushy.

{% hint style="info" %}
Row 135 is called *motion platform stats* for a reason: it exists precisely for rigs like yours, and already delivers accelerations in m/s² and rates in °/s. That is why we read it rather than differentiating positions ourselves.
{% endhint %}

### F1 23 to 26: turning on UDP telemetry

**Options → Settings → Telemetry Settings**: UDP Telemetry **on**, IP `127.0.0.1`, port `20777`, send rate 60 Hz.

**UDP Format** can be left at whatever the game offers — **2023, 2024, 2025 and 2026 all work.** One source covers every F1 title from 23 on; there is nothing to switch when you move from one to the next, and nothing to change when the 2026 content arrives.

{% hint style="info" %}
**There is no separate "F1 26" game — but there&#x20;*****is*****&#x20;a 2026 telemetry format.** EA ended the yearly release: the 2026 season ships as a paid **Season Pack for F1 25**, same executable, same port. It does however bring its **own UDP specification**, with a rebuilt motion packet (24 cars instead of 22, a shorter block per car, and the g-forces sent as scaled integers rather than floats). The Motionsystem reads the packet's format year and picks the matching layout, so both work side by side.

**Why this matters even if you don't own the pack:** according to EA, players who have never launched F1 25 before get the **2026 mode as the default**. Until the Motionsystem learned that layout, those players got a source that connected and then stayed silent.
{% endhint %}

{% hint style="warning" %}
**An unknown format year is dropped, not guessed at.** Every F1 packet carries its specification year in the first two bytes; anything outside the known list is discarded rather than parsed with our offsets. So when the next new F1 game appears, expect the source to stay visibly offline until its layout has been checked — silently wrong motion is worse than a source you can see is dark.

Older titles up to **F1 22** are not supported at all: their packet header is shorter (24 bytes instead of 29), so nothing behind it lines up.
{% endhint %}

### Forza: turning on Data Out

Both Forza series ship with a telemetry stream called **Data Out**, and it is off by default. In the game under **Settings → HUD and Gameplay** (Horizon) or **Settings → Gameplay & HUD** (Motorsport):

* **Data Out**: ON
* **Data Out IP Address**: `127.0.0.1`
* **Data Out IP Port**: `20800` for **Forza Horizon 4 / 5**, `20801` for **Forza Motorsport 7 / 2023**

The two ports are not interchangeable — Horizon and Motorsport are separate sources with separate profiles, and each listens on its own port. If the Motorsport games offer a **packet format** choice, pick **Car Dash**; Horizon has no such setting.

Data flows only while you are actually driving. In menus Forza keeps sending packets with an *is-race-on* flag of zero — the Motionsystem reads that flag and reports *paused* instead of twitching on zeroed data.

### WRC Generations: three things to know

The **Patch WRC Gen.** button in the Dashboard's [Source](/software/dashboard/configuration/source.md) tab writes everything into `Documents\My Games\WRCG\UserSettings.cfg` (telemetry on, rate 60, port `20779`). Beyond the patch, the game itself has three quirks:

1. **V-Sync ON and physics simulation synchronisation HIGH** — both in the game's video/gameplay settings. Without them the telemetry rate wobbles and the motion feels rough.
2. **Training sessions send nothing.** That is the game, not your setup — drive a stage or a rally session to see data.
3. The game's own default port would be `20777` — the same port F1 uses. The patch deliberately moves it to `20779` so both games can coexist; if you configured WRC Generations for another tool before, run the patch once to bring it back.

### Elite Dangerous: the honest fine print

Frontier provides **no telemetry API for motion** — every motion product on the market reads the ship's attitude straight out of the game process's memory, and Motion4Sim is no exception. That approach comes with strings attached, so read this before you count on it:

* **It needs an offsets file.** The source stays invisible until `Documents\Motion4Sim\ed_offsets.txt` exists — a small text file listing where in the process memory pitch, roll, yaw (and optionally speed) live. A commented template ships with the software (`ed_offsets.example.txt`).
* **Every game update breaks it.** Frontier moves things around with each patch; after an update the offsets must be found again. This is inherent to memory reading — the same happens to every other motion tool with Elite Dangerous.
* **Attitude only.** What memory reading yields is the ship's orientation — the rig follows pitch and roll and turns with yaw. Do not expect the g-force fidelity of a racing sim's real telemetry.

### Le Mans Ultimate needs "Enable Plugins"

**Settings → Gameplay → Enable Plugins: ON**, and LMU at **version 1.2.1 or newer**. That is the whole setup.

Le Mans Ultimate has a shared-memory telemetry interface built into the game, so unlike its engine sibling [rFactor 2](/software/dashboard/configuration/source.md#patch-rfactor2) there is **no plugin to install and no patch to run** — nothing is copied into the game folder at all. The one switch above is what turns that interface on; with it off the game creates no shared memory and the source finds nothing to open.

As with rFactor 2, data only flows **while a session is running**. The main menu, the monitor and replays deliver no player telemetry, and the Motionsystem reports the source as stale rather than inventing motion.

### BeamNG needs MotionSim not OutSim

**Options → Other → MotionSim**: enable it, IP `127.0.0.1`, port `4444`, update rate 100.

BeamNG also offers OutSim and OutGauge, and those are *not* what we read — MotionSim is its own protocol, and it is the one that carries the motion data. Data only starts once you are actually driving; sitting in a menu or the vehicle selector sends nothing.

### NoLimits 2 launch options

NoLimits 2 only opens its telemetry port when it is started with:

```
--telemetry --telemetryport=15151
```

On Steam that goes into **Set Launch Options…**, otherwise into the *Target* field of the shortcut. The **demo version cannot output telemetry** at all — the full version is required.

### Farming Simulator 25: a mod, not a patch

Farming Simulator has **no telemetry output of its own** — every motion tool that supports it ships a small game mod, and so does Motion4Sim. The mod reads the vehicle's motion inside the game and hands it to the Motionsystem on the same PC through a local Windows pipe. Nothing goes over the network, and no game file is changed.

1. **Start Farming Simulator 25 once** if you never have — the game creates its profile folder on the first start.
2. In the Dashboard: **Config → Source → Install FS25 mod**. It puts `FS25_Motion4Sim.zip` into `Documents\My Games\FarmingSimulator2025\mods` — or into the folder your `gameSettings.xml` points to, if you moved the mods folder. Pressing it again updates an older version, or reports *already up to date*.
3. **Load your savegame and tick&#x20;*****Motion4Sim Telemetry*** in the mod selection. Farming Simulator activates mods **per savegame** — every savegame you want to drive with motion needs the tick once.

Motion runs **only while you drive a vehicle yourself**. On foot, in a menu or with the game paused, the Motionsystem holds the platform and after a few seconds eases it back to the centre. Switching vehicles fades into the new one instead of jumping.

{% hint style="info" %}
**What the mod delivers:** attitude (pitch, roll, heading), rotation rates and velocity — the accelerations are derived from the velocity — plus engine RPM and gear. Suspension travel is not part of it yet.

**No data?** Open `Documents\My Games\FarmingSimulator2025\log.txt`: while the Motionsystem runs, it should contain `Motion4Sim: telemetry pipe connected`. If *Motion4Sim Telemetry* is missing from the mod selection altogether, the zip is not in the mods folder the game actually uses.
{% endhint %}

{% hint style="warning" %}
**Untested on a real rig.** The source is built to the engine's documentation and checked against simulated data, but nobody has driven it on a platform yet — the directions of sway, heave and roll still need a real drive. Start with **single player**: in multiplayer the mod runs on your own PC, but whether a client (not the host) receives usable motion data is not verified. If you try it, the Discord wants to hear about it.
{% endhint %}

## Games without their own telemetry — SpaceMonkey

Some titles have no motion telemetry at all. The third-party **SpaceMonkey** tool (PHARTGAMES) taps them and re-sends the data in the *DiRT 4 custom UDP* format, which the Motionsystem reads on port `20900` — so anything SpaceMonkey supports works here: GTA V, DiRT 5, Dakar, Trail Out, Cyberpunk 2077, VTOL VR and more.

Setting it up:

1. Install SpaceMonkey and pick the profile for your target game.
2. Enable its UDP output to **IP `127.0.0.1`, port `20900`**.
3. As packet format, load the 24-channel XML that ships with Motion4Sim (`plugins\SpaceMonkey\m4s_spacemonkey.xml`) — it matches what the Motionsystem parses.
4. Start the game, then check the [Source](/software/motionsystem/source.md) tab for the incoming update rate.

* **Wreckfest** is recognised by name and gets its **own game entry and profiles**.
* **STAR WARS: Squadrons** is also recognised by name with its own entry.
* Everything else arrives under the generic entry **SpaceMonkey** — one profile group for all of them.

{% hint style="warning" %}
**The whole SpaceMonkey path is untested on a real rig** — that covers the generic entry, Wreckfest 2 and STAR WARS: Squadrons. The parsing is verified against the packet format, but nobody has confirmed the feel in motion yet. If you run one of these, the Discord wants to hear about it.
{% endhint %}

## When a game isn't detected

1. **Is the source delivering?** The [Source](/software/motionsystem/source.md) tab shows the update rate in Hz. Zero means nothing is arriving.
2. **Does it need a patch?** Check the *Needs* column, then the Dashboard's [Source](/software/dashboard/configuration/source.md) tab.
3. **Is something else holding the port?** Two motion tools listening on the same UDP port will fight over it — close the other one.
4. **Is the game paused or in a menu?** The Motionsystem detects this and reports *paused* rather than *lost*; motion is held until you're back in the cockpit.

{% hint style="info" %}
No profile for your title yet? Create one from a template on the [Profiles](/software/motionsystem/profiles.md) bar — *General Car* and *General Flight* are built for exactly that — or look for one in the [community library](/software/motionsystem/profiles.md#community).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.motion4sim.com/software/motionsystem/supported-games.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
