papermc/CraftBukkit-Patches/0146-Clear-Packet-Queue-on-Disconnect.patch

35 lines
1.5 KiB
Diff
Raw Normal View History

2016-03-01 00:23:45 +00:00
From 514d88656c3a313f8f51770cd3e8bfc172d35059 Mon Sep 17 00:00:00 2001
2015-07-22 09:04:46 +00:00
From: md_5 <git@md-5.net>
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
2016-02-29 21:33:06 +00:00
index 4c6dfb1..a9ea3f5 100644
2015-07-22 09:04:46 +00:00
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
2016-02-29 21:33:06 +00:00
@@ -316,6 +316,7 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
} else if (this.i() != null) {
this.i().a(new ChatComponentText("Disconnected"));
2015-07-22 09:04:46 +00:00
}
+ this.i.clear(); // Free up packet queue.
}
2016-02-29 21:33:06 +00:00
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
2016-03-01 00:23:45 +00:00
index b06597a..0f873ae 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
2016-02-29 21:33:06 +00:00
@@ -1036,7 +1036,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
}
// CraftBukkit start
- if (packet == null) {
+ if (packet == null || this.processedDisconnect) { // Spigot
return;
} else if (packet instanceof PacketPlayOutSpawnPosition) {
PacketPlayOutSpawnPosition packet6 = (PacketPlayOutSpawnPosition) packet;
2015-07-22 09:04:46 +00:00
--
2016-02-29 21:33:06 +00:00
2.5.0
2015-07-22 09:04:46 +00:00