static void Main(string[] args) { XmlConfigurator.ConfigureAndWatch(new FileInfo("log4net.config")); Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; Thread.CurrentThread.Name = "Entry"; using (Settings = new SimpleSettings("wServer")) { var db = new Database(Settings.GetValue("conn")); RealmManager manager = new RealmManager( Settings.GetValue<int>("maxClient", "100"), Settings.GetValue<int>("tps", "20"), db); manager.Initialize(); manager.Run(); Server server = new Server(manager, 2050); PolicyServer policy = new PolicyServer(); Console.CancelKeyPress += (sender, e) => e.Cancel = true; policy.Start(); server.Start(); log.Info("Server initialized."); while (Console.ReadKey(true).Key != ConsoleKey.Escape) ; log.Info("Terminating..."); server.Stop(); policy.Stop(); manager.Stop(); db.Dispose(); log.Info("Server terminated."); } }
private static void Main(string[] args) { Console.Title = "Fabiano Swagger of Doom - World Server"; try { XmlConfigurator.ConfigureAndWatch(new FileInfo("log4net_wServer.config")); Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; Thread.CurrentThread.Name = "Entry"; Settings = new SimpleSettings("wServer"); new Database( Settings.GetValue<string>("db_host", "127.0.0.1"), Settings.GetValue<string>("db_database", "rotmgprod"), Settings.GetValue<string>("db_user", "root"), Settings.GetValue<string>("db_auth", "")); manager = new RealmManager( Settings.GetValue<int>("maxClients", "100"), Settings.GetValue<int>("tps", "20")); WhiteList = Settings.GetValue<bool>("whiteList", "false"); Verify = Settings.GetValue<bool>("verifyEmail", "false"); WhiteListTurnOff = Settings.GetValue<DateTime>("whitelistTurnOff"); manager.Initialize(); manager.Run(); Server server = new Server(manager); PolicyServer policy = new PolicyServer(); Console.CancelKeyPress += (sender, e) => e.Cancel = true; policy.Start(); server.Start(); if(Settings.GetValue<bool>("broadcastNews", "false") && File.Exists("news.txt")) new Thread(autoBroadcastNews).Start(); log.Info("Server initialized."); uint key = 0; while ((key = (uint)Console.ReadKey(true).Key) != (uint)ConsoleKey.Escape) { if (key == (2 | 80)) Settings.Reload(); } log.Info("Terminating..."); server.Stop(); policy.Stop(); manager.Stop(); log.Info("Server terminated."); } catch (Exception e) { log.Fatal(e); foreach (var c in manager.Clients) { c.Value.Disconnect(); } Console.ReadLine(); } }