2026-05-19 15:38:16 +10:00
2026-05-19 15:38:16 +10:00
2026-05-19 15:38:16 +10:00
2026-05-19 15:38:16 +10:00
2026-05-19 15:38:16 +10:00
2026-05-19 15:38:16 +10:00
2026-05-19 15:38:16 +10:00
2026-05-19 15:38:16 +10:00
2026-05-19 15:38:16 +10:00
2026-05-19 15:38:16 +10:00

Project CARS UDP Telemetry Viewer

Simple TypeScript/Node app that listens for Project CARS UDP telemetry on port 5606 and displays the latest packet data in a browser table UI.

Run

npm install
npm run dev

Open http://localhost:3000.

In Project CARS, enable UDP telemetry/streaming and point it at this computer. The app binds UDP on 0.0.0.0:5606.

Scripts

  • npm run dev starts the TypeScript server directly with tsx.
  • npm run build compiles TypeScript into dist/.
  • npm start runs the compiled server.

Notes

The parser covers the packet types from the supplied header: car physics, race definition, participants, timings, game state, time stats, and participant vehicle/class names. The frontend focuses on the most useful live values, while the server keeps the full parsed payload available through /api/state.

Recording and Replay

Stop the Node app before capturing because only one process can bind UDP 5606.

python scripts\capture_udp.py --mode auto

This creates a replayable session folder like captures/session_20260514_160000 containing raw packet files and manifest.jsonl.

Replay into the Node app:

npm.cmd run dev
python scripts\replay_udp.py captures\session_20260514_160000

Useful replay options:

python scripts\replay_udp.py captures\session_20260514_160000 --speed 4
python scripts\replay_udp.py captures\session_20260514_160000 --loop
python scripts\replay_udp.py captures\session_20260514_160000 --types 1,2,3,4,7,8
Description
No description provided
Readme 84 KiB
Languages
TypeScript 47.2%
Python 24.1%
JavaScript 16.9%
CSS 6.6%
HTML 5.2%