PingTab
I've started this project when PingList doesn't seemed to be maintained anymore, much thanks for @Dutch1ee for the idea and @Ozelo for pushing me into making this.
The plugin shows the players latency inside minecraft, not ICMP. So you should keep in mind that besides the connections between the client and the server, the server and client load (Disk, CPU and FPS) is taken in account.
Installation
- Download the jar
- Copy it to the plugins folder
- Restart or Reload the server
- Edit the config.yml as you please
- Restart or Reload the server
Upgrading
If you are upgrading, remove the old PingTab Folder before restarting or reloading the server, the folder and the new config.yml will be automatically created. On the 1.4 version, the config will be updated automatically.
Configuration
On config.yml you can set:
- AutoUpdate: Enable/Disable auto update checking (Default: true)
- AutoDownloadUpdate: Enable/Disable auto downloading new updates, when disabled warns you about new versions (Default: false)
- Interval: Pooling interval in seconds. (Default: 3)
- DisableTab: Disable the tab portion of the plugin. (Default: false)
- ShowPluginNameOnMessages: Show the plugin name on messages sent to the players and console. Please leave this option enabled so more people will know about this plugin! (Default: false)
- ColoredPingParameter: Make the %ping parameter on messages to be automatically colored based on it's value.
- GoodPing: Pings below this number will be printed as green in the /ping command. (Default: 200)
- MediumPing: Pings below this number will be printed as gold in the /ping command. If the ping gets above this number, it will be printed in red. (Default: 500)
- OwnPingMessage: Message that is sent to the player when he check it's own ping with /ping. Color codes are supported using & character. (Default: "Your ping is %pingms")
- Parameters:
- %ping - Ping Measured
- Parameters:
- PingMessage: Message that is sent to player when he check anothe player's ping with /ping. Color codes are supported using & character. (Default: "%playername's ping is %pingms")
- Parameters:
- %playername - Player Name;
- %ping - Ping Measured;
- Parameters:
- AlertPlayers: Alert players about high latency (Default: true)
- AlertThreshold: Players with the ping higher than this will be alerted (Default: 500)
- AlertInterval: The interval, in minutes, for the alerts to be sent (Default: 5)
- AlertMessage: The message that will be sent to the user on the alert event. Color codes are supported using & character. (Default: "%playername, your latency of %ping is above %threshold!")
- Parameters:
- %playername - Player Name
- %ping - Ping Measured
- %threshold - Threshold Set
- Parameters:
Default config.yml
# PingTab v1.3.0 # AutoUpdate: Enable/Disable auto update checking AutoUpdate: true # AutoDownloadUpdate: Enable/Disable auto downloading new updates, when disabled warns # you about new versions AutoDownloadUpdate: false # Interval: Ping Measurement interval in seconds Interval: 3 # DisableTab: Disable the tab portion of the plugin. DisableTab: false # ShowPluginNameOnMessages: Show the plugin name on messages sent to the players # and console. Please leave this option enabled so # more people will know about this plugin! ShowPluginNameOnMessages: false # ColoredPingParameter: Make the %ping parameter on messages to be automatically # colored based on it's value. ColoredPingParameter: true # GoodPing: Pings below this number will be printed as green in the /ping command. GoodPing: 200 # MediumPing: Pings below this number will be printed as gold in the /ping command. # If the ping gets over this number, it will be printed in red . MediumPing: 500 # OwnPingMessage: Message that is sent to the player when he check it's own # ping with /ping. Color codes are supported using & character. # Parameters: %ping - Ping Measured OwnPingMessage: "Your ping is %ping ms" # PingMessage: Message that is sent to player when he check anothe player's # ping with /ping. Color codes are supported using & character. # Parameters: %playername - Player Name # %ping - Ping Measured PingMessage: "%playername's ping is %ping ms" # AlertPlayers: Alert players about high latency (Default: true) AlertPlayers: true # AlertThreshold: Players with the ping higher than this will be alerted. AlertThreshold: 1000 # AlertInterval: The interval, in minutes, for the alerts to be sent. AlertInterval: 5 # AlertMessage: The message that will be sent to the user on the alert event. # Color codes are supported using & character. # Parameters: %playername - Player Name # %ping - Ping Measured # %threshold - Threshold Set AlertMessage: "%playername, your latency of %ping is above %threshold!"
Permissions
This plugin supports the following permissions:
Permission Nodes
- pingtab.* - Allow all users to use all commands
- pingtab.default - Default configuration
- pingtab.showscoreboard - Allow a user to see the PingTab scoreboard
- pingtab.ping - Allow a user to use the /ping command
- pingtab - Allow a user to use the /pingtab command
- pingtab.reload - Allow a user to use the /pingtab reload command
- pingtab.checkupdate - Allow a user to use the /pingtab checkupdate command
- pingtab.update - Allow a user to use the /pingtab update command
Default Permissions
- pingtab: Anyone
- pingtab.showscoreboard: Anyone
- pingtab.ping: Anyone
- pingtab.reload: Op only
- pingtab.checkupdate: Op only
- pingtab.update: Op only
Current Features
- Shows latency on the tablist
- Support for colored names (This means that if you use a plugin to make the names colored it will work just fine)
- /ping [player|self|list] command
- /pingtab reload command
- High latency alerts
- MCStats
- Permissions
- SuperPerms
Planned Features
- Autokick based on measured latency
- List players on tab based on radius and or limits for big servers
- List players order by own faction, enemy factions, other factions and lonewolves
- Messages of high latency on PvP
- Broadcast players with high ping
- Werewolves plugin support (there are some glitches when using this plugin)
Uninstalling
- Remove the jar from the plugins folder
- Restart the server
- Type /scoreboard objectives to clean the scoreboard
Review
A Review by VariationVault
Won't Work
- Configurable and colored measures: Unfortunately that isn't possible at the moment.
- ICMP latency measurements: Java doesn't support ICMP, there's a workaround but it too messy.
MCStats
This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and/or sent to mcstats.org:
The following data is read from the server in some way or another:
- File Contents of plugins/Plugin Metrics/config.yml (created if not existent)
- Players currently online (not max player count)
- Server version string (the same version string you see in /version)
- Plugin version of the metrics-supported plugin
- Mineshafter status - it does not properly propagate Metrics requests however it is a very simple check and does not read the filesystem
The following data is sent to http://mcstats.org:
- Metrics revision of the implementing class
- Server's GUID
- System Architeture
- Players currently online (not max player count)
- Server version string (the same version string you see in /version)
- Plugin version of the metrics-supported plugin
- Minecraft Server Mod
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.
Feature Request and Bug Reports
Feel free to PM me with any other feature needed, bugs should be reported in the comments section on bukkit.org.
Source Code
You can get the source here. Just give the credits
Donations
If you like this plugin, feel free to donate, my kids will appreciate that!
@ninjaangel
This is strange, what bukkit or spigot version you are using ?
Can someone help me? This plugin says its loaded but doesn't make a config folder or show pings on tablist.
@CommodoreAlpha
Ok Commodore, I will do as soon as I'm not drunk anymore LOL... Can't do anything today, since it's the first day of the year and the amount of blood in my alchool it's too high. I mean, amount of alchool in my blood.
@tiagoratto
But I think you should clarify that statement so more people wouldn't have the misconception like I did.
For example, instead of "Support for colored names," you could say, "Doesn't interfere with plugins that colour playernames in the tab list."
Guys, notice that when I wrote support for colored names, It does not mean that implements colored names. As @Ozelo said, you'll need another plugin to make a tab names colored. But my plugin wont interfere with it
@tiagoratto
In your PingTab.java on github in line 38. "Plugin netrics failed!" :)
it doesn't seem to be working for me
I interpreted "Support for Coloured Names" as "This plugin also has the feature of providing coloured names, in addition to showing their ping".
It would be a bit clearer if you said "Does not conflict with plugins that add colour to playernames in the tab list."
@Seaboiii
Thanks for the support!
@FourOhFourPageNotFound
Thanks for the support!
@rolandostar
Nice suggestion, it will make the Planned Features! Thanks! PM me if you want to test it.
@CommodoreAlpha
As @Seaboii noticed, it shouldn't. Thanks about considering my arguments, I just hate jealous people
Is there a download link?
Is there a download liink?
Is it possible to have it so that only admins can see everyone's ping? And without the proper permission someone would see the normal playerlist?
Thanks! Let me know if it can be done or not.
@CommodoreAlpha
In the features it says "Support for colored names". So, I guess it should work
Would this interfere with another plugin that changes playername colours in the tablist?
Also, great job with your argument. Very well-detailed and thorough. :)
@forseth11
The word "copy" is a very heavy word. When you say someone "copy" your plugin, it means that he/she took your code without giving any credits. If it just have the same concept, then what's wrong with having one or more plugins that does the same thing. For example, someone makes a quake plugin. Then, another person make another quake plugin. Is that copying if all the codes are neither taken. Even my Prophunt plugin has a competitor which is Blockhunt. There are a lot of plugins witch has the same idea. So what is wrong with having another.
I sense that you are afraid that this plugin will beat your version since this plugin has more features. Either way, good luck to both
@forseth11
He's fully entitled to have his own version.
@forseth11
First of all, didn't your parents teach you some manners ? Why are you yelling at me, at my plugin comments ? Were you a spoiled child ? Grow up kid!
Now to the point, you come here, accuses me of plagiarism, while you didn't even took care to change the config files comments and settings names you took from PingList v1.0 ? Who do you think you are, you little thieve ? And before you make the changes to your plugin and page, here is the screenshot taken the night you accused me:
Notice that in the first line of your config file says PingList v1.0.0, so, watch your own actions before pointing your finger on someone. As my grandpa always said, you always expect from others what you do to them, 'nuff said.
As a plus, I've made my code GPL and available to anyone who want to see, copy, change or improve it. The first thing I point out on my plugin description is that I took the IDEA, and the idea only, from PingList and no one else, and only because PingList isn't working on 1.7.x. And if someday @Dutch1ee ask me to take my plugin down I'll do it gladly and with no remorse, since I've been truthful from the very beggining. This show how much I'm committed and carefree about my code quality, source and uniqueness, also how much I'm committed to my principles.
Now, taking a look at you reaction to my project and your so called documentation, I see you are the kind of incompetent and unable person who take the work and credits of others for yourself, without caring about principles and/or license (PingList also has All Rights Reserved). Also, I think in some manner you are frightened by my plugin, don't know why, but that's how your kind behave, I'm used to deal with it.
You should be reported as a copycat, flamer and most of all, the worst kind of human being.
So, again, grow up kid, and step aside before being hit and crushed by the adult ones.
Thanks for your attention.
PS: If you want to COPY my code and use it, feel free to do it, just give me the proper credits.