public void Stop(ServerStopReason reason = ServerStopReason.STOP_EXIT) { if (serverProcess != null) { Logger.Log(LogLevel.Info, "Stopping Server..."); status = ServerStatus.Stopping; stopReason = reason; if (Core.Config.EnableRuntime) { Logger.Log(LogLevel.Verbose, "Asking server to stop"); Core.Scheduler.PushTask(() => { Core.Rcon.SendCommand("shutdown"); }); Core.Scheduler.PushDelayedTask(() => KillServer(), 1000); } else { KillServer(); } } }
public StopEventArgs(ServerStopReason reason) { Reason = reason; }