A small Python logger for Forza Data Out UDP telemetry.
This first version targets the Forza Horizon packet layout and writes each session as plain files:
telemetry.csvtelemetry.jsonlrun.log
No dashboard, web server, screen capture, model training, or external Python packages are included.
python main.pyIf Windows intercepts python with the Microsoft Store alias, run the same
command with your full Python interpreter path or fix Python in PATH.
Default settings live at the top of main.py:
HOST = "0.0.0.0"
PORT = 9999
OUTPUT_DIR = "data"
QUIET = False
DEBUG = FalseEach run creates:
data/YYYYMMDD_HHMMSS/
telemetry.csv
telemetry.jsonl
run.log
In Forza HUD/gameplay options:
- Enable Data Out.
- Set the Data Out IP address to this computer's LAN IP.
- Set the Data Out port to
9999.
If Forza is running on the same PC, try the machine LAN IP first. Some Forza
titles do not send Data Out traffic to 127.0.0.1.
Every output row includes local receive metadata:
received_time_nsreceived_time_isopacket_size
The remaining columns are parsed telemetry values such as:
SpeedCurrentEngineRpmGearAccelBrakeSteer
The parser returns a plain Python dict, so later dataset code can import
parse_packet or parse_horizon_packet from packet_format.py.
Run the parser tests:
python -m unittest- Forza official Data Out field order: https://forums.forza.net/t/forza-motorsport-7-data-out-feature-details/74013
- Reference project: https://github.com/richstokes/Forza-data-tools