diff --git a/Minecraft.Server/Console/ServerCliEngine.cpp b/Minecraft.Server/Console/ServerCliEngine.cpp index 9885a3762..b72ac11a5 100644 --- a/Minecraft.Server/Console/ServerCliEngine.cpp +++ b/Minecraft.Server/Console/ServerCliEngine.cpp @@ -16,6 +16,7 @@ #include "commands\CliCommandStop.h" #include "commands\CliCommandTp.h" #include "..\Common\StringUtils.h" +#include "..\ServerShutdown.h" #include "..\ServerLogger.h" #include "..\..\Minecraft.Client\MinecraftServer.h" #include "..\..\Minecraft.Client\PlayerList.h" @@ -188,7 +189,7 @@ namespace ServerRuntime void ServerCliEngine::RequestShutdown() const { - MinecraftServer::HaltServer(); + RequestDedicatedServerShutdown(); } std::vector ServerCliEngine::GetOnlinePlayerNamesUtf8() const diff --git a/Minecraft.Server/ServerShutdown.h b/Minecraft.Server/ServerShutdown.h new file mode 100644 index 000000000..302b1a55d --- /dev/null +++ b/Minecraft.Server/ServerShutdown.h @@ -0,0 +1,6 @@ +#pragma once + +namespace ServerRuntime +{ + void RequestDedicatedServerShutdown(); +} diff --git a/Minecraft.Server/Windows64/ServerMain.cpp b/Minecraft.Server/Windows64/ServerMain.cpp index 5d1cc6161..cc139aa6f 100644 --- a/Minecraft.Server/Windows64/ServerMain.cpp +++ b/Minecraft.Server/Windows64/ServerMain.cpp @@ -10,6 +10,7 @@ #include "..\ServerLogger.h" #include "..\ServerLogManager.h" #include "..\ServerProperties.h" +#include "..\ServerShutdown.h" #include "..\WorldManager.h" #include "..\Console\ServerCli.h" #include "Tesselator.h" @@ -68,6 +69,15 @@ static volatile bool g_shutdownRequested = false; static const DWORD kDefaultAutosaveIntervalMs = 60 * 1000; static const int kServerActionPad = 0; +namespace ServerRuntime +{ + void RequestDedicatedServerShutdown() + { + g_shutdownRequested = true; + app.m_bShutdown = true; + } +} + /** * Calls Access::Shutdown automatically once dedicated access control was initialized successfully * アクセス制御初期化後のShutdownを自動化する @@ -104,8 +114,7 @@ static BOOL WINAPI ConsoleCtrlHandlerProc(DWORD ctrlType) case CTRL_BREAK_EVENT: case CTRL_CLOSE_EVENT: case CTRL_SHUTDOWN_EVENT: - g_shutdownRequested = true; - app.m_bShutdown = true; + ServerRuntime::RequestDedicatedServerShutdown(); return TRUE; default: return FALSE;