mmertz / f1-telemetry-client

A Node UDP client and telemetry parser for Codemaster's Formula 1 series of games

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

F1 Telemetry Client

Known Vulnerabilities

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 2020, 2019 and F1 2018 games that enables the consumption of such information.

Installing

$ npm install f1-telemetry-client

or

$ yarn add f1-telemetry-client

Running the playground

$ npm run start

or

$ yarn start

Usage

import { F1TelemetryClient, constants } from "f1-telemetry-client";
// or: const { F1TelemetryClient, constants } = require('f1-telemetry-client');
const { PACKETS } = constants;

/*
*   'port' is optional, defaults to 20777
*   'bigintEnabled' is optional, setting it to false makes the parser skip bigint values,
*                   defaults to true
*/
const client = new F1TelemetryClient({ port: 20777, bigintEnabled: true });
client.on(PACKETS.event, console.log);
client.on(PACKETS.motion, console.log);
client.on(PACKETS.carSetups, console.log);
client.on(PACKETS.lapData, console.log);
client.on(PACKETS.session, console.log);
client.on(PACKETS.participants, console.log);
client.on(PACKETS.carTelemetry, console.log);
client.on(PACKETS.carStatus, console.log);
client.on(PACKETS.finalClassification, console.log);
client.on(PACKETS.lobbyInfo, console.log);

// to start listening:
client.start();

// and when you want to stop:
client.stop();

Documentation

The following links contain information that summarises the UDP data structures so that developers of supporting hardware or software are able to configure these to work correctly with the F1 game.

F1 2020 UDP Spec
F1 2019 UDP Spec
F1 2018 UDP Spec

License

This project is originally a fork of f1-2018-udp.
Licensed under the MIT License.

About

A Node UDP client and telemetry parser for Codemaster's Formula 1 series of games

License:MIT License


Languages

Language:TypeScript 99.9%Language:JavaScript 0.1%