SuperSpyTX / AntiBot

The ultimate anti spam protection plugin for Minecraft. It trolls users who use login spam tools like PWN4G3 and Paradigm.
http://dev.bukkit.org/server-mods/antibot
14 stars 4 forks source link

HeroChat NPE causes AB EventException #6

Closed ZathrasNotTheOne closed 12 years ago

ZathrasNotTheOne commented 12 years ago

AntiBot started it by kicking a player. HC had NPE and BotHandler didn't handle the exception.

04:54:41 [INFO] [AntiBot] has detected minecraft spam! 04:54:41 [INFO] [MCBans] xxx2023 has disconnected! 04:54:41 [SEVERE] Could not pass event PlayerQuitEvent to Herochat org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at net.minecraft.server.ServerConfigurationManager.disconnect(ServerConfigurationManager.java:179) at net.minecraft.server.NetServerHandler.disconnect(NetServerHandler.java:158) at org.bukkit.craftbukkit.entity.CraftPlayer.kickPlayer(CraftPlayer.java:213) at me.freebuild.superspytx.handlers.BotHandler.onPlayerJoin(BotHandler.java:195) at me.freebuild.superspytx.listeners.BotListener.onPlayerJoin(BotListener.java:64) at sun.reflect.GeneratedMethodAccessor255.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:460) at net.minecraft.server.ServerConfigurationManager.c(ServerConfigurationManager.java:132) at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:129) at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:41) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:61) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:567) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.lang.NullPointerException at com.dthielke.herochat.YMLChatterStorage.update(YMLChatterStorage.java:87) at com.dthielke.herochat.YMLChatterStorage.removeChatter(YMLChatterStorage.java:70) at com.dthielke.herochat.ChatterManager.removeChatter(ChatterManager.java:61) at com.dthielke.herochat.ChatterManager.removeChatter(ChatterManager.java:72) at com.dthielke.herochat.HCPlayerListener.onPlayerQuit(HCPlayerListener.java:40) at sun.reflect.GeneratedMethodAccessor304.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ... 20 more

SuperSpyTX commented 12 years ago

Analysing the code, It appears that it's Herochat at 100%.

Also, this exception will appear anytime the player's getting kicked.

Trash Herochat, or live with the exceptions.

SuperSpyTX commented 12 years ago

To finish the reply from IRC:

<@SuPaH|Away> ZathrasNotTheOne: HeroChat's shit, I can't do a damn thing to fix the issue as it's on HeroChat's side. ONCE AGAIN. I think what's happening is because the player left the game, the Player being passed is null. <@SuPaH|Away> And this could be any plugin as well <@SuPaH|Away> So either live with that or switch to PEX and use prefixes (if that's your intentions of using HeroChat). <@SuPaH|Away> or get an AdminChat plugin.

ZathrasNotTheOne commented 12 years ago

It only happens with AntiBot running. I will remove AntiBot and see if the problem ever occurs.

I use PEX for and HeroChat together.