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