using ControlCenter.NamedPipeHost.Manager; using ControlCenter.NamedPipeHost.NamedPipe; using ServerControlCenter; using ServerCore; using ServerBase; namespace UGQApiServer.NamedPipePacketHandler; public class StopServerMessageReceiver : NamedPipeReceiver { private readonly ServerInfoManager m_info_manager; public StopServerMessageReceiver(ServerInfoManager infoManager) { m_info_manager = infoManager; } public override async Task Handle(A2S_REQ_STOP_SERVER message, string message_id) { Log.getLogger().debug($"{nameof(StopServerMessageReceiver)}: Receive - message_id[{message_id}] / message[{message}]"); m_info_manager.setServerStatus(ServerStatus.Stop); // 정보 전달 대기 await Task.Delay(1_000); // process 종료 Environment.Exit(0); } }