to let your players know that you have a server maintenance or something to to fix your server.
put in your program.cs
Code:
if (Cmd[0] == "/sm")
{
Game.World.SendMsgToAll("SYSTEM", "Server Maintanience in 5 minutes! Please log off to avoid data lost!", 2011, 0);
new Thread(new ThreadStart(
delegate()
{
Console.WriteLine("Server Maintenance Command Activated (via Console).");
Thread.Sleep(30000);
Game.World.SendMsgToAll("SYSTEM", "Server Maintenance in 4 minutes and 30 Seconds! Please Log off to prevent data loss!", 2011, 0);
Console.WriteLine("4 Minutes 30 seconds Left");
Thread.Sleep(30000);
Game.World.SendMsgToAll("SYSTEM", "Server Maintenance in 4 minutes! Please Log off to prevent data loss!", 2011, 0);
Console.WriteLine("4 Minutes Left");
Thread.Sleep(30000);
Game.World.SendMsgToAll("SYSTEM", "Server Maintenance in 3 minutes and 30 Seconds! Please Log off to prevent data loss!", 2011, 0);
Console.WriteLine("3 Minutes 30 seconds Left");
Thread.Sleep(30000);
Game.World.SendMsgToAll("SYSTEM", "Server Maintenance in 3 minutes! Please Log off to prevent data loss!", 2011, 0);
Console.WriteLine("3 Minutes Left");
Thread.Sleep(30000);
Game.World.SendMsgToAll("SYSTEM", "Server Maintenance in 2 minutes and 30 Seconds! Please Log off to prevent data loss!", 2011, 0);
Console.WriteLine("2 Minutes 30 seconds Left");
Thread.Sleep(30000);
Game.World.SendMsgToAll("SYSTEM", "Server Maintenance in 2 minutes! Please Log off to prevent data loss!", 2011, 0);
Console.WriteLine("2 Minutes Left");
Thread.Sleep(30000);
Game.World.SendMsgToAll("SYSTEM", "Server Maintenance in 1 minute and 30 Seconds! Please Log off to prevent data loss!", 2011, 0);
Console.WriteLine("1 Minutes 30 seconds Left");
Thread.Sleep(30000);
Game.World.SendMsgToAll("SYSTEM", "Server Maintenance in 1 minute! Please Log off to prevent data loss!", 2011, 0);
Console.WriteLine("1 Minute Left");
Thread.Sleep(30000);
Game.World.SendMsgToAll("SYSTEM", "Server Maintenance in 30 Seconds! Please Log off to prevent data loss!", 2011, 0);
Console.WriteLine("30 Seconds Left");
Thread.Sleep(30000);
Console.WriteLine("Server is now shutting down...");
Game.Character[] BaseCharacters = new Character[World.H_Chars.Count];
World.H_Chars.Values.CopyTo(BaseCharacters, 0);
NewestCOServer.Main.AuthWorker.Listener.Close();
NewestCOServer.Main.GameWorker.Listener.Close();
EndSession = true;
try
{
foreach (Game.Character C in BaseCharacters)
{
Character Char = (Character)C.Value;
C.MyClient.Disconnect();
Console.WriteLine(C.Name + " is hard headed has force to logged off by the system.");
}
}
catch { }
Database.SaveKOs();
Console.WriteLine("KOs saved.");
Database.SaveEmpire();
Console.WriteLine("Empire saved.");
Features.Guilds.SaveGuilds();
Console.WriteLine("Guilds saved.");
DMaps.Save();
Features.SkillsClass.Save();
Console.WriteLine("Skills saved.");
DMaps.Save();
HouseItem.Save();
Console.WriteLine("Dynamic Maps Saved.");
MobThread.Close();
ServerStuff.Close();
CompanionThread.Close();
Database.Dispose();
Console.WriteLine("Database disposed.");
Console.WriteLine("Click X to close the window.");
Console.WriteLine("GOODBYE :D");
}
)).Start();
}






