diff --git a/src/TNetwork.cpp b/src/TNetwork.cpp index 9cd1251..dc4dfd6 100644 --- a/src/TNetwork.cpp +++ b/src/TNetwork.cpp @@ -9,6 +9,15 @@ TNetwork::TNetwork(TServer& Server, TPPSMonitor& PPSMonitor, TResourceManager& R : mServer(Server) , mPPSMonitor(PPSMonitor) , mResourceManager(ResourceManager) { + Application::RegisterShutdownHandler([&] { + debug("Kicking all players due to shutdown"); + Server.ForEachClient([&](std::weak_ptr client) -> bool { + if (!client.expired()) { + ClientKick(*client.lock(), "Server shutdown"); + } + return true; + }); + }); Application::RegisterShutdownHandler([&] { if (mUDPThread.joinable()) { debug("shutting down TCPServer");