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.
If you have EssentialsX, TabListPing will also add an AFK indicator to any player who is AFK.
TabListPing can optionally display the tab list headers and footers, and include variables such as the player's world name and the server's TPS. This requires making minor configuration and permission changes.
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 ping times itself and is much more accurate than plugins which rely on the server's value.
How does it work? Every 15 to 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 15-25 seconds. The value displayed is the average of the last three measurements.
Configuration
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.
format-afk - This is the format used when a player is AFK. If you don't want the AFK indicator, simply edit config.yml so that format-afk is the same as format. (Don't set it to null.) The AFK indicator requires EssentialsX.
enable-tps - This enables the display of the tab list header and footer. It is disabled by default to maximize compatibility with other tab list plugins.
format-header and format-footer - This format of the header and footer, respectively. Supported variables are %name%, %displayname%, %tps%, %mspt%, %load%, and %world%. Note that Spigot does not support %tps%, %mspt%, or %load%. Players need to have the permission tablistping.header and/or tablistping.footer.
The default configuration is:
# Supported variables are %name%, %displayname%, and %ping%
format: '%name% &7[&a%ping%ms&7]'
format-afk: '%name% &7[&a%ping%ms&7] &eAFK'
# Enable header/foot display
# Supported variables are %name%, %displayname%, %tps%, %mspt%, %load%, and %world%
# Spigot does not support %tps%, %mspt%, or %load%
enable-tps: false
format-header: ''
format-footer: '&7TPS: %tps% &7MSPT: %mspt%'
This results in the format shown in the image above.
Commands
/tablistping reload - This reloads the configuration file.
/tablistping report - This produces a report of the current ping times for all logged in players. This is mainly useful from the console (a player could just look at the tab list to see the ping times).
Permissions
tablistping.header - Displays tab list header for this player tablistping.footer - Displays tab list footer for this player tablistping.command - Required permission for all subcommands tablistping.command.reload - Allow use of the reload command tablistping.command.report - Allow use of the report command
Miscellaneous
This plugin uses the bStats metrics system to provide anonymous usage data. You may opt-out globally by changing plugins/bStats/config.yml. The metrics are available at https://bstats.org/plugin/bukkit/TabListPing2
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+