mirror of
https://github.com/PaperMC/Paper.git
synced 2025-02-26 06:14:45 +01:00
Re-add dropped keep alive disconnect
Should fix the terminal spam
This commit is contained in:
parent
1ea2c3b4be
commit
b3cf37c102
14 changed files with 24 additions and 23 deletions
Spigot-Server-Patches
Add-option-to-prevent-players-from-moving-into-unloa.patchAsyncTabCompleteEvent.patchBook-Size-Limits.patchBreak-up-and-make-tab-spam-limits-configurable.patchDon-t-allow-digging-into-unloaded-chunks.patchFix-CB-call-to-changed-postToMainThread-method.patchFix-PlayerEditBookEvent.patchFix-exploit-that-allowed-colored-signs-to-be-created.patchFix-sign-edit-memory-leak.patchInventoryCloseEvent-Reason-API.patchLimit-Client-Sign-length-more.patchRefresh-player-inventory-when-cancelling-PlayerInter.patchUpdate-entity-Metadata-for-all-tracked-players.patchrevert-serverside-behavior-of-keepalives.patch
|
@ -20,7 +20,7 @@ index fb44fccc9..ad793ffa3 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index d163836d0..3eae38a8a 100644
|
||||
index 07e9abda9..4ba13da1a 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -14,7 +14,7 @@ completion, such as offline players.
|
|||
Also adds isCommand and getLocation to the sync TabCompleteEvent
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 766918e8c..c6a44c5f2 100644
|
||||
index 43d760bed..49dd552e1 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -22,7 +22,7 @@ index a79cba50e..e5e41c662 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index bd7c13e7f..f46a4868b 100644
|
||||
index a887be15c..baab1a88a 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ import java.util.Iterator;
|
||||
|
|
|
@ -45,7 +45,7 @@ index 8c3880c83..d773ef5b0 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 6d61a1e79..d163836d0 100644
|
||||
index 4c99a321b..07e9abda9 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Don't allow digging into unloaded chunks
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 3eae38a8a..bd7c13e7f 100644
|
||||
index 4ba13da1a..a887be15c 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Fix CB call to changed postToMainThread method
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index ef57cd68f..2b48ebbc3 100644
|
||||
index 5b4576388..e517e9f9f 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -10,7 +10,7 @@ it impossible to properly cancel the event or modify the book meta
|
|||
cancelled writing
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index f46a4868b..448645e52 100644
|
||||
index baab1a88a..f007290ff 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Fix exploit that allowed colored signs to be created
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index c6a44c5f2..83fc7b285 100644
|
||||
index 49dd552e1..8be09b1d0 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Fix sign edit memory leak
|
|||
when a player edits a sign, a reference to their Entity is never cleand up.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 448645e52..1ff7825be 100644
|
||||
index f007290ff..7c9cd1aa4 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -88,7 +88,7 @@ index 29ebee2d9..d46ddba34 100644
|
|||
this.m();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 83fc7b285..f436e0259 100644
|
||||
index 8be09b1d0..0385eced6 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -22,7 +22,7 @@ it only impacts data sent from the client.
|
|||
Set -DPaper.maxSignLength=XX to change limit or -1 to disable
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 1ff7825be..8f9a02629 100644
|
||||
index 7c9cd1aa4..09030abc7 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -16,7 +16,7 @@ Refresh the player inventory when PlayerInteractEntityEvent is
|
|||
cancelled to avoid this problem.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index f436e0259..6d61a1e79 100644
|
||||
index 0385eced6..4c99a321b 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -22,7 +22,7 @@ index afd8748da..17b6ab57c 100644
|
|||
this.f.accept(packet);
|
||||
if (this.tracker instanceof EntityPlayer) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 8f9a02629..ef57cd68f 100644
|
||||
index 09030abc7..5b4576388 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
|
|
@ -17,7 +17,7 @@ from networking or during connections flood of chunk packets on slower clients,
|
|||
at the cost of dead connections being kept open for longer.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index de34c4e3ee..bb276daa72 100644
|
||||
index 61793dd1d..43d760bed 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
@ -42,6 +42,9 @@ index de34c4e3ee..bb276daa72 100644
|
|||
|
||||
this.minecraftServer.getMethodProfiler().enter("keepAlive");
|
||||
- long i = SystemUtils.getMonotonicMillis();
|
||||
-
|
||||
- if (i - this.lastKeepAlive >= 25000L) { // CraftBukkit
|
||||
- if (this.awaitingKeepAlive) {
|
||||
+ // Paper Start - give clients a longer time to respond to pings as per pre 1.12.2 timings
|
||||
+ // This should effectively place the keepalive handling back to "as it was" before 1.12.2
|
||||
+ long currentTime = SystemUtils.getMonotonicMillis();
|
||||
|
@ -50,6 +53,12 @@ index de34c4e3ee..bb276daa72 100644
|
|||
+ if (this.isPendingPing()) {
|
||||
+ if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||
+ PlayerConnection.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getName()); // more info
|
||||
this.disconnect(new ChatMessage("disconnect.timeout", new Object[0]));
|
||||
- } else {
|
||||
- this.awaitingKeepAlive = true;
|
||||
- this.lastKeepAlive = i;
|
||||
- this.h = i;
|
||||
- this.sendPacket(new PacketPlayOutKeepAlive(this.h));
|
||||
+ }
|
||||
+ } else {
|
||||
+ if (elapsedTime >= 15000L) { // 15 seconds
|
||||
|
@ -57,15 +66,7 @@ index de34c4e3ee..bb276daa72 100644
|
|||
+ this.setLastPing(currentTime);
|
||||
+ this.setKeepAliveID(currentTime);
|
||||
+ this.sendPacket(new PacketPlayOutKeepAlive(this.getKeepAliveID()));
|
||||
|
||||
- if (i - this.lastKeepAlive >= 25000L) { // CraftBukkit
|
||||
- if (this.awaitingKeepAlive) {
|
||||
- this.disconnect(new ChatMessage("disconnect.timeout", new Object[0]));
|
||||
- } else {
|
||||
- this.awaitingKeepAlive = true;
|
||||
- this.lastKeepAlive = i;
|
||||
- this.h = i;
|
||||
- this.sendPacket(new PacketPlayOutKeepAlive(this.h));
|
||||
+
|
||||
}
|
||||
}
|
||||
+ // Paper end
|
||||
|
|
Loading…
Add table
Reference in a new issue