mirror of
https://github.com/SpigotMC/BungeeCord.git
synced 2024-06-23 05:04:59 +02:00
Compare commits
3 Commits
708ac50a08
...
ed80c3ae89
Author | SHA1 | Date | |
---|---|---|---|
|
ed80c3ae89 | ||
|
46fddc4110 | ||
|
8537709045 |
|
@ -136,6 +136,8 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||
@Getter
|
||||
private boolean transferred;
|
||||
private UserConnection userCon;
|
||||
@Getter
|
||||
private BaseComponent disconnectMessage;
|
||||
|
||||
@Override
|
||||
public boolean shouldHandle(PacketWrapper packet) throws Exception
|
||||
|
@ -163,13 +165,11 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||
@Override
|
||||
public void exception(Throwable t) throws Exception
|
||||
{
|
||||
if ( canSendKickMessage() )
|
||||
{
|
||||
disconnect( ChatColor.RED + Util.exception( t ) );
|
||||
} else
|
||||
{
|
||||
ch.close();
|
||||
}
|
||||
// if the connection is a login attempt, directly send a Kick with the Exception to the client
|
||||
// we can't use disconnect() here as the method delays the Kick packet sending by 250ms and the HandlerBoss
|
||||
// will close the channel before the packet is sent
|
||||
// also we don't want to print the exception twice
|
||||
ch.close( canSendKickMessage() ? new Kick( TextComponent.fromLegacy( ChatColor.RED + Util.exception( t ) ) ) : null );
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -751,7 +751,7 @@ public class InitialHandler extends PacketHandler implements PendingConnection
|
|||
{
|
||||
if ( canSendKickMessage() )
|
||||
{
|
||||
ch.delayedClose( new Kick( reason ) );
|
||||
ch.delayedClose( new Kick( this.disconnectMessage = reason ) );
|
||||
} else
|
||||
{
|
||||
ch.close();
|
||||
|
|
|
@ -60,9 +60,22 @@ public class HandlerBoss extends ChannelInboundHandlerAdapter
|
|||
channel.markClosed();
|
||||
handler.disconnected( channel );
|
||||
|
||||
if ( !( handler instanceof InitialHandler || handler instanceof PingHandler ) )
|
||||
if ( !( handler instanceof PingHandler ) )
|
||||
{
|
||||
ProxyServer.getInstance().getLogger().log( Level.INFO, "{0} has disconnected", handler );
|
||||
if ( handler instanceof InitialHandler )
|
||||
{
|
||||
InitialHandler initialHandler = (InitialHandler) handler;
|
||||
if ( initialHandler.getDisconnectMessage() != null )
|
||||
{
|
||||
ProxyServer.getInstance().getLogger().log( Level.INFO, "{0} has disconnected: {1}", new Object[]
|
||||
{
|
||||
handler, initialHandler.getDisconnectMessage().toPlainText()
|
||||
} );
|
||||
}
|
||||
} else
|
||||
{
|
||||
ProxyServer.getInstance().getLogger().log( Level.INFO, "{0} has disconnected", handler );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user