正确的Ping

一个Fabric模组,用于追踪并提供客户端与服务器之间数据包延迟测量的访问。

工具

更合适的 Ping 显示

一个 Fabric 模组,用于追踪并提供客户端与服务器之间的数据包延迟测量数据。

最好搭配 Ping View 或 Better Ping Display(等它更新后)之类的模组一起使用。

功能

  • 追踪客户端与服务器之间最近 5 个数据包的延迟
  • 以毫秒为单位测量延迟,精度达到纳秒级
  • 使用并发集合实现线程安全

工作原理

该模组使用 Mixin 拦截 Minecraft 的查询 ping/pong 数据包,以测量往返时间(RTT):

  1. 客户端发送 QueryPingC2SPacket:包含时间戳并请求服务器信息
  2. 服务器以 PingResultS2CPacket 响应:回传原始时间戳
  3. ClientPlayNetworkHandlerMixin:拦截 pong 响应
  4. PacketLatencyTracker:将延迟计算为(响应时间 - 请求时间)

RTT 的测量方式为发送查询 ping 与接收 pong 响应之间的时间。