@racehub-io/f1game-udp-parser

Rust built Node compatible udp parser for Codemaster's Formula 1 games

Usage no npm install needed!

<script type="module">
  import racehubIoF1gameUdpParser from 'https://cdn.skypack.dev/@racehub-io/f1game-udp-parser';
</script>

README

F1 Game UDP Parser

npm (scoped) GitHub

Installing

Important!

This is a native node module written in Rust. To allow for cross compatibility it builds from source on installation. You will require Rust installed, before installing this module. As soon as Neon is stable enough to compile through node-gyp for compiled releases we will migrate.

$ npm install @racehub-io/f1game-udp-parser

or

$ yarn add @racehub-io/f1game-udp-parser

Usage

import { TelemetryClient, constants } from "@racehub-io/f1game-udp-parser";
// or: const { TelemetryClient, constants } = require('f1game-udp-parser');
const { DATA } = constants;

const client = new TelemetryClient({port: 20777, forwardAddresses: [{port:30500}]});
client.on(DATA, (packetVersion, packetType, packetData) => console.log(packetData));

client.start();

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

ToDo

  • Migrate publishing to node-gyp for compiled builds
  • Move UDP socket and EventEmitter to Rust
  • Improve packet dependent logic inside Rust parser
  • Migrate to N-API backend with Neon
  • Update Rust dependencies