static System.Timers.Timer messageTimer = new System.Timers.Timer(60000 * 5); //Every 5 mins #endregion Fields #region Constructors public Server() { ml = new MainLoop("server"); Server.s = this; }
public static void Main(string[] args) { if (Process.GetProcessesByName("MCDek").Length != 1) { foreach (Process pr in Process.GetProcessesByName("MCDek")) { if (pr.MainModule.BaseAddress == Process.GetCurrentProcess().MainModule.BaseAddress) if (pr.Id != Process.GetCurrentProcess().Id) pr.Kill(); } } PidgeonLogger.Init(); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.GlobalExHandler); Application.ThreadException += new ThreadExceptionEventHandler(Program.ThreadExHandler); bool skip = false; remake: try { if (!File.Exists("Viewmode.cfg") || skip) { StreamWriter SW = new StreamWriter(File.Create("Viewmode.cfg")); SW.WriteLine("#This file controls how the console window is shown to the server host"); SW.WriteLine("#cli: True or False (Determines whether a CLI interface is used) (Set True if on Mono)"); SW.WriteLine("#high-quality: True or false (Determines whether the GUI interface uses higher quality objects)"); SW.WriteLine(); SW.WriteLine("cli = false"); SW.WriteLine("high-quality = true"); SW.Flush(); SW.Close(); SW.Dispose(); } if (File.ReadAllText("Viewmode.cfg") == "") { skip = true; goto remake; } string[] foundView = File.ReadAllLines("Viewmode.cfg"); if (foundView[0][0] != '#') { skip = true; goto remake; } if (foundView[4].Split(' ')[2].ToLower() == "true") { Server s = new Server(); s.OnLog += Console.WriteLine; s.OnCommand += Console.WriteLine; s.OnSystem += Console.WriteLine; s.Start(); Console.Title = Server.name + " MCDek Version: " + Server.Version; usingConsole = true; handleComm(Console.ReadLine()); //Application.Run(); } else { IntPtr hConsole = GetConsoleWindow(); if (IntPtr.Zero != hConsole) { ShowWindow(hConsole, 0); } UpdateCheck(true); if (foundView[5].Split(' ')[2].ToLower() == "true") { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); } updateTimer.Elapsed += delegate { UpdateCheck(); }; updateTimer.Start(); Application.Run(new MCDek.Gui.Window()); } } catch (Exception e) { Server.ErrorLog(e); return; } }
public static void Main(string[] args) { if (Process.GetProcessesByName("MCDek").Length != 1) { foreach (Process pr in Process.GetProcessesByName("MCDek")) { if (pr.MainModule.BaseAddress == Process.GetCurrentProcess().MainModule.BaseAddress) { if (pr.Id != Process.GetCurrentProcess().Id) { pr.Kill(); } } } } PidgeonLogger.Init(); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Program.GlobalExHandler); Application.ThreadException += new ThreadExceptionEventHandler(Program.ThreadExHandler); bool skip = false; remake: try { if (!File.Exists("Viewmode.cfg") || skip) { StreamWriter SW = new StreamWriter(File.Create("Viewmode.cfg")); SW.WriteLine("#This file controls how the console window is shown to the MCDekServer host"); SW.WriteLine("#cli: True or False (Determines whether a CLI interface is used) (Set True if on Mono)"); SW.WriteLine("#high-quality: True or false (Determines whether the GUI interface uses higher quality objects)"); SW.WriteLine(); SW.WriteLine("cli = false"); SW.WriteLine("high-quality = true"); SW.Flush(); SW.Close(); SW.Dispose(); } if (File.ReadAllText("Viewmode.cfg") == "") { skip = true; goto remake; } string[] foundView = File.ReadAllLines("Viewmode.cfg"); if (foundView[0][0] != '#') { skip = true; goto remake; } if (foundView[4].Split(' ')[2].ToLower() == "true") { MCDek.Server s = new MCDek.Server(); s.OnLog += Console.WriteLine; s.OnCommand += Console.WriteLine; s.OnSystem += Console.WriteLine; s.Start(); Console.Title = MCDek.Server.name + " MCDek Version: " + MCDek.Server.Version; usingConsole = true; handleComm(Console.ReadLine()); //Application.Run(); } else { IntPtr hConsole = GetConsoleWindow(); if (IntPtr.Zero != hConsole) { ShowWindow(hConsole, 0); } UpdateCheck(true); if (foundView[5].Split(' ')[2].ToLower() == "true") { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); } updateTimer.Elapsed += delegate { UpdateCheck(); }; updateTimer.Start(); Application.Run(new MCDek.Gui.Window()); } } catch (Exception e) { MCDek.Server.ErrorLog(e); return; } }