mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 09:57:43 +01:00
Fix the timeout for alternative keepalive handling (#1207)
This commit is contained in:
@@ -5,14 +5,14 @@ Subject: [PATCH] Alternative Keepalive Handling
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index e6cb6a4776ecf5504f04b83f523be7ed4741b7d9..4fa1b94de393010e0d95b48b6f4343e864b87b31 100644
|
index abb1a20156b70781ccfd4ce15ffcfa0228b41a7d..fad849ac28cb67d696fbdc2525fb8c9e8fb9bbae 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -260,6 +260,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -260,6 +260,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
private long keepAliveTime = Util.getMillis();
|
private long keepAliveTime = Util.getMillis();
|
||||||
private boolean keepAlivePending;
|
private boolean keepAlivePending;
|
||||||
private long keepAliveChallenge;
|
private long keepAliveChallenge;
|
||||||
+ private java.util.List<Long> keepAlives = new java.util.ArrayList<>(); // Purpur
|
+ private it.unimi.dsi.fastutil.longs.LongList keepAlives = new it.unimi.dsi.fastutil.longs.LongArrayList(); // Purpur
|
||||||
// CraftBukkit start - multithreaded fields
|
// CraftBukkit start - multithreaded fields
|
||||||
private final AtomicInteger chatSpamTickCount = new AtomicInteger();
|
private final AtomicInteger chatSpamTickCount = new AtomicInteger();
|
||||||
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
|
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
|
||||||
@@ -23,7 +23,7 @@ index e6cb6a4776ecf5504f04b83f523be7ed4741b7d9..4fa1b94de393010e0d95b48b6f4343e8
|
|||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ if (org.purpurmc.purpur.PurpurConfig.useAlternateKeepAlive) {
|
+ if (org.purpurmc.purpur.PurpurConfig.useAlternateKeepAlive) {
|
||||||
+ if (elapsedTime >= 1000L) { // 1 second
|
+ if (elapsedTime >= 1000L) { // 1 second
|
||||||
+ if (!processedDisconnect && keepAlives.size() > KEEPALIVE_LIMIT) {
|
+ if (!processedDisconnect && keepAlives.size() * 1000L >= KEEPALIVE_LIMIT) {
|
||||||
+ LOGGER.warn("{} was kicked due to keepalive timeout!", player.getName());
|
+ LOGGER.warn("{} was kicked due to keepalive timeout!", player.getName());
|
||||||
+ disconnect(Component.translatable("disconnect.timeout"), org.bukkit.event.player.PlayerKickEvent.Cause.TIMEOUT);
|
+ disconnect(Component.translatable("disconnect.timeout"), org.bukkit.event.player.PlayerKickEvent.Cause.TIMEOUT);
|
||||||
+ } else {
|
+ } else {
|
||||||
|
|||||||
Reference in New Issue
Block a user