[INACTIVE][ADMN] PingWatcher 2.4.1 - Essential tool to run a lag-free server [677]

Discussion in 'Inactive/Unsupported Plugins' started by Zi0P4tch0, Apr 11, 2011.

  1. Offline

    Zi0P4tch0

    This plugin kicks players with a non-decent ping.

    UPDATE 2.3.3:
    Fixed known bugs.
    Code improved.
    Time interval min value set to 3.

    UPDATE 2.3.5:
    Minor bug fixes

    UPDATE 2.4:
    "/pingme" command available for clients that play on Linux servers (still implementing Windows & Mac version).
    Ops are now excluded from ping check.

    UPDATE 2.4.1:
    Improved ping check response.

    Minecraft servers are buggy and they really suffer from bad pings.
    Give this simple plugin a try, you will not regret it!

    Screenshots:

    [​IMG]

    [​IMG]
    [​IMG]
    Download:

    http://dl.dropbox.com/u/26014957/PingWatcher2.jar

    Donate a dollar to keep my coffee mug always full :)
    [​IMG]

    ------------------------------------------------------------------------

    Changelog:
    2.4.1:
    -Improved ping check response.
    2.4:
    - Added /pingme command (works only if client is on a Linux server).
    - Ops exclusion from pingcheck.
    2.3.5:
    - Minor bug fixes.
    2.3.3:
    - Fixed some bugs, code improved.
    2.3.1:
    -Plugin skips LAN clients. (removed, was really buggy)
    -Added property "login-message"
    2.1:
    - Added command: kickprobability.
    2.0:
    - Completely rewritten and improved.
    1.3.1:
    -custom messages (goodping, pingwarn)
    1.3:
    - warning mode: warn clients / do not kick them!
    1.2.1:
    - Increased the priority for the "OnWorldSave" event.
    1.2:
    - Ping check after a time interval (optional):
    Plugin configuration file: added "time-interval" property.
    1.1:
    - Plugin configuration file: added "plugin-limit" property.
    1.0:
    - Initial release.

    To-do:
    Nothing

    If you're experiencing bugs or you think that the plugin is not working correctly, feel free to contact me.
    I'll answer A.S.A.P.

    Suggestions are welcome too :)

    Zi0P4tch0

    Updated :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  2. Offline

    habbah

    Love the addon but people simply just join back in when they are kicked out, you should add a feature "5 minute ban" when kicked for high ping they are banned for 5 minutes.
     
    Zi0P4tch0 likes this.
  3. Offline

    Zi0P4tch0

    I'll take this in consideration, thanks for support!
     
  4. Offline

    Rick

    Thank you. I have tried version 2 and I dont understand the kick probability. My says 40% and I am on the same computer as the server. Is there a permission command where people can check there ping?
     
  5. Offline

    Zi0P4tch0

    Updated!

    I've removed the command. Its results were hard to understand, 'cause they werw related to my algorithm.
    Useful for me but not for the others :p
    About the ping, I'm thinking about a possibile implementation :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  6. Offline

    Rick

    Thank you so much and keep up the good work

    aww :( I got kicked after the 4th ping. It said my ping was too high. Server is on the same pc and my player was just standing there not doing anything. No one else but me while I was testing this.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
    Zi0P4tch0 likes this.
  7. Offline

    Zi0P4tch0

    If you launch the client on same machine of the server, results are very strange.
    I test my plugin using two different computers.
    You should do the same :)
     
  8. Offline

    Faust

    Possible to make the plugin "Hibernate" when no players are online so it doesn't run the ping algorithm?
     
    Zi0P4tch0 likes this.
  9. Offline

    Zi0P4tch0

    Nice idea, I'm going to implement it.
     
  10. Offline

    2Bucks

    Perhaps set it to start kicking if the server has "x" number of players online
    Or let admins set a different ping limit for different # of players online

    Finally, is it possible to check the ping of a player?
     
  11. Offline

    Zi0P4tch0

    The first idea is nice, I'll take it in consideration.
    The second would be too expensive.

    I'm still thinking about the ping implementation. I'm trying to find a work-around (I'm thinking about using native libraries).
    When I'll come up with something. I'll write it here :)
     
  12. Offline

    2Bucks

    Yeah I'd much rather check the ping of players or do like a /ping list and manually kick people rather than autokick.

    But this plugin is just what I need. When I'm trying to have battles with like 20-30 players, it always lags. If I can just find/kick the 2-3 of thing with huge pings, it'd be way better for everyone
     
  13. Offline

    Tibs

    interesting mod.. got this on cb677

    Unexpected exception
    java.lang.NullPointerException
    at Zi0P4tch0.PingWatcher.a.run(Unknown Source)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:122)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:356)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
     
  14. Offline

    Zi0P4tch0

    I've updated the jar file, try again and let me know if the problem is gone or not :)
     
  15. Offline

    BorderKeeper

    Code:
    2011-04-15 21:43:53 [SEVERE] Could not pass event PLAYER_JOIN to PingWatcher
    java.lang.ArrayIndexOutOfBoundsException: 0
        at Zi0P4tch0.PingWatcher.PingWatcher.belongToSameLAN(PingWatcher.java:351)
        at Zi0P4tch0.PingWatcher.PingWatcherPlayerListener.onPlayerJoin(PingWatcherPlayerListener.java:25)
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:204)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
        at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:98)
        at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:87)
        at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:27)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:87)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    This plugin isnt working on my server and everytime something happens it write this. Also it says the same thing when player leaves.
     
  16. Offline

    Tibs

    Unexpected exception
    java.lang.NullPointerException
    at Zi0P4tch0.PingWatcher.PingWatcher$1.run(PingWatcher.java:321)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:122)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:356)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
     
  17. Offline

    Zi0P4tch0

    Download new version 2.3.3 from first post, thanks for reporting! :)
    Let me know if the error occurs again

    Download new version 2.3.3 and let me know if problem persists.
    Thanks for reporting! ;)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  18. Offline

    BorderKeeper

    Problem persisted. Same error
     
  19. Offline

    Zi0P4tch0

    Your server RB?
     
  20. Offline

    BorderKeeper

    RB? Using 677 bukkit
     
  21. Offline

    Zi0P4tch0

    I've tested it right now on my server (Linux,Java 64-bit, RB 677) and it's working flawlessy.
    Does the plugin says version 2.3.3 when it starts? (look at the log messages)
     
  22. Offline

    BorderKeeper

    Code:
    2011-04-15 23:02:18 [INFO] [PingWatcher]: plugin enabled (version 2.3.3).
    2011-04-15 23:02:18 [INFO] [PingWatcher]: loading plugin configuration.
    2011-04-15 23:02:18 [INFO] [PingWatcher]: "ping-limit" = 100.
    2011-04-15 23:02:18 [INFO] [PingWatcher]: "time-interval" = 5.
    2011-04-15 23:02:18 [INFO] [PingWatcher]: "warning-mode" = false.
    2011-04-15 23:02:18 [INFO] [PingWatcher]: "cm-goodping" = "your ping is good".
    2011-04-15 23:02:18 [INFO] [PingWatcher]: "cm-badping" = "your ping is too high".
    2011-04-15 23:02:18 [INFO] [PingWatcher]: "cm-pingkick" = "has been kicked for high ping".
    2011-04-15 23:02:18 [INFO] [PingWatcher]: "login-message" = true.
    2011-04-15 23:02:18 [INFO] [PingWatcher]: plugin configuration successfully loaded. 
    Plugin starts normally.
    Using CentOS, 32-bit
     
  23. Offline

    Zi0P4tch0

    Tomorrow I'll make some tests on other servers, I really want to identify the cause of the error.
    One last question.
    Are you using Sun's JRE? If yes, which version?

    News: I'm implementing the "ping" command using native libraries.
    It will take me some time, but, it's going to be cool :D

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 13, 2016
  24. Offline

    BorderKeeper

    I am pretty sure everything else works. And I remember clearly I installed java.
    I think it has something to do with other plugins. I will try diabling plugins one by one and figuring out which is blocking it
    Ps: Bear in mind /ping is used in essnetials. It replies pong in console
     
  25. Offline

    Zi0P4tch0

    Thanks for the tip, and for the help :)
     
  26. Offline

    link2110

    Code:
    2011-04-16 01:40:31 [SEVERE] Could not pass event PLAYER_JOIN to PingWatcher
    java.lang.ArrayIndexOutOfBoundsException: 0
    	at Zi0P4tch0.PingWatcher.PingWatcher.belongToSameLAN(PingWatcher.java:364)
    	at Zi0P4tch0.PingWatcher.PingWatcherPlayerListener.onPlayerJoin(PingWatcherPlayerListener.java:25)
    	at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:204)
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
    	at net.minecraft.server.ServerConfigurationManager.a(ServerConfigurationManager.java:98)
    	at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:87)
    	at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:27)
    	at net.minecraft.server.NetworkListenThread.a(SourceFile:87)
    	at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    2011-04-16 01:40:31 [INFO] CraftPlayer{name=link2110} logged in with entity id229
    2011-04-16 01:40:31 [INFO] [StealthLogin] link2110 logged in secretly!
    2011-04-16 01:40:36 [INFO] link2110 lost connection: disconnect.quitting
    2011-04-16 01:40:36 [INFO] Connection reset
    2011-04-16 01:40:36 [SEVERE] Could not pass event PLAYER_QUIT to PingWatcher
    java.lang.ArrayIndexOutOfBoundsException: 0
    	at Zi0P4tch0.PingWatcher.PingWatcher.belongToSameLAN(PingWatcher.java:364)
    	at Zi0P4tch0.PingWatcher.PingWatcherPlayerListener.onPlayerQuit(PingWatcherPlayerListener.java:43)
    	at org.bukkit.plugin.java.JavaPluginLoader$2.execute(JavaPluginLoader.java:210)
    	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
    	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:255)
    	at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:119)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:533)
    	at net.minecraft.server.NetworkManager.a(NetworkManager.java:202)
    	at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
    	at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
    	at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    
    Same thing, im using 2.3.3

    Windows, CB677
     
  27. Offline

    Zi0P4tch0

    2.3.5 is out!
     
  28. Offline

    BorderKeeper

    Problem solved.
     
  29. Offline

    Zi0P4tch0

    Good to hear :)
     
  30. Offline

    dervonz

    Error still persists :-/ with 2.3.5

    Code:
    2011-04-16 12:14:54 [INFO] [PingWatcher]: executing ping ranking algorithm.
    2011-04-16 12:14:54 [SEVERE] java.lang.NullPointerException
    2011-04-16 12:14:54 [SEVERE]     at Zi0P4tch0.PingWatcher.PingWatcher$1.run(PingWatcher.java:105)
    2011-04-16 12:14:54 [SEVERE]     at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:122)
    2011-04-16 12:14:54 [SEVERE]     at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:356)
    2011-04-16 12:14:54 [SEVERE]     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    2011-04-16 12:14:54 [SEVERE]     at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    2011-04-16 12:14:54 [SEVERE] Unexpected exception
    java.lang.NullPointerException
        at Zi0P4tch0.PingWatcher.PingWatcher$1.run(PingWatcher.java:105)
        at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:122)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:356)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
     
  31. Offline

    Zi0P4tch0

    I need these infos: RB, Java version (Sun,OpenJDK,etc) and architecture
     

Share This Page