diff --git a/Server/src/main/java/core/game/system/SystemTermination.java b/Server/src/main/java/core/game/system/SystemTermination.java index e9cc772f6..d92b228ad 100644 --- a/Server/src/main/java/core/game/system/SystemTermination.java +++ b/Server/src/main/java/core/game/system/SystemTermination.java @@ -78,10 +78,13 @@ public final class SystemTermination { e.printStackTrace(); } } + while(!Repository.getDisconnectionQueue().isEmpty()){ + Repository.getDisconnectionQueue().update(); + try { + Thread.sleep(100); + } catch (Exception ignored) {} + } Repository.getDisconnectionQueue().update(); - try { - Thread.sleep(3_000); - } catch (Exception ignored){} GrandExchangeDatabase.save(); OfferManager.save(); SystemLogger.flushLogs(); diff --git a/Server/src/main/kotlin/rs09/game/world/repository/DisconnectionQueue.kt b/Server/src/main/kotlin/rs09/game/world/repository/DisconnectionQueue.kt index d29538d6d..c79add8b3 100644 --- a/Server/src/main/kotlin/rs09/game/world/repository/DisconnectionQueue.kt +++ b/Server/src/main/kotlin/rs09/game/world/repository/DisconnectionQueue.kt @@ -37,6 +37,11 @@ class DisconnectionQueue { } } + + fun isEmpty(): Boolean{ + return queue.isEmpty() + } + /** * Finishes a disconnection. * @param entry The entry.