Download Proper Ping — Minecraft Mods — MetaMods
Proper Ping

Proper Ping

Active

Downloads

0

Last update

1 year ago

Versions

1.19.2 — 1.20.1
Client and server
Forge
Control
Utils

Proper Ping - Accurate Ping Measurement in Minecraft

The standard latency calculation in Minecraft always seemed extremely inaccurate and delayed to me.

This mod bypasses the limitations of the vanilla system and measures latency using custom packets, calculating the average of the last 5 round-trip time measurements.

In addition to improved measurement, the mod adds a customizable interface element for constant display of your ping with the following features:

  • Completely hide the display
  • Placement anywhere on the screen
  • Display of the last 5 latency measurements in one element
  • Display of numerical ping values for other players instead of abstract bars (there is a server-side setting to adjust the frequency of broadcasting these values to all players)

Technical Features

In the original Minecraft version, latency values are sent to clients only once every 30 seconds:

public void tick() {
   if (++this.sendAllPlayerInfoIn > 600) {
      this.broadcastAll(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_LATENCY, this.players));
      this.sendAllPlayerInfoIn = 0;
   }
}

And here's how they "calculate" latency:

int i = (int)(Util.getMillis() - this.keepAliveTime);
this.player.latency = (this.player.latency * 3 + i) / 4;

Configuration Example

Default settings:

["Ping HUD"]
    # Enable ping display
    pingHudEnabled = true
    # Additionally show last 5 values
    showPingQueue = false
    # Draw text with shadow
    drawTextWithShadow = true
    # Position on left (true) or right (false)
    leftOrRight = true
    # Offset from screen edge in pixels
    # Range: > 0
    horizontalPadding = 4
    # Line number from top for display
    # Range: > 0
    lineFromTop = 1
    # Vertical offset from top of screen
    # Range: > 0
    verticalPadding = 4

[Other]
    # Show numbers in milliseconds in player list
    playerListNumbers = true

Example of full display with last 5 measurements enabled, numerical values in player list, and right-side positioning: Interface example

Frequently Asked Questions

Q: Forge support?

A: Yes, Forge is supported.

Q: Can I use the mod in videos?

A: Yes, provided you include a link to the mod or modpack if it's included in one.

Q: Can I add the mod to a modpack?

A: Modpacks on CurseForge/Modrinth are supported.

Project members
unixkitty

unixkitty

Developer

Created: 11 Mar 2024

ID: 13312