public static void EventServerRestart(EventTimer sender, int ShutdownTime, ref int Timeleft) { if (Timeleft != 0) { if (Timeleft <= 5) { Broadcast.NoticeAll("☢", Config.GetMessage("Server.WillRestart", null, null).Replace("%SECONDS%", Timeleft.ToString()), null, 1f); } else if (Timeleft == 10) { Broadcast.NoticeAll("☢", Config.GetMessage("Server.WillRestart", null, null).Replace("%SECONDS%", Timeleft.ToString()), null, 5f); } else if (Timeleft == 30) { Broadcast.NoticeAll("☢", Config.GetMessage("Server.WillRestart", null, null).Replace("%SECONDS%", Timeleft.ToString()), null, 10f); } else if (Timeleft == 60) { Broadcast.NoticeAll("☢", Config.GetMessage("Server.WillRestart", null, null).Replace("%SECONDS%", Timeleft.ToString()), null, 10f); } else if (Timeleft == ShutdownTime) { Broadcast.NoticeAll("☢", Config.GetMessage("Server.Restart", null, null).Replace("%SECONDS%", Timeleft.ToString()), null, 10f); } } if (Timeleft > 0) { Timeleft--; } else { try { if (sender != null) { sender.Stop(); } AvatarSaveProc.SaveAll(); ServerSaveManager.AutoSave(); string text = Environment.GetCommandLineArgs()[0]; string arguments = string.Join(" ", Environment.GetCommandLineArgs()).Replace(text, "").Trim(); Process.Start(text, arguments); Process.GetCurrentProcess().Kill(); } catch (Exception ex) { Helper.LogError(ex.ToString(), true); } } }
public static void EventServerShutdown(EventTimer sender, int ShutdownTime, ref int Timeleft) { if (Timeleft != 0) { if (Timeleft <= 5) { Broadcast.NoticeAll("☢", Config.GetMessage("Server.WillShutdown", null, null).Replace("%SECONDS%", Timeleft.ToString()), null, 1f); } else if (Timeleft == 10) { Broadcast.NoticeAll("☢", Config.GetMessage("Server.WillShutdown", null, null).Replace("%SECONDS%", Timeleft.ToString()), null, 5f); } else if (Timeleft == 30) { Broadcast.NoticeAll("☢", Config.GetMessage("Server.WillShutdown", null, null).Replace("%SECONDS%", Timeleft.ToString()), null, 10f); } else if (Timeleft == 60) { Broadcast.NoticeAll("☢", Config.GetMessage("Server.WillShutdown", null, null).Replace("%SECONDS%", Timeleft.ToString()), null, 10f); } else if (Timeleft == ShutdownTime) { Broadcast.NoticeAll("☢", Config.GetMessage("Server.Shutdown", null, null).Replace("%SECONDS%", Timeleft.ToString()), null, 10f); } } if (Timeleft > 0) { Timeleft--; } else { try { if (sender != null) { sender.Stop(); } AvatarSaveProc.SaveAll(); ServerSaveManager.AutoSave(); Process.GetCurrentProcess().Kill(); } catch (Exception ex) { Helper.LogError(ex.ToString(), true); } } }