public Game() { this._clientManager = new GameClientManager(); this._clientWebManager = new WebClientManager(); this._roleManager = new RoleManager(); this._roleManager.Init(); this._itemDataManager = new ItemDataManager(); this._itemDataManager.Init(); this._catalogManager = new CatalogManager(); this._catalogManager.Init(this._itemDataManager); this._navigatorManager = new NavigatorManager(); this._navigatorManager.Init(); this._roleplayManager = new RoleplayManager(); this._roleplayManager.Init(); this._roomManager = new RoomManager(); this._roomManager.LoadModels(); this._groupManager = new GroupManager(); this._groupManager.Init(); this._moderationManager = new ModerationManager(); this._moderationManager.LoadMessageTopics(); this._moderationManager.LoadMessagePresets(); this._moderationManager.LoadPendingTickets(); this._moderationManager.LoadTicketResolution(); this._questManager = new QuestManager(); this._questManager.Initialize(); this._hotelViewManager = new HotelViewManager(); this._guideManager = new GuideManager(); this._packetManager = new PacketManager(); this._chatManager = new ChatManager(); this._effectsInventory = new EffectsInventoryManager(); this._effectsInventory.Init(); this._achievementManager = new AchievementManager(); this._animationManager = new AnimationManager(); this._animationManager.Init(); this._notiftopManager = new NotifTopManager(); this._notiftopManager.Init(); DatabaseCleanup(); LowPriorityWorker.Init(); this.moduleWatch = new Stopwatch(); }
/// <summary> /// Continues the loading. /// </summary> internal void ContinueLoading() { using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { uint catalogPageLoaded; PetRace.Init(queryReactor); _catalog.Initialize(queryReactor, out catalogPageLoaded); AntiPublicistas.Load(queryReactor); SongManager.Initialize(); LowPriorityWorker.Init(queryReactor); _roomManager.InitVotedRooms(queryReactor); } StartGameLoop(); }
internal void start() { using (IQueryAdapter queryReactor = CyberEnvironment.GetDatabaseManager().getQueryReactor()) { uint itemsLoaded = 0; uint catalogPageLoaded = 0; uint navigatorLoaded = 0; uint roomModelLoaded = 0; uint videoPlaylistLoaded = 0; uint achievementLoaded = 0; uint pollLoaded = 0; this.BanManager.LoadBans(queryReactor); this.RoleManager.LoadRights(queryReactor); this.ItemManager.LoadItems(queryReactor, out itemsLoaded); Logging.WriteLine("Loaded a total of " + itemsLoaded + " item definition(s)."); this.PinataHandler.Initialize(queryReactor); this.globalInventory = new InventoryGlobal(); this.VideoManager.Load(queryReactor, out videoPlaylistLoaded); Logging.WriteLine("Loaded a total of " + videoPlaylistLoaded + " video playlist(s)."); this.Catalog.Initialize(queryReactor, out catalogPageLoaded); Logging.WriteLine("Loaded a total of " + catalogPageLoaded + " catalogue page(s)."); this.Navigator.Initialize(queryReactor, out navigatorLoaded); Logging.WriteLine("Loaded a total of " + navigatorLoaded + " official room(s)."); this.RoomManager.LoadModels(queryReactor, out roomModelLoaded); Logging.WriteLine("Loaded a total of " + roomModelLoaded + " room model(s)."); this.RoomManager.InitVotedRooms(queryReactor); this.AchievementManager = new AchievementManager(queryReactor, out achievementLoaded); Logging.WriteLine("Loaded a total of " + achievementLoaded + " achievement(s)."); this.questManager.Initialize(queryReactor); this.PollManager.Init(queryReactor, out pollLoaded); Logging.WriteLine("Loaded a total of " + pollLoaded + " poll(s)."); this.talentManager.Initialize(queryReactor); this.ModerationTool.LoadMessagePresets(queryReactor); this.ModerationTool.LoadPendingTickets(queryReactor); PetRace.Init(queryReactor); AntiPublicistas.Load(queryReactor); this.GetGroupManager().InitGroups(); SongManager.Initialize(); LowPriorityWorker.Init(queryReactor); } this.StartGameLoop(); PixelManager.StartPixelTimer(); }
internal static void Initialize() { ServerStarted = DateTime.Now; //Console.ForegroundColor = ConsoleColor.DarkBlue; //Console.WriteLine("\n "); //Console.WriteLine(@" $$$$$$\ $$\ $$\ "); //Console.WriteLine(@" $$ __$$\ $$ | \__| "); //Console.WriteLine(@" $$ / $$ |$$$$$$\ $$$$$$\ $$$$$$$\ $$\ $$\ $$\ "); //Console.WriteLine(@" $$ | $$ |\_$$ _| \____$$\ $$ __$$\ $$ |\$$\ $$ | "); //Console.WriteLine(@" $$ | $$ | $$ | $$$$$$$ |$$ | $$ |$$ | \$$$$ / "); //Console.WriteLine(@" $$ | $$ | $$ |$$\ $$ __$$ |$$ | $$ |$$ | $$ $$< "); //Console.WriteLine(@" $$$$$$ | \$$$$ |\$$$$$$$ |$$ | $$ |$$ |$$ /\$$\ "); //Console.WriteLine(@" \______/ \____/ \_______|\__| \__|\__|\__/ \__| "); //Console.WriteLine("\n "); //Console.ForegroundColor = ConsoleColor.DarkGreen; //Console.WriteLine(@" © 2016 - 2017 - Todos os direitos reservados ao Thiago Araujo."); //Console.WriteLine(@" "); Console.ForegroundColor = ConsoleColor.Gray; try { #region Starting Configuration = new ConfigurationData(Path.Combine(Application.StartupPath, @"Settings/configuration.ini")); UsersCache.Initialize(); LowPriorityWorker.Init(); APIexterna.InitStatus(); LanguageLocale.Init(); ChatCommandRegister.Init(); PetLocale.Init(); #endregion #region MySQL Configuration var starts = DateTime.Now; Logging.WriteLine("[Otanix] @ Conectando na database..."); manager = new DatabaseManager(uint.Parse(GetConfig().data["db.pool.maxsize"]), int.Parse(GetConfig().data["db.pool.minsize"])); manager.setServerDetails( GetConfig().data["db.hostname"], uint.Parse(GetConfig().data["db.port"]), GetConfig().data["db.username"], GetConfig().data["db.password"], GetConfig().data["db.name"]); manager.init(); var timeUsed2 = DateTime.Now - starts; Logging.WriteLine("[Otanix] @ Conectado com sucesso na database! (" + timeUsed2.Seconds + " s, " + timeUsed2.Milliseconds + " ms)"); #endregion #region Cycles Configuration starts = DateTime.Now; StaticClientMessageHandler.Initialize(); ClientMessageFactory.Init(); var timeUsed3 = DateTime.Now - starts; Logging.WriteLine("[Otanix] @ Iniciando os ciclos! (" + timeUsed3.Seconds + " s, " + timeUsed3.Milliseconds + " ms)"); Game = new Game(); Game.ContinueLoading(); #endregion #region Connections Configuration ConnectionManager = new ConnectionHandeling(int.Parse(GetConfig().data["game.tcp.port"]), int.Parse(GetConfig().data["game.tcp.conlimit"]), int.Parse(GetConfig().data["game.tcp.conperip"]), GetConfig().data["game.tcp.enablenagles"].ToLower() == "true"); ConnectionManager.init(); ConnectionManager.Start(); Handler.Initialize(RsaKeyHolder.N, RsaKeyHolder.D, RsaKeyHolder.E); Logging.WriteLine("[Otanix] @ RSA Crypto iniciada!"); if (GetConfig().data["mus.enable"].ToLower() == "true") { MusSystem = new MusSocket(int.Parse(GetConfig().data["mus.tcp.port"])); } #endregion #region Last Process var TimeUsed = DateTime.Now - ServerStarted; Logging.WriteLine("[Otanix] @ ENVIRONMENT -> PRONTO! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Console.Title = "Otanix Emulador ~ Versão privada por Thiago Araujo para " + EmuSettings.HOTEL_LINK; if (Debugger.IsAttached) { Console.ForegroundColor = ConsoleColor.Blue; Logging.WriteLine("[Otanix] @ Alerta: Servidor está em DEBUG, console ativado!"); Console.ForegroundColor = ConsoleColor.White; } else { Logging.WriteLine("[Otanix] @ Alerta: Servidor não está em DEBUG, console desativado!"); Logging.DisablePrimaryWriting(false); } Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("[Otanix] @ Alerta: Pressione alguma tecla para ativar o console de comandos."); Console.ForegroundColor = ConsoleColor.White; #endregion } catch (KeyNotFoundException e) { Console.ForegroundColor = ConsoleColor.Red; Logging.WriteLine("Avviso: controlla il file di configurazione, alcuni valori sembrano mancare."); Logging.WriteLine("Avviso: premere un tasto qualsiasi per terminare il programma..."); Logging.WriteLine(e.ToString()); Console.ReadKey(true); Destroy(); } catch (InvalidOperationException e) { Console.ForegroundColor = ConsoleColor.Red; Logging.WriteLine("Avviso: impossibile avviare il programma, " + e.Message); Logging.WriteLine("Avviso: premere un tasto qualsiasi per terminare il programma..."); Console.ReadKey(true); Destroy(); } catch (Exception e) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Avviso: errore di avvio irreversibile, " + e); Console.WriteLine("Avviso: premere un tasto qualsiasi per terminare il programma..."); Console.ReadKey(); Environment.Exit(1); } Console.ForegroundColor = ConsoleColor.White; }
internal void ContinueLoading() { DateTime Start; TimeSpan TimeUsed; using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().getQueryreactor()) { Start = DateTime.Now; BanManager.LoadBans(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Ban manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; //RoleManager.LoadRoles(dbClient); RoleManager.LoadRights(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Role manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; HelpTool.LoadCategories(dbClient); HelpTool.LoadTopics(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Help tool -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; Catalog.Initialize(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Catacache -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; Navigator.Initialize(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Navigator -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; ItemManager.LoadItems(dbClient); globalInventory = new InventoryGlobal(); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Item manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; RoomManager.LoadModels(dbClient); RoomManager.InitRoomLinks(dbClient); RoomManager.InitVotedRooms(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Room manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; AdvertisementManager.LoadRoomAdvertisements(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Adviserment manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; AchievementManager = new AchievementManager(dbClient); questManager.Initialize(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Achievement manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; ModerationTool.LoadMessagePresets(dbClient); ModerationTool.LoadPendingTickets(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Moderation tool -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; BotManager.LoadBots(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Bot manager manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; Catalog.InitCache(); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Catalogue manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; SongManager.Initialize(); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Sound manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; DatabaseCleanup(dbClient); LowPriorityWorker.Init(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Database -> Cleanup performed! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); } StartGameLoop(); Logging.WriteLine("Game manager -> READY!"); DataSocket.SetupListener(42); DataSocket.Start(); }
internal void ContinueLoading() { DateTime Start; TimeSpan TimeUsed; using (IQueryAdapter dbClient = FirewindEnvironment.GetDatabaseManager().getQueryreactor()) { Start = DateTime.Now; BanManager.LoadBans(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Ban manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; //RoleManager.LoadRoles(dbClient); RoleManager.LoadRights(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Role manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; Catalog.Initialize(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Catacache -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; Navigator.Initialize(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Navigator -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; ItemManager.LoadItems(dbClient); globalInventory = new InventoryGlobal(); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Item manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; RoomManager.LoadModels(dbClient); RoomManager.InitVotedRooms(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Room manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; Ranking.initRankings(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("User rankings -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; AdvertisementManager.LoadRoomAdvertisements(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Adviserment manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; AchievementManager = new AchievementManager(dbClient); questManager.Initialize(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Achievement manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; ModerationTool.LoadMessagePresets(dbClient); ModerationTool.LoadPendingTickets(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Moderation tool -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; BotManager.LoadBots(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Bot manager manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; PetRace.Init(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Pet system -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; Catalog.InitCache(); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Catalogue manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); Start = DateTime.Now; SongManager.Initialize(); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Sound manager -> READY! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); //GuildsPartsData.InitGroups(); //groupManager = new GroupManager(dbClient); Start = DateTime.Now; DatabaseCleanup(dbClient); LowPriorityWorker.Init(dbClient); TimeUsed = DateTime.Now - Start; Logging.WriteLine("Database -> Cleanup performed! (" + TimeUsed.Seconds + " s, " + TimeUsed.Milliseconds + " ms)"); } StartGameLoop(); Logging.WriteLine("Game manager -> READY!"); }