Skip to content

Latest commit

 

History

History
464 lines (451 loc) · 14.5 KB

HUD.md

File metadata and controls

464 lines (451 loc) · 14.5 KB

HUD Plugin

The HUD plugin implements support for several ways of exposing telemetry to applications and dashboards.

At the moment it is a little more than a replacement for RaceRoom's closed source Dash command. The major difference is that it can export telemetry from other games (see supported games).

It is a console application that every 15ms will read the memory mapped file that RaceRoom exposes, only when the game is running. It will then expose that data on a WebSocket. The supported fields are those required by RaceRoom's WebHud, and can be found below.

Please note that OtterHUD (closed source) requires more fields than currently supported.

Configuration

Since RaceRoom's WebHud requires a specific older minor version of the memory mapped files, it will be necessary to override the default one using a command line argument or editing application.conf in the same directory.

.\RaceDirector.exe --RaceDirector.HUD.Plugin:DashboardServer:R3EDash:MinorVersion=8

To see it in action, RaceRoom can be configured to use the WebHud or a Web Browser window can be pointed to https://sector3studios.github.io/webhud/dist/.

Alternatively, the telemetry can be seen connecting to the WebSocket port (ws://localhost:8070/r3e) using a client or a Web browser test page). Messages will look like this:

{
  "VersionMajor":2,
  "VersionMinor":8,
  "GameInMenus":1,
  ...
}

Protocols

RaceRoom Dash

It is an alternative to RaceRoom's Dash, exposing a WebSocket with telemetry information (on ws://localhost:8070/r3e). The advantage is that it works with all simulators supported by RaceDirector, and not only RaceRoom.

Field Supported
VersionMajor
VersionMinor
AllDriversOffset
DriverDataSize
GamePaused
GameInMenus
GameInReplay
GameUsingVr
GameUnused1
Player.GameSimulationTicks
Player.GameSimulationTime
Player.Position.X
Player.Position.Y
Player.Position.Z
Player.Velocity.X
Player.Velocity.Y
Player.Velocity.Z
Player.LocalVelocity.X
Player.LocalVelocity.Y
Player.LocalVelocity.Z
Player.Acceleration.X
Player.Acceleration.Y
Player.Acceleration.Z
Player.LocalAcceleration.X
Player.LocalAcceleration.Y
Player.LocalAcceleration.Z
Player.Orientation.X
Player.Orientation.Y
Player.Orientation.Z
Player.Rotation.X
Player.Rotation.Y
Player.Rotation.Z
Player.AngularAcceleration.X
Player.AngularAcceleration.Y
Player.AngularAcceleration.Z
Player.AngularVelocity.X
Player.AngularVelocity.Y
Player.AngularVelocity.Z
Player.LocalAngularVelocity.X
Player.LocalAngularVelocity.Y
Player.LocalAngularVelocity.Z
Player.LocalGforce.X
Player.LocalGforce.Y
Player.LocalGforce.Z
Player.SteeringForce
Player.SteeringForcePercentage
Player.EngineTorque
Player.CurrentDownforce
Player.Voltage
Player.ErsLevel
Player.PowerMguH
Player.PowerMguK
Player.TorqueMguK
Player.SuspensionDeflection.FrontLeft
Player.SuspensionDeflection.FrontRight
Player.SuspensionDeflection.RearLeft
Player.SuspensionDeflection.RearRight
Player.SuspensionVelocity.FrontLeft
Player.SuspensionVelocity.FrontRight
Player.SuspensionVelocity.RearLeft
Player.SuspensionVelocity.RearRight
Player.Camber.FrontLeft
Player.Camber.FrontRight
Player.Camber.RearLeft
Player.Camber.RearRight
Player.RideHeight.FrontLeft
Player.RideHeight.FrontRight
Player.RideHeight.RearLeft
Player.RideHeight.RearRight
Player.FrontWingHeight
Player.FrontRollAngle
Player.RearRollAngle
Player.thirdSpringSuspensionDeflectionFront
Player.thirdSpringSuspensionVelocityFront
Player.thirdSpringSuspensionDeflectionRear
Player.thirdSpringSuspensionVelocityRear
Player.Unused1
TrackName
LayoutName
TrackId
LayoutId
LayoutLength
SectorStartFactors.Sector1
SectorStartFactors.Sector2
SectorStartFactors.Sector3
RaceSessionLaps.Race1
RaceSessionLaps.Race2
RaceSessionLaps.Race3
RaceSessionMinutes.Race1
RaceSessionMinutes.Race2
RaceSessionMinutes.Race3
EventIndex
SessionType
SessionIteration
SessionLengthFormat
SessionPitSpeedLimit
SessionPhase
StartLights
TireWearActive
FuelUseActive
NumberOfLaps
SessionTimeDuration
SessionTimeRemaining
MaxIncidentPoints
EventUnused2
PitWindowStatus
PitWindowStart
PitWindowEnd
InPitlane
PitMenuSelection
PitMenuState.Preset
PitMenuState.Penalty
PitMenuState.Driverchange
PitMenuState.Fuel
PitMenuState.FrontTires
PitMenuState.RearTires
PitMenuState.FrontWing
PitMenuState.RearWing
PitMenuState.Suspension
PitMenuState.ButtonTop
PitMenuState.ButtonBottom
PitState
PitTotalDuration
PitElapsedTime
PitAction
NumPitstopsPerformed
PitMinDurationTotal
PitMinDurationLeft
Flags.Yellow
Flags.YellowCausedIt
Flags.YellowOvertake
Flags.YellowPositionsGained
Flags.SectorYellow.Sector1
Flags.SectorYellow.Sector2
Flags.SectorYellow.Sector3
Flags.ClosestYellowDistanceIntoTrack
Flags.Blue
Flags.Black
Flags.Green
Flags.Checkered
Flags.White
Flags.BlackAndWhite
Position
PositionClass
FinishStatus
CutTrackWarnings
Penalties.DriveThrough
Penalties.StopAndGo
Penalties.PitStop
Penalties.TimeDeduction
Penalties.SlowDown
NumPenalties
CompletedLaps
CurrentLapValid
TrackSector
LapDistance
LapDistanceFraction
LapTimeBestLeader
LapTimeBestLeaderClass
SectorTimesSessionBestLap.Sector1
SectorTimesSessionBestLap.Sector2
SectorTimesSessionBestLap.Sector3
LapTimeBestSelf
SectorTimesBestSelf.Sector1
SectorTimesBestSelf.Sector2
SectorTimesBestSelf.Sector3
LapTimePreviousSelf
SectorTimesPreviousSelf.Sector1
SectorTimesPreviousSelf.Sector2
SectorTimesPreviousSelf.Sector3
LapTimeCurrentSelf
SectorTimesCurrentSelf.Sector1
SectorTimesCurrentSelf.Sector2
SectorTimesCurrentSelf.Sector3
LapTimeDeltaLeader
LapTimeDeltaLeaderClass
TimeDeltaFront
TimeDeltaBehind
TimeDeltaBestSelf
BestIndividualSectorTimeSelf.Sector1
BestIndividualSectorTimeSelf.Sector2
BestIndividualSectorTimeSelf.Sector3
BestIndividualSectorTimeLeader.Sector1
BestIndividualSectorTimeLeader.Sector2
BestIndividualSectorTimeLeader.Sector3
BestIndividualSectorTimeLeaderClass.Sector1
BestIndividualSectorTimeLeaderClass.Sector2
BestIndividualSectorTimeLeaderClass.Sector3
IncidentPoints
ScoreUnused1
ScoreUnused2
ScoreUnused3
VehicleInfo.Name
VehicleInfo.CarNumber
VehicleInfo.ClassId
VehicleInfo.ModelId
VehicleInfo.TeamId
VehicleInfo.LiveryId
VehicleInfo.ManufacturerId
VehicleInfo.UserId
VehicleInfo.SlotId
VehicleInfo.ClassPerformanceIndex
VehicleInfo.EngineType
VehicleInfo.Unused1
VehicleInfo.Unused2
PlayerName
ControlType
CarSpeed
EngineRps
MaxEngineRps
UpshiftRps
Gear
NumGears
CarCgLocation.X
CarCgLocation.Y
CarCgLocation.Z
CarOrientation.Pitch
CarOrientation.Yaw
CarOrientation.Roll
LocalAcceleration.X
LocalAcceleration.Y
LocalAcceleration.Z
TotalMass
FuelLeft
FuelCapacity
FuelPerLap
EngineWaterTemp
EngineOilTemp
FuelPressure
EngineOilPressure
TurboPressure
Throttle
ThrottleRaw
Brake
BrakeRaw
Clutch
ClutchRaw
SteerInputRaw
SteerLockDegrees
SteerWheelRangeDegrees
AidSettings.Abs
AidSettings.Tc
AidSettings.Esp
AidSettings.Countersteer
AidSettings.Cornering
Drs.Equipped
Drs.Available
Drs.NumActivationsLeft
Drs.Engaged
PitLimiter
PushToPass.Available
PushToPass.Engaged
PushToPass.AmountLeft
PushToPass.EngagedTimeLeft
PushToPass.WaitTimeLeft
BrakeBias
DrsNumActivationsTotal
PtPNumActivationsTotal
VehicleUnused1
VehicleUnused2
TireType
TireRps.FrontLeft
TireRps.FrontRight
TireRps.RearLeft
TireRps.RearRight
TireSpeed.FrontLeft
TireSpeed.FrontRight
TireSpeed.RearLeft
TireSpeed.RearRight
TireGrip.FrontLeft
TireGrip.FrontRight
TireGrip.RearLeft
TireGrip.RearRight
TireWear.FrontLeft
TireWear.FrontRight
TireWear.RearLeft
TireWear.RearRight
TireFlatspot.FrontLeft
TireFlatspot.FrontRight
TireFlatspot.RearLeft
TireFlatspot.RearRight
TirePressure.FrontLeft
TirePressure.FrontRight
TirePressure.RearLeft
TirePressure.RearRight
TireDirt.FrontLeft
TireDirt.FrontRight
TireDirt.RearLeft
TireDirt.RearRight
TireTemp.FrontLeft.CurrentTemp.Left
TireTemp.FrontLeft.CurrentTemp.Center
TireTemp.FrontLeft.CurrentTemp.Right
TireTemp.FrontLeft.OptimalTemp
TireTemp.FrontLeft.ColdTemp
TireTemp.FrontLeft.HotTemp
TireTemp.FrontRight.CurrentTemp.Left
TireTemp.FrontRight.CurrentTemp.Center
TireTemp.FrontRight.CurrentTemp.Right
TireTemp.FrontRight.OptimalTemp
TireTemp.FrontRight.ColdTemp
TireTemp.FrontRight.HotTemp
TireTemp.RearLeft.CurrentTemp.Left
TireTemp.RearLeft.CurrentTemp.Center
TireTemp.RearLeft.CurrentTemp.Right
TireTemp.RearLeft.OptimalTemp
TireTemp.RearLeft.ColdTemp
TireTemp.RearLeft.HotTemp
TireTemp.RearRight.CurrentTemp.Left
TireTemp.RearRight.CurrentTemp.Center
TireTemp.RearRight.CurrentTemp.Right
TireTemp.RearRight.OptimalTemp
TireTemp.RearRight.ColdTemp
TireTemp.RearRight.HotTemp
TireTypeFront
TireTypeRear
TireSubtypeFront
TireSubtypeRear
BrakeTemp.FrontLeft.CurrentTemp
BrakeTemp.FrontLeft.OptimalTemp
BrakeTemp.FrontLeft.ColdTemp
BrakeTemp.FrontLeft.HotTemp
BrakeTemp.FrontRight.CurrentTemp
BrakeTemp.FrontRight.OptimalTemp
BrakeTemp.FrontRight.ColdTemp
BrakeTemp.FrontRight.HotTemp
BrakeTemp.RearLeft.CurrentTemp
BrakeTemp.RearLeft.OptimalTemp
BrakeTemp.RearLeft.ColdTemp
BrakeTemp.RearLeft.HotTemp
BrakeTemp.RearRight.CurrentTemp
BrakeTemp.RearRight.OptimalTemp
BrakeTemp.RearRight.ColdTemp
BrakeTemp.RearRight.HotTemp
BrakePressure.FrontLeft
BrakePressure.FrontRight
BrakePressure.RearLeft
BrakePressure.RearRight
TractionControlSetting
EngineMapSetting
EngineBrakeSetting
TireUnused1
TireUnused2.FrontLeft
TireUnused2.FrontRight
TireUnused2.RearLeft
TireUnused2.RearRight
TireLoad.FrontLeft
TireLoad.FrontRight
TireLoad.RearLeft
TireLoad.RearRight
CarDamage.Engine
CarDamage.Transmission
CarDamage.Aerodynamics
CarDamage.Suspension
CarDamage.Unused1
CarDamage.Unused2
NumCars
DriverData[].DriverInfo.Name
DriverData[].DriverInfo.CarNumber
DriverData[].DriverInfo.ClassId
DriverData[].DriverInfo.ModelId
DriverData[].DriverInfo.TeamId
DriverData[].DriverInfo.LiveryId
DriverData[].DriverInfo.ManufacturerId
DriverData[].DriverInfo.UserId
DriverData[].DriverInfo.SlotId
DriverData[].DriverInfo.ClassPerformanceIndex
DriverData[].DriverInfo.EngineType
DriverData[].DriverInfo.Unused1
DriverData[].DriverInfo.Unused2
DriverData[].FinishStatus
DriverData[].Place
DriverData[].PlaceClass
DriverData[].LapDistance
DriverData[].Position.X
DriverData[].Position.Y
DriverData[].Position.Z
DriverData[].TrackSector
DriverData[].CompletedLaps
DriverData[].CurrentLapValid
DriverData[].LapTimeCurrentSelf
DriverData[].SectorTimeCurrentSelf.Sector1
DriverData[].SectorTimeCurrentSelf.Sector2
DriverData[].SectorTimeCurrentSelf.Sector3
DriverData[].SectorTimePreviousSelf.Sector1
DriverData[].SectorTimePreviousSelf.Sector2
DriverData[].SectorTimePreviousSelf.Sector3
DriverData[].SectorTimeBestSelf.Sector1
DriverData[].SectorTimeBestSelf.Sector2
DriverData[].SectorTimeBestSelf.Sector3
DriverData[].TimeDeltaFront
DriverData[].TimeDeltaBehind
DriverData[].PitStopStatus
DriverData[].InPitlane
DriverData[].NumPitstops
DriverData[].Penalties.DriveThrough
DriverData[].Penalties.StopAndGo
DriverData[].Penalties.PitStop
DriverData[].Penalties.TimeDeduction
DriverData[].Penalties.SlowDown
DriverData[].CarSpeed
DriverData[].TireTypeFront
DriverData[].TireTypeRear
DriverData[].TireSubtypeFront
DriverData[].TireSubtypeRear
DriverData[].BasePenaltyWeight
DriverData[].AidPenaltyWeight
DriverData[].DrsState
DriverData[].PtpState
DriverData[].PenaltyType
DriverData[].PenaltyReason
DriverData[].Unused1
DriverData[].Unused2
DriverData[].Unused3
DriverData[].Unused4