From cc91c03268f5753eb1f251dffedb615b4c019240 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Wed, 22 May 2019 22:30:08 -0500 Subject: [PATCH] Tick loop config options --- .../net/minecraft/server/MinecraftServer.java | 31 +++++++++++++------ .../java/net/pl3x/purpur/PurpurConfig.java | 7 +++++ 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java index 5ec9a980c..0324a90ca 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -868,16 +868,21 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 5000L && this.nextTick - this.lastOverloadTime >= 30000L) { // CraftBukkit - long j = i / 50L; - - if (server.getWarnOnOverload()) // CraftBukkit - MinecraftServer.LOGGER.warn("Can't keep up! Is the server overloaded? Running {}ms or {} ticks behind", i, j); - this.nextTick += j * 50L; - this.lastOverloadTime = this.nextTick; + // Purpur start - tick overload + curTime = System.nanoTime(); + if (net.pl3x.purpur.PurpurConfig.enableTickOverload) { + long i = ((curTime) / (1000L * 1000L)) - this.nextTick; // Paper + + if (i > 5000L && this.nextTick - this.lastOverloadTime >= 30000L) { // CraftBukkit + long j = i / 50L; + + if (server.getWarnOnOverload()) // CraftBukkit + MinecraftServer.LOGGER.warn("Can't keep up! Is the server overloaded? Running {}ms or {} ticks behind", i, j); + this.nextTick += j * 50L; + this.lastOverloadTime = this.nextTick; + } } + // Purpur end - tick overload if ( ++MinecraftServer.currentTick % SAMPLE_INTERVAL == 0 ) { @@ -908,7 +913,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant