From 93fea6874935f6eb8172b5f7c664d822a109adf5 Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Wed, 22 Jul 2015 19:04:37 +1000 Subject: [PATCH] Clear Packet Queue on Disconnect By: md_5 --- .../sources/net/minecraft/network/Connection.java.patch | 8 ++++++++ .../network/ServerCommonPacketListenerImpl.java.patch | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/paper-server/patches/sources/net/minecraft/network/Connection.java.patch b/paper-server/patches/sources/net/minecraft/network/Connection.java.patch index 75c2e579f8..e23c15ef55 100644 --- a/paper-server/patches/sources/net/minecraft/network/Connection.java.patch +++ b/paper-server/patches/sources/net/minecraft/network/Connection.java.patch @@ -73,3 +73,11 @@ public void write(ChannelHandlerContext channelhandlercontext, Object object, ChannelPromise channelpromise) throws Exception { super.write(channelhandlercontext, object, channelpromise); } +@@ -661,6 +674,7 @@ + + packetlistener1.onDisconnect(disconnectiondetails); + } ++ this.pendingActions.clear(); // Free up packet queue. + + } + } diff --git a/paper-server/patches/sources/net/minecraft/server/network/ServerCommonPacketListenerImpl.java.patch b/paper-server/patches/sources/net/minecraft/server/network/ServerCommonPacketListenerImpl.java.patch index c4fe50b9c6..1d340b8b3e 100644 --- a/paper-server/patches/sources/net/minecraft/server/network/ServerCommonPacketListenerImpl.java.patch +++ b/paper-server/patches/sources/net/minecraft/server/network/ServerCommonPacketListenerImpl.java.patch @@ -197,7 +197,7 @@ public void send(Packet packet, @Nullable PacketSendListener callbacks) { + // CraftBukkit start -+ if (packet == null) { ++ if (packet == null || this.processedDisconnect) { // Spigot + return; + } else if (packet instanceof ClientboundSetDefaultSpawnPositionPacket) { + ClientboundSetDefaultSpawnPositionPacket packet6 = (ClientboundSetDefaultSpawnPositionPacket) packet;