Add specific exception for bad packets.

This commit is contained in:
md_5 2013-09-21 16:57:17 +10:00
parent f12dcc72d9
commit 3e8c21a485
3 changed files with 15 additions and 1 deletions

View File

@ -0,0 +1,10 @@
package net.md_5.bungee.protocol;
public class BadPacketException extends RuntimeException
{
public BadPacketException(String message)
{
super( message );
}
}

View File

@ -78,7 +78,7 @@ public class Vanilla implements Protocol
DefinedPacket packet = read( packetId, buf, this ); DefinedPacket packet = read( packetId, buf, this );
if ( buf.readerIndex() == start ) if ( buf.readerIndex() == start )
{ {
throw new RuntimeException( "Unknown packet id " + packetId ); throw new BadPacketException( "Unknown packet id " + packetId );
} }
return packet; return packet;
} }

View File

@ -10,6 +10,7 @@ import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.connection.CancelSendSignal; import net.md_5.bungee.connection.CancelSendSignal;
import net.md_5.bungee.connection.InitialHandler; import net.md_5.bungee.connection.InitialHandler;
import net.md_5.bungee.connection.PingHandler; import net.md_5.bungee.connection.PingHandler;
import net.md_5.bungee.protocol.BadPacketException;
/** /**
* This class is a primitive wrapper for {@link PacketHandler} instances tied to * This class is a primitive wrapper for {@link PacketHandler} instances tied to
@ -95,6 +96,9 @@ public class HandlerBoss extends ChannelInboundHandlerAdapter
if ( cause instanceof ReadTimeoutException ) if ( cause instanceof ReadTimeoutException )
{ {
ProxyServer.getInstance().getLogger().log( Level.WARNING, handler + " - read timed out" ); ProxyServer.getInstance().getLogger().log( Level.WARNING, handler + " - read timed out" );
} else if ( cause instanceof BadPacketException )
{
ProxyServer.getInstance().getLogger().log( Level.WARNING, handler + " - bad packet ID, are mods in use!?" );
} else if ( cause instanceof IOException ) } else if ( cause instanceof IOException )
{ {
ProxyServer.getInstance().getLogger().log( Level.WARNING, handler + " - IOException: " + cause.getMessage() ); ProxyServer.getInstance().getLogger().log( Level.WARNING, handler + " - IOException: " + cause.getMessage() );