From 2fb83fb54e5b9c84088869399618c55019d16381 Mon Sep 17 00:00:00 2001 From: md_5 Date: Wed, 22 Jul 2015 19:04:37 +1000 Subject: [PATCH] Clear Packet Queue on Disconnect diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java index 247973d..9d23c6c 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -313,6 +313,7 @@ public class NetworkManager extends SimpleChannelInboundHandler { } else if (this.getPacketListener() != null) { this.getPacketListener().a(new ChatComponentText("Disconnected")); } + this.i.clear(); // Free up packet queue. } else { NetworkManager.g.warn("handleDisconnection() called twice"); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java index 6f630b8..68358e9 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -895,7 +895,7 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList } // CraftBukkit start - if (packet == null) { + if (packet == null || this.processedDisconnect) { // Spigot return; } else if (packet instanceof PacketPlayOutSpawnPosition) { PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet; -- 2.1.4