Collect, store and display telemetry data from Forza Horizon.
The TIG Stack is an acronym for a platform of open source tools formed by:
- Telegraf: a server agent for collecting and reporting metrics
- InfluxDB: high-performance time series database
- Grafana: visualization of InfluxDB data
Previously was TIC (Telegraf/InfluxDB/Chronograf) but the last one has been replaced with Grafana in the latest version.
A python script is also necessary as a "proxy" to convert the udp datastream from the game into one of the supported telegraf input formats (json in this case, may change in the future).
- a copy of Forza Horizon 4 or 5 (PC or XOne)
- docker and docker-compose
- clone this repository
- run
docker-compose up
- enable data-out feature in game settings, pointing to the host that runs docker, port
9999
- open Grafana in your browser at
localhost:3000
and setup the database connection:- Data source type:
InfluxDB
- Query Language:
InfluxQL
- Connection URL:
http://influxdb:8086
- Username: the
INFLUXDB_ADMIN_USER
in docker-compose.yml - Password: the
INFLUXDB_ADMIN_PASSWORD
in docker-compose.yml - Database:
horizon
- Data source type:
- create a new dashboard or import the one included in this repo
- split data in different InfluxDB measurements/tables
replace the external python script with a telegraf input plugin(python container)- make a telegraf aggregator plugin to compact data (game send 60 packets/seconds)
- make a telegraf processor plugin to manipulate data (ex. convert car_ordinal in car_model_name)
try Grafana widgets and eventually replace Chronograf(Grafana container)add support for Forza Motorsport 7(FM7 no longer included in Game Pass)add support for Forza Horizon 5(already works, FH5 uses the same format as FH4)