mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-18 17:07:43 +01:00
Upstream has released updates that appears to apply and compile correctly Paper Changes: aa022fda Fix java cross-version compilation 8b7952a9 Implement alternative item-despawn-rate (#2128) 6ccf0bda Reimplement hopper optimization patch (#2388) e264c365 MC-156852 fix (#2396) b6c32b2a Fix recursion in EntityFox (#2418) 7c640a1a Updated Upstream (Bukkit/CraftBukkit/Spigot) (#2415)
82 lines
4.6 KiB
Diff
82 lines
4.6 KiB
Diff
From fcca21ceed90f2d76e6fa826431205db2351d56b Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Sun, 28 Jul 2019 01:27:37 -0500
|
|
Subject: [PATCH] Add 5 second tps average in /tps
|
|
|
|
---
|
|
.../java/net/minecraft/server/MinecraftServer.java | 13 +++++++++----
|
|
.../java/org/bukkit/craftbukkit/CraftServer.java | 1 +
|
|
.../java/org/spigotmc/TicksPerSecondCommand.java | 2 +-
|
|
3 files changed, 11 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
index 95b996443..443e0d627 100644
|
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
@@ -174,7 +174,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
|
public static final int TPS = 20;
|
|
public static final int TICK_TIME = 1000000000 / TPS;
|
|
private static final int SAMPLE_INTERVAL = 20; // Paper
|
|
- public final double[] recentTps = new double[ 3 ];
|
|
+ public final double[] recentTps = new double[ 4 ]; // Purpur
|
|
public boolean lagging = false; // Purpur
|
|
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
|
// Spigot end
|
|
@@ -818,6 +818,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
|
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
|
|
private long lastTick = 0;
|
|
private long catchupTime = 0;
|
|
+ public final RollingAverage tps5s = new RollingAverage(5); // Purpur
|
|
public final RollingAverage tps1 = new RollingAverage(60);
|
|
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
|
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
|
@@ -894,13 +895,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
|
{
|
|
final long diff = curTime - tickSection;
|
|
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
|
+ tps5s.add(currentTps, diff); // Purpur
|
|
tps1.add(currentTps, diff);
|
|
tps5.add(currentTps, diff);
|
|
tps15.add(currentTps, diff);
|
|
// Backwards compat with bad plugins
|
|
- recentTps[0] = tps1.getAverage();
|
|
- recentTps[1] = tps5.getAverage();
|
|
- recentTps[2] = tps15.getAverage();
|
|
+ // Purpur start
|
|
+ recentTps[0] = tps5s.getAverage();
|
|
+ recentTps[1] = tps1.getAverage();
|
|
+ recentTps[2] = tps5.getAverage();
|
|
+ recentTps[3] = tps15.getAverage();
|
|
+ // Purpur end
|
|
lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
|
|
// Paper end
|
|
tickSection = curTime;
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
index 9f11583f0..52298bc5b 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
@@ -2009,6 +2009,7 @@ public final class CraftServer implements Server {
|
|
@Override
|
|
public double[] getTPS() {
|
|
return new double[] {
|
|
+ net.minecraft.server.MinecraftServer.getServer().tps5s.getAverage(), // Purpur
|
|
net.minecraft.server.MinecraftServer.getServer().tps1.getAverage(),
|
|
net.minecraft.server.MinecraftServer.getServer().tps5.getAverage(),
|
|
net.minecraft.server.MinecraftServer.getServer().tps15.getAverage()
|
|
diff --git a/src/main/java/org/spigotmc/TicksPerSecondCommand.java b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
|
|
index 6d21c3269..2eed9d0a4 100644
|
|
--- a/src/main/java/org/spigotmc/TicksPerSecondCommand.java
|
|
+++ b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
|
|
@@ -30,7 +30,7 @@ public class TicksPerSecondCommand extends Command
|
|
for ( int i = 0; i < tps.length; i++) {
|
|
tpsAvg[i] = format( tps[i] );
|
|
}
|
|
- sender.sendMessage( ChatColor.GOLD + "TPS from last 1m, 5m, 15m: " + org.apache.commons.lang.StringUtils.join(tpsAvg, ", "));
|
|
+ sender.sendMessage( ChatColor.GOLD + "TPS from last 5s, 1m, 5m, 15m: " + org.apache.commons.lang.StringUtils.join(tpsAvg, ", ")); // Purpur
|
|
// Paper end
|
|
|
|
return true;
|
|
--
|
|
2.20.1
|
|
|