wiedmann / zwift-packet-monitor

monitor Zwift UDP packets
29 stars 21 forks source link

zwift-packet-monitor

This module monitors Zwift UDP traffic and emits events for the player state updates.

Install

On Windows this requires WinPcap. On other systems, libpcap should be installed.

npm install zwift-packet-monitor

Usage

const ZwiftPacketMonitor = require('zwift-packet-monitor')

// interface is cap interface name (can be device name or IP address)
const monitor = new ZwiftPacketMonitor(interface)

monitor.on('outgoingPlayerState', (playerState, serverWorldTime) => {
  console.log(playerState)
})

monitor.on('incomingPlayerState', (playerState, serverWorldTime) => {
  console.log(playerState)
})

// The Zwift server sends states in batches. This event is emitted at the end of each incoming batch
monitor.on('endOfBatch', () => {
  console.log('end of batch')
})

monitor.start()