Forza Motorsport and Forza Horizon real time telemetry receiver programs, with some utility tools.
Based on Turn10 official documentation: https://support.forzamotorsport.net/hc/en-us/articles/21742934024211-Forza-Motorsport-Data-Out-Documentation
Only a console program is available at this moment. It displays live data at 60 Hz.
Data can be recorded using a sample recorder program, and will be replayable at a later date.
Web UI will be supported later, when core functionalities are stable. It should leverage WebSockets, most probably from SignalR, to receive live or previously-recorded data at 60 Hz.
Sled data is for SimRacing motion platforms, so it contains motion values and a few other ones.
Car Dash extends Sled data with car-dashboard related metrics, eg. speed, power, torque, gear, lap times, etc.
To see all available data fields, please have a look on the data structure files:
Game | Sled | Car Dash | Horizon extras | Motorsport extras |
---|---|---|---|---|
Forza Motorsport 7 | Yes | Yes | N/A | N/A1 |
Forza Horizon 4 | Yes2 | Yes | Partial3 | N/A |
Forza Horizon 5 | Yes2 | Yes | Partial3 | N/A |
Forza Motorsport (2023) | Yes | Yes | N/A | Yes4 |
Supported operating systems are the same as .NET 8 compatibility : Windows, Linux and macOS.
Prebuilt executables are not yet available in GitHub releases, but it's really easy to build the source code yourself.
- Git to get the source code
- .NET 8.0 SDK to build the source code
git clone https://github.com/geeooff/forza-data-web.git
cd forza-data-web
Note for Windows as both game and receiving app: Only Forza Motorsport (2023) allows to send data to 127.0.0.1. For earlier games you will need a separate compute to receive the data.
Start the game on your Windows computer or your Xbox. Go to game options and look for Data Out options :
Data Out IP Address
: enter the IP Address of the computer that will run the console programData Out IP Port
: enter the network port you want to listen on this computer (1024 to 65535)Data Out Packet Format
: if available, choose Car Dash (recommended) or SledData Out
: set to ON
cd Console
dotnet run --server <serverIpAddress> --port <port>
-s
or--server
: the IP Address of your Xbox or Computer that runs the game-p
or--port
: the network port you chose in the game
For example, if your Xbox or Windows Game Computer has 192.168.0.100
IP Address, and you chose 7777
network port to communicate:
dotnet run --server 192.168.0.100 --port 7777
The console will show RACE
or PAUSE
in the top left corner if race is on or not.
Note : To quit the program just hit CTRL+C
or CTRL+Break
.
cd SampleRecorder
dotnet run --server <serverIpAddress> --port <port> --output <file>
-s
or--server
: the IP Address of your Xbox or Computer that runs the game-p
or--port
: the network port you chose in-game-o
or--output
: the output file to record to
dotnet run --server 192.168.0.100 --port 7777 --output sample.bin
Note : If you want to quit the recorder program, just hit CTRL+C
or CTRL+Break
.
The output file will be deleted if no data is received.