The F1 series of games support the outputting of key game data via a UDP data stream. This data can be interpreted by external apps or connected peripherals for a range of different uses, including providing additional telemetry information, customised HUD displays, motion platform hardware support or providing force feedback data for custom steering wheels.
This is a TypeScript UDP client and telemetry parser for Codemaster's F1 2019 and F1 2018 games that enables the consumption of such information.
$ npm install f1-telemetry-client
or
$ yarn add f1-telemetry-client
$ npm run start
or
$ yarn start
import { F1TelemetryClient, constants } from "f1-telemetry-client";
// or: const { F1TelemetryClient, constants } = require('f1-telemetry-client');
const { PACKETS } = constants;
const client = new F1TelemetryClient();
client.on(PACKETS.session, console.log);
client.on(PACKETS.motion, console.log);
client.on(PACKETS.lapData, console.log);
client.on(PACKETS.event, console.log);
client.on(PACKETS.participants, console.log);
client.on(PACKETS.carSetups, console.log);
client.on(PACKETS.carTelemetry, console.log);
client.on(PACKETS.carStatus, console.log);
// to start listening:
client.start();
// and when you want to stop:
client.stop();
For the F1 2019 UDP specifications, please refer to this post from the official Codemaster's forum.
For F1 2018, you can find the documentation here.
You will find the same information in this repository's Wiki.
This project is originally a fork from irvingswiftj's f1-2018-udp. Licensed under the MIT License.