From 4bbc098121fe0157622312f0ae244fb124d1db4b 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 fc57f154f..0a4d37cd4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -865,16 +865,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 ) { @@ -905,7 +910,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant