TabListPing 1.01

Shows players' ping times in the tab list

  1. Bobcat00
    Native Minecraft Version:
    Legacy (< 1.13)
    Tested Minecraft Versions:
    • 1.12
    • 1.15
    Source Code:
    https://github.com/Bobcat00/TabListPing
    Description

    TabListPing shows each player's ping time in the tab player list. Unlike other plugins which use an inaccurate value from the server, TabListPing measures the ping time itself. The format is configurable and can use the players' regular names or the "display name". No configuration is required. Just drop it in your plugins folder and restart your server.

    Note that TabListPing requires ProtocolLib. If you don't already have it, you will need to download it and place it in your plugins folder.

    tablistping_sample.png

    Details

    Somewhere around the release of 1.12, somebody broke the way the server maintained each player's ping time, with the result being the values are way too high. And, of course, plugins which used the ping time maintained by the server also displayed these inflated ping times. TabListPing calculates the time ping times itself and is much more accurate than plugins which rely on the server's value.

    How does it work? Every 25 seconds, the server sends out a "Keep Alive" message to each client. The client then responds with its own "Keep Alive" message. TabListPing monitors when each message is sent/received and uses the time difference as the ping time. You'll see the values updated every 25 seconds. Note that the first ping is measured immediately after the client connects, when it is very busy receiving the world data. This can result in the first ping time being very high. After 25 seconds, it will be updated with a new, more realistic value.

    Configuration (optional)

    format - This is the format of the entries displayed in the tab list and should be enclosed in single quotes. There are three variables you can use: %name% is replaced with the player's regular name, %displayname% is replaced with the player's "display name" including colors (if any), and %ping% is replaced with the ping time in milliseconds. You can also use the standard Minecraft color codes. The default configuration is:
    Code (YAML):
    # Supported variables are %name%, %displayname%, and %ping%
    format
    : '%name% &7[&a%ping%ms&7]'
    This results in the format shown in the image above.

    Commands/Permissions

    None.

Recent Updates

  1. Minor internal improvement