Files
Purpur/patches/server/0049-Implement-lagging-threshold.patch
William Blake Galbreath 6db6aae624 Updated Upstream (Paper & Tuinity)
Upstream has released updates that appears to apply and compile correctly

Paper Changes:
f65f95ce3 Do not let the server load chunks from newer versions
1799ef140 Apply 1.16's light optimizations to 1.15.2 too
5a28de666 Further optimize chunk light prioritization
4e364423e Fix deadlock issue with watchdog stopping
82e048ebc Remove ability to disable async chunks unless single core cpu
b317f0dc4 [1.15] Fix off by one error for scheduling block ticks (#4013)
51741a180 [1.15] Tighten logic for handling target tick times in tick scheduler (#4011)
5657364b4 Fix Light Prioritization Issues
013374629 Fix AdvancementDataPlayer leak due from quitting early in login
74231d422 [1.15] Move range check for block placing up (#3918)
48ea17fa1 Optimize the advancement data player iteration to be O(N) rather than O(N^2)
be4d74d93 Fix Explosion location - Fixes #3574
31e5f6688 [1.15] Optimize NetworkManager exception handling (#3820)
2248fffcd Clean up duplicated GameProfile Properties
49491f32d Fix Player Profile textures being duplicated - Fixes #3667
3fc989992 [1.15] Fix MobGoals#getAllGoals not actually returning all goals (#3671)
1d1c0561f Manually inline PooledBlockPosition#d(int, int, int)
5fc45f4db Revert recent changes around player skulls using user cache

Tuinity Changes:
5794d12 Fix up lock handling for UserCache
2020-08-16 10:19:54 -05:00

67 lines
3.1 KiB
Diff

From a8b34f1f2b47f1300a7e1296671b11c9e8c8766f Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 23 Jul 2019 10:07:16 -0500
Subject: [PATCH] Implement lagging threshold
---
src/main/java/net/minecraft/server/MinecraftServer.java | 2 ++
src/main/java/net/pl3x/purpur/PurpurConfig.java | 5 +++++
src/main/java/org/bukkit/craftbukkit/CraftServer.java | 7 +++++++
3 files changed, 14 insertions(+)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index dfd4a7ec06..a5387c20ae 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -184,6 +184,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
public static final int TICK_TIME = 1000000000 / TPS;
private static final int SAMPLE_INTERVAL = 20; // Paper
public final double[] recentTps = new double[ 3 ];
+ public boolean lagging = false; // Purpur
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -953,6 +954,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
recentTps[1] = tps5.getAverage();
recentTps[2] = tps15.getAverage();
// Paper end
+ lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime;
}
// Tuinity - replace logic
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index d3e1c8c407..ab20fa2fae 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -139,6 +139,11 @@ public class PurpurConfig {
loggerSuppressIgnoredAdvancementWarnings = getBoolean("settings.logger.suppress-ignored-advancement-warnings", loggerSuppressIgnoredAdvancementWarnings);
}
+ public static double laggingThreshold = 19.0D;
+ private static void tickLoopSettings() {
+ laggingThreshold = getDouble("settings.lagging-threshold", laggingThreshold);
+ }
+
public static boolean dontSendUselessEntityPackets = false;
private static void dontSendUselessEntityPackets() {
dontSendUselessEntityPackets = getBoolean("settings.dont-send-useless-entity-packets", dontSendUselessEntityPackets);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index e3a0128000..97159dfe10 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2299,4 +2299,11 @@ public final class CraftServer implements Server {
return mobGoals;
}
// Paper end
+
+ // Purpur start
+ @Override
+ public boolean isLagging() {
+ return getServer().lagging;
+ }
+ // Purpur end
}
--
2.26.2