diff --git a/patches/api/0006-Specific-interval-TPS-API.patch b/patches/api/0006-Specific-interval-TPS-API.patch new file mode 100644 index 0000000..5aa9e21 --- /dev/null +++ b/patches/api/0006-Specific-interval-TPS-API.patch @@ -0,0 +1,43 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MartijnMuijsers +Date: Wed, 30 Nov 2022 12:57:37 +0100 +Subject: [PATCH] Specific interval TPS API + +License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) + +diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java +index fc0f70f7af8e12347ea67d9985d06c8323b2a3c0..f502bf2d511df86bc3c0b6a28682484e07a14120 100644 +--- a/src/main/java/org/bukkit/Server.java ++++ b/src/main/java/org/bukkit/Server.java +@@ -1749,6 +1749,31 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi + @NotNull + public double[] getTPS(); + ++ // Gale start - specific interval TPS API ++ ++ /** ++ * Gets the average server TPS over the last 1 minute ++ * ++ * @return the average server TPS over the last 1 minute ++ */ ++ double get1MinuteTPSAverage(); ++ ++ /** ++ * Gets the average server TPS over the last 5 minutes ++ * ++ * @return the average server TPS over the last 5 minutes ++ */ ++ double get5MinuteTPSAverage(); ++ ++ /** ++ * Gets the average server TPS over the last 15 minutes ++ * ++ * @return the average server TPS over the last 15 minutes ++ */ ++ double get15MinuteTPSAverage(); ++ ++ // Gale end - specific interval TPS API ++ + /** + * Get a sample of the servers last tick times (in nanos) + * diff --git a/patches/api/0007-5-second-TPS-average.patch b/patches/api/0007-5-second-TPS-average.patch new file mode 100644 index 0000000..817b65d --- /dev/null +++ b/patches/api/0007-5-second-TPS-average.patch @@ -0,0 +1,33 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MartijnMuijsers +Date: Wed, 30 Nov 2022 13:00:40 +0100 +Subject: [PATCH] 5 second TPS average + +License: MIT (https://opensource.org/licenses/MIT) + +This patch is based on the following patch: +"Add 5 second tps average in /tps" +By: William Blake Galbreath +As part of: Purpur (https://github.com/PurpurMC/Purpur) +Licensed under: MIT (https://opensource.org/licenses/MIT) + +diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java +index f502bf2d511df86bc3c0b6a28682484e07a14120..ed787f736e36c08e10dfdca204011381123f1949 100644 +--- a/src/main/java/org/bukkit/Server.java ++++ b/src/main/java/org/bukkit/Server.java +@@ -1751,6 +1751,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi + + // Gale start - specific interval TPS API + ++ // Gale start - Purpur - 5 second TPS average ++ /** ++ * Gets the average server TPS over the last 5 seconds ++ * ++ * @return the average server TPS over the last 5 seconds ++ */ ++ double get5SecondTPSAverage(); ++ // Gale end - Purpur - 5 second TPS average ++ + /** + * Gets the average server TPS over the last 1 minute + * diff --git a/patches/api/0006-Last-tick-time-API.patch b/patches/api/0008-Last-tick-time-API.patch similarity index 90% rename from patches/api/0006-Last-tick-time-API.patch rename to patches/api/0008-Last-tick-time-API.patch index ccc1b58..6cb7ed2 100644 --- a/patches/api/0006-Last-tick-time-API.patch +++ b/patches/api/0008-Last-tick-time-API.patch @@ -12,10 +12,10 @@ As part of: YAPFA (https://github.com/tr7zw/YAPFA) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index fc0f70f7af8e12347ea67d9985d06c8323b2a3c0..847d0e2097e47dc69c0bb54b892389542e318760 100644 +index ed787f736e36c08e10dfdca204011381123f1949..f3eaf734ee6414d8809f8da30de417da6677982c 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2146,4 +2146,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2180,4 +2180,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull org.bukkit.potion.PotionBrewer getPotionBrewer(); // Paper end diff --git a/patches/server/0070-Specific-interval-TPS-API.patch b/patches/server/0070-Specific-interval-TPS-API.patch new file mode 100644 index 0000000..1bac252 --- /dev/null +++ b/patches/server/0070-Specific-interval-TPS-API.patch @@ -0,0 +1,37 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MartijnMuijsers +Date: Wed, 30 Nov 2022 12:56:43 +0100 +Subject: [PATCH] Specific interval TPS API + +License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) + +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +index 874f17fd7e3ff945eeccdf5e0b1991366240ea6b..1aa9a73aed2851cc640945101623f6f448079234 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +@@ -2704,6 +2704,25 @@ public final class CraftServer implements Server { + }; + } + ++ // Gale start - specific interval TPS API ++ ++ @Override ++ public double get1MinuteTPSAverage() { ++ return net.minecraft.server.MinecraftServer.getServer().tps1.getAverage(); ++ } ++ ++ @Override ++ public double get5MinuteTPSAverage() { ++ return net.minecraft.server.MinecraftServer.getServer().tps5.getAverage(); ++ } ++ ++ @Override ++ public double get15MinuteTPSAverage() { ++ return net.minecraft.server.MinecraftServer.getServer().tps15.getAverage(); ++ } ++ ++ // Gale end - specific interval TPS API ++ + @Override + public long[] getTickTimes() { + return getServer().tickTimes5s.getTimes(); diff --git a/patches/server/0071-5-second-TPS-average.patch b/patches/server/0071-5-second-TPS-average.patch new file mode 100644 index 0000000..105d4a2 --- /dev/null +++ b/patches/server/0071-5-second-TPS-average.patch @@ -0,0 +1,86 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: MartijnMuijsers +Date: Wed, 30 Nov 2022 12:42:32 +0100 +Subject: [PATCH] 5 second TPS average + +License: MIT (https://opensource.org/licenses/MIT) + +This patch is based on the following patch: +"Add 5 second tps average in /tps" +By: William Blake Galbreath +As part of: Purpur (https://github.com/PurpurMC/Purpur) +Licensed under: MIT (https://opensource.org/licenses/MIT) + +diff --git a/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java b/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java +index fa56cd09102a89692b42f1d14257990508c5c720..fac07dda413002c12276131efbe4ee3832c2265a 100644 +--- a/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java ++++ b/src/main/java/com/destroystokyo/paper/gui/RAMDetails.java +@@ -58,7 +58,7 @@ public class RAMDetails extends JList { + GraphData data = RAMGraph.DATA.peekLast(); + Vector vector = new Vector<>(); + +- double[] tps = new double[] {server.tps1.getAverage(), server.tps5.getAverage(), server.tps15.getAverage()}; ++ double[] tps = new double[] {server.tps5s.getAverage(), server.tps1.getAverage(), server.tps5.getAverage(), server.tps15.getAverage()}; // Gale - Purpur - 5 second TPS average + String[] tpsAvg = new String[tps.length]; + + for ( int g = 0; g < tps.length; g++) { +@@ -67,7 +67,7 @@ public class RAMDetails extends JList { + vector.add("Memory use: " + (data.getUsedMem() / 1024L / 1024L) + " mb (" + (data.getFree() * 100L / data.getMax()) + "% free)"); + vector.add("Heap: " + (data.getTotal() / 1024L / 1024L) + " / " + (data.getMax() / 1024L / 1024L) + " mb"); + vector.add("Avg tick: " + DECIMAL_FORMAT.format(getAverage(server.tickTimes)) + " ms"); +- vector.add("TPS from last 1m, 5m, 15m: " + String.join(", ", tpsAvg)); ++ vector.add("TPS from last 5s, 1m, 5m, 15m: " + String.join(", ", tpsAvg)); // Gale - Purpur - 5 second TPS average + + setListData(vector); + } +diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java +index 4311a2e22704606f7f2f0928df6dcbe65e3fa8d6..dccee7cb7075cba6877021ec0da1ba5603a00082 100644 +--- a/src/main/java/net/minecraft/server/MinecraftServer.java ++++ b/src/main/java/net/minecraft/server/MinecraftServer.java +@@ -1045,6 +1045,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && args[0].equals("mem") && sender.hasPermission("bukkit.command.tpsmemory")) { + sender.sendMessage(ChatColor.GOLD + "Current Memory Usage: " + ChatColor.GREEN + ((Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / (1024 * 1024)) + "/" + (Runtime.getRuntime().totalMemory() / (1024 * 1024)) + " mb (Max: " + (Runtime.getRuntime().maxMemory() / (1024 * 1024)) + " mb)"); + if (!hasShownMemoryWarning) { diff --git a/patches/server/0070-Measure-last-tick-time.patch b/patches/server/0072-Measure-last-tick-time.patch similarity index 89% rename from patches/server/0070-Measure-last-tick-time.patch rename to patches/server/0072-Measure-last-tick-time.patch index 09587f6..c916e61 100644 --- a/patches/server/0070-Measure-last-tick-time.patch +++ b/patches/server/0072-Measure-last-tick-time.patch @@ -12,10 +12,10 @@ As part of: YAPFA (https://github.com/tr7zw/YAPFA) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4311a2e22704606f7f2f0928df6dcbe65e3fa8d6..9720e5360beabe7e15b0b964cb3b81d5af2b4bf8 100644 +index dccee7cb7075cba6877021ec0da1ba5603a00082..ec5e28a633abe6932fd8c1da47625309bee2ca03 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1094,6 +1094,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { packetProcessing.push(listener); // Paper - detailed watchdog information diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9720e5360beabe7e15b0b964cb3b81d5af2b4bf8..a30024ab934b81cd76e282fab4bbf6052bdaaaaf 100644 +index ec5e28a633abe6932fd8c1da47625309bee2ca03..9045ae692d77f986542940334dd15edef6b2a9f4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -40,7 +40,6 @@ import java.util.Optional; @@ -131,7 +131,7 @@ index 9720e5360beabe7e15b0b964cb3b81d5af2b4bf8..a30024ab934b81cd76e282fab4bbf605 try { Thread.sleep(1); } catch (InterruptedException e) {} -@@ -1263,7 +1264,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop optional = Optional.of(this.getFile("server-icon.png")).filter(File::isFile); -@@ -1405,6 +1356,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 5000000000L) { this.lastServerStatus = i; -@@ -1453,7 +1405,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop(), diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a30024ab934b81cd76e282fab4bbf6052bdaaaaf..2534aa4fa9a023ed23b2d710fcffecd5f2fca6b9 100644 +index 9045ae692d77f986542940334dd15edef6b2a9f4..b124ef503363e64774817f214d97660e331e5291 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -148,6 +148,7 @@ import net.minecraft.world.level.storage.loot.PredicateManager; diff --git a/patches/server/0079-Remove-Paper-cleaner-executor.patch b/patches/server/0081-Remove-Paper-cleaner-executor.patch similarity index 100% rename from patches/server/0079-Remove-Paper-cleaner-executor.patch rename to patches/server/0081-Remove-Paper-cleaner-executor.patch diff --git a/patches/server/0080-Remove-background-executor.patch b/patches/server/0082-Remove-background-executor.patch similarity index 98% rename from patches/server/0080-Remove-background-executor.patch rename to patches/server/0082-Remove-background-executor.patch index e534173..8d91955 100644 --- a/patches/server/0080-Remove-background-executor.patch +++ b/patches/server/0082-Remove-background-executor.patch @@ -35,7 +35,7 @@ index 6b7943e8348b0a41ca69fb56ccfd5f1c1484eb07..e14245a77b40fca4bacf82295ad39033 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2534aa4fa9a023ed23b2d710fcffecd5f2fca6b9..2537f2b35e2342c97892ac347d697d72f2d2d3d0 100644 +index b124ef503363e64774817f214d97660e331e5291..537ce3fc1cae549e3cf92e8822d00cc572c50ac6 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -981,11 +981,6 @@ public abstract class MinecraftServer extends MinecraftServerBlockableEventLoop diff --git a/patches/server/0081-Remove-bootstrap-executor.patch b/patches/server/0083-Remove-bootstrap-executor.patch similarity index 100% rename from patches/server/0081-Remove-bootstrap-executor.patch rename to patches/server/0083-Remove-bootstrap-executor.patch diff --git a/patches/server/0082-Remove-world-upgrade-executors.patch b/patches/server/0084-Remove-world-upgrade-executors.patch similarity index 100% rename from patches/server/0082-Remove-world-upgrade-executors.patch rename to patches/server/0084-Remove-world-upgrade-executors.patch diff --git a/patches/server/0083-Remove-tab-complete-executor.patch b/patches/server/0085-Remove-tab-complete-executor.patch similarity index 100% rename from patches/server/0083-Remove-tab-complete-executor.patch rename to patches/server/0085-Remove-tab-complete-executor.patch diff --git a/patches/server/0084-Remove-text-filter-executor.patch b/patches/server/0086-Remove-text-filter-executor.patch similarity index 100% rename from patches/server/0084-Remove-text-filter-executor.patch rename to patches/server/0086-Remove-text-filter-executor.patch