andywaite / sim-telemetry-parser
用于解析赛车模拟器UDP数据包的库。目前仅支持Codemasters的F1 2020。
0.1.1
2020-08-23 19:04 UTC
Requires
- php: ^7.4
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2024-09-24 04:01:46 UTC
README
目前仅支持Codemasters F1 2020
查看:https://forums.codemasters.com/topic/54423-f1%C2%AE-2020-udp-specification/
许多赛车模拟游戏可以通过网络向第三方应用程序发送遥测数据。
数据格式各不相同,但通常包括:
- 车辆数据,如速度和发动机转速
- 控制数据,如油门位置和转向角度
- 圈数数据,如当前圈时和最快段落
UDP数据包中发送的数据以原始二进制流的形式出现。该库的目的是将这个二进制流转换成我们可以用PHP处理的数据。
请注意,这个库不处理接收二进制流或显示它——仅仅解析原始数据并将其转换为友好的模型。
如何使用
-
使用Composer安装
$ composer install andywaite/sim-telemetry-parser
-
使用它!
// Create parser class $parser = AndyWaite\SimTelemetryParser\Parser::getParser(); // Parse a stream $packet = $parser->streamToModels($binaryStream); // Get index of player car $playerCar = $packet->getHeader()->getPlayerCarIndex(); // Each packet contains different data. Speed is only contained in the car telemetry packet if ($packet instanceof \AndyWaite\SimTelemetryParser\Game\F12020\Structs\PacketCarTelemetryData) { echo "You are traveling at ".$packet->getCarTelemetry($playerCar)->getSpeed()."kph"; }
关于其使用的示例,请参阅demo.php
parse函数可以返回的模型类型
AndyWaite\SimTelemetryParser\Game\F12020\PacketCarSetupData
AndyWaite\SimTelemetryParser\Game\F12020\PacketCarStatusData
AndyWaite\SimTelemetryParser\Game\F12020\PacketCarTelemetryData
AndyWaite\SimTelemetryParser\Game\F12020\PacketEventData
AndyWaite\SimTelemetryParser\Game\F12020\PacketFinalClassificationData
AndyWaite\SimTelemetryParser\Game\F12020\PacketHeader
AndyWaite\SimTelemetryParser\Game\F12020\PacketLapData
AndyWaite\SimTelemetryParser\Game\F12020\PacketLobbyInfoData
AndyWaite\SimTelemetryParser\Game\F12020\PacketMotionData
AndyWaite\SimTelemetryParser\Game\F12020\PacketParticipantsData
AndyWaite\SimTelemetryParser\Game\F12020\PacketSessionData
AndyWaite\SimTelemetryParser\Game\F12020\FastestLap
AndyWaite\SimTelemetryParser\Game\F12020\Penalty
AndyWaite\SimTelemetryParser\Game\F12020\RaceWinner
AndyWaite\SimTelemetryParser\Game\F12020\Retirement
AndyWaite\SimTelemetryParser\Game\F12020\SpeedTrap
AndyWaite\SimTelemetryParser\Game\F12020\TeamMateInPits
未来开发
我计划编写一个更好的服务器应用程序和可视化工具,它将使用这个库。
有关数据包及其内容的完整参考,请参阅:https://forums.codemasters.com/topic/54423-f1%C2%AE-2020-udp-specification/