Skip to content

anilmisirlioglu/f1-telemetry-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

F1 Game Telemetry Client in Go Made With Go

Telemetry client for F1 Game, written in Go. Supports the F1 UDP 2022 and previous formats.

f1-telemetry-client

Features

  • Event System
  • Rich Env Constants
  • UDP Stats (recv, err and packet per second rate),
  • Vector3 support

Install

# latest version (F1 2022)
go get -u github.com/anilmisirlioglu/f1-telemetry-go@master

# for F1 2022
go get -u github.com/anilmisirlioglu/f1-telemetry-go@v1.1.0

# for F1 2020
go get -u github.com/anilmisirlioglu/f1-telemetry-go@v1.0.0

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.