diff --git a/Server/src/main/java/core/game/system/SystemTermination.java b/Server/src/main/java/core/game/system/SystemTermination.java index f1bb0f185..7f6ec1ebf 100644 --- a/Server/src/main/java/core/game/system/SystemTermination.java +++ b/Server/src/main/java/core/game/system/SystemTermination.java @@ -35,6 +35,7 @@ public final class SystemTermination { public void terminate() { SystemLogger.logInfo("[SystemTerminator] Initializing termination sequence - do not shutdown!"); try { + Server.setRunning(false); for(Player player : Repository.getPlayers()){ DMCHandler dmc = player.getAttribute("dmc",null); if(dmc != null){ diff --git a/Server/src/main/kotlin/rs09/Server.kt b/Server/src/main/kotlin/rs09/Server.kt index c8366e31a..20691b8d6 100644 --- a/Server/src/main/kotlin/rs09/Server.kt +++ b/Server/src/main/kotlin/rs09/Server.kt @@ -35,6 +35,7 @@ object Server { var lastHeartbeat = System.currentTimeMillis() + @JvmStatic var running = false /** @@ -102,9 +103,8 @@ object Server { GlobalScope.launch { delay(20000) while(running){ - if(System.currentTimeMillis() - lastHeartbeat > 1800){ + if(System.currentTimeMillis() - lastHeartbeat > 1800 && running){ SystemLogger.logErr("Triggering reboot due to heartbeat timeout") - running = false exitProcess(0) } delay(625)