f1-telemetry-go
f1-telemetry-go copied to clipboard
F1 Game Telemetry Client written in Go (no dependency)
F1 Game Telemetry Client in Go 
Telemetry client for F1 Game, written in Go. Supports the UDP 2020 and 2021 format.

Features
- Event System
- Rich Env Constants
- UDP Stats (recv, err and packet per second rate),
- Vector3 support
Install
# latest version (F1 2021)
go get -u github.com/anilmisirlioglu/f1-telemetry-go@master
# for F1 2020
go get -u github.com/anilmisirlioglu/[email protected]
Quick Start
func main() {
client, err := telemetry.NewClient()
if err != nil {
log.Fatal(err)
}
client.OnEventPacket(func(packet *packets.PacketEventData) {
fmt.Printf("Code: %s\n", packet.EventCodeString())
})
client.Run()
}
Specific Address & Port
func main() {
client, err := telemetry.NewClientByCustomIpAddressAndPort("0.0.0.0", 20777)
if err != nil {
log.Fatal(err)
}
client.OnCarDamagePacket(func(packet *packets.PacketCarDamageData) {
fmt.Printf("Code: %s\n", packet.EventCodeString())
})
client.Run()
}
Docs
If you need more information on the F1 UDP specifications, see the docs.