diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/network/MatteryNetworkChannel.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/network/MatteryNetworkChannel.kt index 19f265072..1761c3b4c 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/network/MatteryNetworkChannel.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/network/MatteryNetworkChannel.kt @@ -166,14 +166,16 @@ abstract class MatteryNetworkChannel(val version: String, val name: String) { internal fun onServerStarting() { interrupt = false check(thread == null) { "Already having network dispatcher thread, ServerStartingEvent was fired twice!" } - thread = Thread(this::run, "Overdrive That Matters Network Dispatcher").also { it.start() } + thread = Thread(this::run, "Overdrive That Matters Network Dispatcher").also { it.isDaemon = true; it.start() } } internal fun onServerStopping() { + LockSupport.unpark(thread) interrupt = true } internal fun onServerStopped() { + LockSupport.unpark(thread) interrupt = true } }