/Forza-data-tools

🏎 Tools for playing with Forza Motorsport/Horizon's "data out" feature

Primary LanguageGoGNU General Public License v3.0GPL-3.0

Forza data tools

Building some tools for playing with the UDP data out feature from the Forza Motorsport 7 / Forza Horizon 4 games. Built with golang.

Features

  • Realtime telemetry output to terminal
  • Telemetry data logging to csv file
  • Serve Forza Telemetry data as JSON over HTTP
  • Display race statistics from race/drive (when logging to CSV)

(Feel free to open an issue if you have any suggestions/feature requests)  

Setup

From your game HUD options, enable the data out feature and set it to use the IP address of your computer. Port 9999.

Forza Motorsport 7 select the "car dash" format.

 

Build

Compile the application with: go build -o fdt

 

Run

Command line options

Specify a CSV file to log to: -c log.csv (File will be overwritten if it exists)
Enable support for Forza Horizon: -z
Enable JSON server: -j
Disable realtime terminal output: -q
Enable debug information: -d

 

Example (Forza Horizon)

fdt -z -j -c log.csv
fdt -z

Example (Forza Motorsport)

fdt -c -j log.csv

 

JSON Data

If the -j flag is provided, JSON data will be available at: http://localhost:8080/forza. Could be used to make a web dashboard interface or something similar. JSON Format is an array of objects containing the various Forza data types.

You can see a sample of the kind of data that will be returned here.

There is a basic example JavaScript dashboard (with rev limiter function) in the /dash directory.

 

Further reading