Paper/Spigot-Server-Patches/0248-Prevent-logins-from-being-processed-when-the-player-.patch
Minecrell e15167251b Add extended PaperServerListPingEvent (#980)
* Drop original implementation for old player sample API

* Add extended PaperServerListPingEvent

Add a new event that extends the original ServerListPingEvent
and allows full control of the response sent to the client.

* Implement deprecated player sample API
2018-03-22 23:19:59 -04:00

28 lines
1.1 KiB
Diff

From 05147fb3c8fbcf1a5044784c7d9ac9321ab8a143 Mon Sep 17 00:00:00 2001
From: killme <killme-git@ibts.me>
Date: Sun, 12 Nov 2017 19:40:01 +0100
Subject: [PATCH] Prevent logins from being processed when the player has
disconnected
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
index 75df92836..eaac25dc3 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -60,7 +60,11 @@ public class LoginListener implements PacketLoginInListener, ITickable {
}
// Paper end
if (this.g == LoginListener.EnumProtocolState.READY_TO_ACCEPT) {
- this.b();
+ // Paper start - prevent logins to be processed even though disconnect was called
+ if (networkManager.isConnected()) {
+ this.b();
+ }
+ // Paper end
} else if (this.g == LoginListener.EnumProtocolState.DELAY_ACCEPT) {
EntityPlayer entityplayer = this.server.getPlayerList().a(this.i.getId());
--
2.16.2