internal static void Initialize() { Console.Clear(); DateTime Start = DateTime.Now; SystemMute = false; IrcEnabled = false; ServerStarted = DateTime.Now; Console.Title = PiciEnvironment.Title + " " + PiciEnvironment.Version; Console.WindowHeight = 30; DefaultEncoding = Encoding.Default; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(""); Console.WriteLine(" ______ _ _ _______ "); Console.WriteLine(" (_____ (_) (_) (_______) "); Console.WriteLine(" _____) ) ____ _ _____ ____ _ _ "); Console.WriteLine(@" | ____/ |/ ___) | | ___) | \| | | |"); Console.WriteLine(@" | | | ( (___| | | |_____| | | | |_| |"); Console.WriteLine(@" |_| |_|\____)_| |_______)_|_|_|____/ "); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" "+PiciEnvironment.Title+" " + PiciEnvironment.Version + " (Build " + PiciEnvironment.Build + ")"); Console.WriteLine(); Console.ResetColor(); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); cultureInfo = CultureInfo.CreateSpecificCulture("en-GB"); LanguageLocale.Init(); try { ChatCommandRegister.Init(); PetCommandHandeler.Init(); PetLocale.Init(); Configuration = new ConfigurationData(System.IO.Path.Combine(System.Windows.Forms.Application.StartupPath,@"config.conf")); DateTime Starts = DateTime.Now; dbType = DatabaseType.MySQL; manager = new DatabaseManager(uint.Parse(PiciEnvironment.GetConfig().data["db.pool.maxsize"]), uint.Parse(PiciEnvironment.GetConfig().data["db.pool.minsize"]), int.Parse(PiciEnvironment.GetConfig().data["db.pool.minsize"]), dbType); manager.setServerDetails( PiciEnvironment.GetConfig().data["db.hostname"], uint.Parse(PiciEnvironment.GetConfig().data["db.port"]), PiciEnvironment.GetConfig().data["db.username"], PiciEnvironment.GetConfig().data["db.password"], PiciEnvironment.GetConfig().data["db.name"]); manager.init(); TimeSpan TimeUsed2 = DateTime.Now - Starts; LanguageLocale.InitSwearWord(); Game = new Game(int.Parse(PiciEnvironment.GetConfig().data["game.tcp.conlimit"])); Game.ContinueLoading(); ConnectionManager = new ConnectionHandeling(int.Parse(PiciEnvironment.GetConfig().data["game.tcp.port"]), int.Parse(PiciEnvironment.GetConfig().data["game.tcp.conlimit"]), int.Parse(PiciEnvironment.GetConfig().data["game.tcp.conperip"]), PiciEnvironment.GetConfig().data["game.tcp.enablenagles"].ToLower() == "true"); ConnectionManager.init(); ConnectionManager.Start(); StaticClientMessageHandler.Initialize(); ClientMessageFactory.Init(); string[] arrayshit = PiciEnvironment.GetConfig().data["mus.tcp.allowedaddr"].Split(Convert.ToChar(",")); MusSystem = new MusSocket(PiciEnvironment.GetConfig().data["mus.tcp.bindip"], int.Parse(PiciEnvironment.GetConfig().data["mus.tcp.port"]), arrayshit, 0); //InitIRC(); groupsEnabled = true; useSSO = true; TimeSpan TimeUsed = DateTime.Now - Start; Logging.WriteLine("Server -> Started! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); isLive = true; Console.Beep(); if (bool_0_12) { Console.WriteLine("Coffee team, I appreciate you testing. ;-*"); System.Threading.Thread.Sleep(2500); PreformShutDown(true); return; } } catch (KeyNotFoundException e) { Logging.WriteLine("Please check your configuration file - some values appear to be missing."); Logging.WriteLine("Press any key to shut down ..."); Logging.WriteLine(e.ToString()); Console.ReadKey(true); PiciEnvironment.Destroy(); return; } catch (InvalidOperationException e) { Logging.WriteLine("Failed to initialize PiciEmulator: " + e.Message); Logging.WriteLine("Press any key to shut down ..."); Console.ReadKey(true); PiciEnvironment.Destroy(); return; } catch (Exception e) { Console.WriteLine("Fatal error during startup: " + e.ToString()); Console.WriteLine("Press a key to exit"); Console.ReadKey(); Environment.Exit(1); } }
//internal static Game GameInstance //{ // get // { // return Game; // } // set // { // Game = value; // } //} internal static void Destroy() { isLive = false; Logging.WriteLine("Destroying Pici environment..."); if (GetGame() != null) { GetGame().Destroy(); Game = null; } if (GetConnectionManager() != null) { Logging.WriteLine("Destroying connection manager."); GetConnectionManager().Destroy(); //ConnectionManager = null; } if (manager != null) { try { Logging.WriteLine("Destroying database manager."); //GetDatabase().StopClientMonitor(); manager.destroy(); //GetDatabase().DestroyDatabaseManager(); //DatabaseManager = null; } catch { } } Logging.WriteLine("Uninitialized successfully. Closing."); //Environment.Exit(0); Cba :P }