internal Game(int conns) { ClientManager = new GameClientManager(); //if (PiciEnvironment.GetConfig().data["client.ping.enabled"] == "1") //{ // ClientManager.StartConnectionChecker(); //} using (IQueryAdapter dbClient = PiciEnvironment.GetDatabaseManager().getQueryreactor()) { //PiciEnvironment.GameInstance = this; DateTime start = DateTime.Now; BanManager = new ModerationBanManager(); RoleManager = new RoleManager(); HelpTool = new HelpTool(); Catalog = new Catalog(); Navigator = new Navigator(); ItemManager = new ItemManager(); RoomManager = new RoomManager(); AdvertisementManager = new AdvertisementManager(); PixelManager = new PixelManager(); ModerationTool = new ModerationTool(); BotManager = new BotManager(); questManager = new QuestManager(); //soundMachineManager = new SoundMachineManager(); TimeSpan spent = DateTime.Now - start; } }
public static void Main(string[] args) { bool_0 = true; DateTime now = DateTime.Now; Output.InitializeStream(true, OutputLevel.DebugInformation); Output.WriteLine("Initializing BoomBang game environment..."); ConfigManager.Initialize(Constants.DataFileDirectory + @"\server-main.cfg"); Output.SetVerbosityLevel((OutputLevel)ConfigManager.GetValue("output.verbositylevel")); foreach (string str in args) { Output.WriteLine("Command line argument: " + str); Input.ProcessInput(str.Split(new char[] { ' ' })); } try { Output.WriteLine("Initializing MySQL manager..."); SqlDatabaseManager.Initialize(); Output.WriteLine("Setting up server listener on port " + ((int)ConfigManager.GetValue("net.bind.port")) + "..."); boomBangTcpListener_0 = new BoomBangTcpListener(new IPEndPoint(IPAddress.Any, (int)ConfigManager.GetValue("net.bind.port")), (int)ConfigManager.GetValue("net.backlog"), new OnNewConnectionCallback(SessionManager.HandleIncomingConnection)); using (SqlDatabaseClient client = SqlDatabaseManager.GetClient()) { Output.WriteLine("Resetting database counters and statistics..."); smethod_0(client); Output.WriteLine("Initializing game components and workers..."); DataRouter.Initialize(); GlobalHandler.Initialize(); SessionManager.Initialize(); CharacterInfoLoader.Initialize(); UserCredentialsAuthenticator.Initialize(); RegisterManager.Initialize(); Class1.smethod_0(); LaptopHandler.Initialize(); CatalogManager.Initialize(client); FlowerPowerManager.Initialize(); NewsCacheManager.Initialize(client); Navigator.Initialize(client); SpaceManager.Initialize(client); SpaceInfoLoader.Initialize(); SpaceHandler.Initialize(); GameHandler.Initialize(); CrossdomainPolicy.Initialize(@"Data\crossdomain.xml"); WordFilterManager.Initialize(client); AdvertisementManager.Initialize(); ContestHandler.Initialize(); SilverCoinsWorker.Initialize(); ModerationBanManager.Initialize(client); } } catch (Exception exception) { HandleFatalError("Could not initialize BoomBang game environment: " + exception.Message + "\nStack trace: " + exception.StackTrace); return; } TimeSpan span = (TimeSpan)(DateTime.Now - now); Output.WriteLine("The server has initialized successfully (" + Math.Round(span.TotalSeconds, 2) + " seconds). Ready for connections.", OutputLevel.Notification); Output.WriteLine("Pulsa ENTER e introduce un comando. Ten una guía de comandos escribiendo HELP", OutputLevel.Notification); Console.Beep(); }
public void Destroy() { if (Task != null) { Task = null; } using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient()) { DatabaseCleanup(adapter, 0); } if (GetClientManager() != null) { GetClientManager().Clear(); GetClientManager().StopConnectionChecker(); } if (GetPixelManager() != null) { PixelManager.KeepAlive = false; } ClientManager = null; BanManager = null; RoleManager = null; HelpTool = null; Catalog = null; Navigator = null; ItemManager = null; RoomManager = null; AdvertisementManager = null; PixelManager = null; }
internal Game(int conns) { ClientManager = new GameClientManager(); //if (ButterflyEnvironment.GetConfig().data["client.ping.enabled"] == "1") //{ // ClientManager.StartConnectionChecker(); //} using (IQueryAdapter dbClient = ButterflyEnvironment.GetDatabaseManager().getQueryreactor()) { //ButterflyEnvironment.GameInstance = this; DateTime start = DateTime.Now; BanManager = new ModerationBanManager(); RoleManager = new RoleManager(); HelpTool = new HelpTool(); Catalog = new Catalog(); Navigator = new Navigator(); ItemManager = new ItemManager(); RoomManager = new RoomManager(); AdvertisementManager = new AdvertisementManager(); PixelManager = new PixelManager(); ModerationTool = new ModerationTool(); BotManager = new BotManager(); questManager = new QuestManager(); //soundMachineManager = new SoundMachineManager(); TimeSpan spent = DateTime.Now - start; Logging.WriteLine("Class initialization -> READY! (" + spent.Seconds + " s, " + spent.Milliseconds + " ms)"); } }
public void ContinueLoading() { if (this.task_0 != null) { this.task_0 = null; } using (DatabaseClient dbClient = Essential.GetDatabase().GetClient()) { this.RestoreStatistics(dbClient, 0); } if (this.GetClientManager() != null) { this.GetClientManager().StopPingTask(); } if (this.GetPixelManager() != null) { this.PixelManager.KeepAlive = false; } this.ClientManager = null; this.BanManager = null; this.RoleManager = null; this.HelpTool = null; this.Catalog = null; this.Navigator = null; this.ItemManager = null; this.RoomManager = null; this.PixelManager = null; }
internal Game() { ClientManager = new GameClientManager(); BanManager = new ModerationBanManager(); RoleManager = new RoleManager(); Catalog = new Catalog(); CatalogPremium = new CatalogPremium(); Navigator = new Navigator(); NewNavigatorManager = new NewNavigatorManager(); ItemManager = new ItemManager(); RoomManager = new RoomManager(); GroupManager = new GroupManager(); newsManager = new NewsManager(); ModerationTool = new ModerationTool(); questManager = new QuestManager(); youtubeManager = new YoutubeManager(); piñataManager = new PiñataHandler(); roomRankConfig = new RoomRankConfig(); AchievementManager = new AchievementManager(); talentManager = new TalentManager(); AlfaManager = new AlfaManager(); MuteManager = new MuteManager(); PromotionalBadgesManager = new PromotionalBadges(); TargetedOfferManager = new TargetedOfferManager(); RoomQueueManager = new RoomQueueManager(); CraftableProductsManager = new CraftableProductsManager(); ClothingManager = new ClothingManager(); UserLookManager = new UserLook(); PrisaoManager = new PrisaoManager(); LandingTopUsersManager = new LandingTopUsers(); corManager = new CorManager(); giftManager = new GiftModeloManager(); }
public void ContinueLoading() { if (this.task_0 != null) { this.task_0 = null; } using (DatabaseClient @class = GoldTree.GetDatabase().GetClient()) { this.method_0(@class, 0); } if (this.GetClientManager() != null) { this.GetClientManager().method_6(); this.GetClientManager().method_11(); } if (this.GetPixelManager() != null) { this.PixelManager.KeepAlive = false; } this.ClientManager = null; this.BanManager = null; this.RoleManager = null; this.HelpTool = null; this.Catalog = null; this.Navigator = null; this.ItemManager = null; this.RoomManager = null; this.AdvertisementManager = null; this.PixelManager = null; }
public Game(int conns) { ClientManager = new GameClientManager(conns); if (PhoenixEnvironment.GetConfig().data["client.ping.enabled"] == "1") { ClientManager.StartConnectionChecker(); } DateTime Now = DateTime.Now; Logging.Write("Connecting to database..."); using (DatabaseClient adapter = PhoenixEnvironment.GetDatabase().GetClient()) { Logging.WriteLine("completed!"); PhoenixEnvironment.GameInstance = this; LoadSettings(adapter); BanManager = new ModerationBanManager(); RoleManager = new RoleManager(); HelpTool = new HelpTool(); Catalog = new Catalog(); Navigator = new Navigator(); ItemManager = new ItemManager(); RoomManager = new RoomManager(); AdvertisementManager = new AdvertisementManager(); PixelManager = new PixelManager(); AchievementManager = new AchievementManager(); ModerationTool = new ModerationTool(); BotManager = new BotManager(); Marketplace = new Marketplace(); QuestManager = new QuestManager(); TextManage = new TextManager(); Guilds = new GroupManager(); TextManager.LoadTexts(adapter); BanManager.LoadBans(adapter); RoleManager.LoadRoles(adapter); HelpTool.LoadCategories(adapter); HelpTool.LoadTopics(adapter); ModerationTool.LoadMessagePresets(adapter); ModerationTool.LoadPendingTickets(adapter); ItemManager.LoadItems(adapter); Catalog.Initialize(adapter); Catalog.InitCache(); Navigator.Initialize(adapter); RoomManager.LoadModels(adapter); RoomManager.LoadCache(); NavigatorCache = new NavigatorCache(); AdvertisementManager.LoadRoomAdvertisements(adapter); BotManager.LoadBots(adapter); AchievementManager.LoadAchievements(adapter); PixelManager.Start(); ChatCommandHandler.InitFilter(adapter); QuestManager.InitQuests(); GroupManager.LoadGroups(adapter); DatabaseCleanup(adapter, 1); } Task = new Task(new Action(LowPriorityWorker.Process)); Task.Start(); }
public void TryAuthenticate(string Username, string Password, string RemoteAddress, bool Register = false) { using (SqlDatabaseClient client = SqlDatabaseManager.GetClient()) { uint characterId = UserCredentialsAuthenticator.TryAuthenticate(client, Username, Password, RemoteAddress); if (characterId == 0) { this.SendData(AuthenticationKoComposer.Compose(false), false); } else { BoomBang.Game.Characters.CharacterInfo info = CharacterInfoLoader.GetCharacterInfo(client, characterId, this.uint_0, true); if (ModerationBanManager.IsUserIdBlacklisted(info.UInt32_0)) { this.SendData(ModerationBanComposer.Compose(ModerationBanManager.GetBanDetails(info.UInt32_0)), false); SessionManager.StopSession(this.uint_0); } else if ((info != null) && info.HasLinkedSession) { this.characterInfo_0 = info; this.characterInfo_0.TimestampLastOnline = UnixTimestamp.GetCurrent(); CharacterResolverCache.AddToCache(this.characterInfo_0.UInt32_0, this.characterInfo_0.Username, true); this.sessionLaptopFriendCache_0 = new SessionLaptopFriendCache(client, this.CharacterId); this.userIgnoreCache_0 = new UserIgnoreCache(client, this.CharacterId); this.bool_1 = true; if (Register) { this.SendData(RegisterComposer.Compose(this.characterInfo_0), false); } else { this.SendData(AuthenticationOkComposer.Compose(this.characterInfo_0), false); } LaptopHandler.MarkUpdateNeeded(this, 0, true); } else { SessionManager.StopSession(this.uint_0); } } } }
public void ContinueLoading() { if (this.task_0 != null) { this.task_0 = null; } try { using (DatabaseClient dbClient = GoldTree.GetDatabase().GetClient()) { this.RestoreStatistics(dbClient, 0); } } catch (MySql.Data.MySqlClient.MySqlException e) { /* database connection not available */ } if (this.GetClientManager() != null) { this.GetClientManager().method_6(); this.GetClientManager().method_11(); } if (this.GetPixelManager() != null) { this.PixelManager.KeepAlive = false; } this.ClientManager = null; this.BanManager = null; this.RoleManager = null; this.HelpTool = null; this.Catalog = null; this.Navigator = null; this.ItemManager = null; this.RoomManager = null; this.AdvertisementManager = null; this.PixelManager = null; }
internal Game(int conns) { Logging.WriteLine("Starting modules..."); this.ClientManager = new GameClientManager(); this.BanManager = new ModerationBanManager(); this.RoleManager = new RoleManager(); this.Navigator = new Navigator(); this.ItemManager = new ItemManager(); this.Catalog = new Catalog(); this.RoomManager = new RoomManager(); this.PixelManager = new PixelManager(); this.HotelView = new HotelView(); this.ModerationTool = new ModerationTool(); this.BotManager = new BotManager(); this.questManager = new QuestManager(); this.Events = new RoomEvents(); this.groupManager = new GroupManager(); this.talentManager = new TalentManager(); this.VideoManager = new VideoManager(); this.PinataHandler = new PinataHandler(); this.PollManager = new PollManager(); this.AntiMutant = new AntiMutant(); }
public static void HandleIncomingConnection(Socket IncomingSocket) { bool Reject = ModerationBanManager.IsRemoteAddressBlacklisted(IncomingSocket.RemoteEndPoint.ToString().Split(':')[0]); Output.WriteLine((Reject ? "Rejected" : "Accepted") + " incoming connection from " + IncomingSocket.RemoteEndPoint.ToString().Split(':')[0] + ".", OutputLevel.Informational); if (Reject) { try { IncomingSocket.Close(); } catch (Exception) { } return; } lock (mSyncRoot) { uint Id = mCounter++; mSessions.Add(Id, new Session(Id, IncomingSocket)); } }
public static void HandleIncomingConnection(Socket IncomingSocket) { bool flag; Output.WriteLine(((flag = ModerationBanManager.IsRemoteAddressBlacklisted(IncomingSocket.RemoteEndPoint.ToString().Split(new char[] { ':' })[0])) ? "Rejected" : "Accepted") + " incoming connection from " + IncomingSocket.RemoteEndPoint.ToString() + ".", OutputLevel.Informational); if (!flag && !RejectIncomingConnections) { lock (object_0) { uint key = uint_0++; concurrentDictionary_0.TryAdd(key, new Session(key, IncomingSocket)); } } else { try { IncomingSocket.Close(); } catch (Exception) { } } }
public static void Main(string[] args) { mAlive = true; DateTime InitStart = DateTime.Now; // Set up basic output, configuration, etc Output.InitializeStream(true, OutputLevel.DebugInformation); Output.WriteLine("Initializing Snowlight..."); ConfigManager.Initialize(Constants.DataFileDirectory + "\\server-main.cfg"); Output.SetVerbosityLevel((OutputLevel)ConfigManager.GetValue("output.verbositylevel")); // Load Lang LangManager.Initialize(Constants.LangFileDirectory + "\\lang_" + ConfigManager.GetValue("lang") + ".lang"); // Process args foreach (string arg in args) { Output.WriteLine("Command line argument: " + arg); Input.ProcessInput(arg.Split(' ')); } try { // Initialize and test database Output.WriteLine("Initializing MySQL manager..."); SqlDatabaseManager.Initialize(); // Initialize network components Output.WriteLine("Setting up server listener on port " + (int)ConfigManager.GetValue("net.bind.port") + "..."); mServer = new SnowTcpListener(new IPEndPoint(IPAddress.Any, (int)ConfigManager.GetValue("net.bind.port")), (int)ConfigManager.GetValue("net.backlog"), new OnNewConnectionCallback( SessionManager.HandleIncomingConnection)); using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient()) { Output.WriteLine("Resetting database counters and statistics..."); PerformDatabaseCleanup(MySqlClient); Output.WriteLine("Initializing game components and workers..."); // Core DataRouter.Initialize(); // Sessions, characters Handshake.Initialize(); GlobalHandler.Initialize(); SessionManager.Initialize(); CharacterInfoLoader.Initialize(); RightsManager.Initialize(MySqlClient); SingleSignOnAuthenticator.Initialize(); // Room management and navigator RoomManager.Initialize(MySqlClient); RoomInfoLoader.Initialize(); RoomHandler.Initialize(); RoomItemHandler.Initialize(); Navigator.Initialize(MySqlClient); // Help and moderation HelpTool.Initialize(MySqlClient); ModerationPresets.Initialize(MySqlClient); ModerationTicketManager.Initialize(MySqlClient); ModerationHandler.Initialize(); ModerationBanManager.Initialize(MySqlClient); // Catalog, pets and items ItemDefinitionManager.Initialize(MySqlClient); CatalogManager.Initialize(MySqlClient); CatalogPurchaseHandler.Initialize(); Inventory.Initialize(); ItemEventDispatcher.Initialize(); PetDataManager.Initialize(MySqlClient); // Messenger MessengerHandler.Initialize(); // Achievements and quests AchievementManager.Initialize(MySqlClient); QuestManager.Initialize(MySqlClient); // Misc/extras CrossdomainPolicy.Initialize("Data\\crossdomain.xml"); InfobusManager.Initialize(); ActivityPointsWorker.Initialize(); BotManager.Initialize(MySqlClient); InterstitialManager.Initialize(MySqlClient); ChatEmotions.Initialize(); EffectsCacheWorker.Initialize(); RecyclerManager.Initialize(MySqlClient); DrinkSetManager.Initialize(MySqlClient); SongManager.Initialize(); TradeHandler.Initialize(); RandomGenerator.Initialize(); StatisticsSyncUtil.Initialize(); // Polish WarningSurpressors.Initialize(); } } catch (Exception e) { HandleFatalError("Could not initialize Snowlight: " + e.Message + "\n" + e.StackTrace); return; } // Init complete TimeSpan TimeSpent = DateTime.Now - InitStart; Output.WriteLine("The server has initialized successfully (" + Math.Round(TimeSpent.TotalSeconds, 2) + " seconds). Ready for connections.", OutputLevel.Notification); Output.WriteLine((string)LangManager.GetValue("initialized.info.cmd"), OutputLevel.Notification); Console.Beep(); Input.Listen(); // This will make the main thread process console while Program.Alive. }
/// <summary> /// Initializes a new instance of the <see cref="HabboHotel" /> class. /// </summary> /// <param name="conns">The conns.</param> internal HabboHotel(int conns) { YupiWriterManager.WriteLine(@"Starting up Yupi Emulator for " + Environment.MachineName + "...", @"Yupi.Boot"); _clientManager = new GameClientManager(); using (IQueryAdapter queryReactor = Yupi.GetDatabaseManager().GetQueryReactor()) { AbstractBar bar = new AnimatedBar(); const int wait = 15, end = 5; uint itemsLoaded; uint navigatorLoaded; uint roomModelLoaded; uint achievementLoaded; uint pollLoaded; Progress(bar, wait, end, "Cleaning dirty in database..."); DatabaseCleanup(queryReactor); Progress(bar, wait, end, "Loading Bans..."); _banManager = new ModerationBanManager(); _banManager.LoadBans(queryReactor); Progress(bar, wait, end, "Loading Roles..."); _roleManager = new RoleManager(); _roleManager.LoadRights(queryReactor); Progress(bar, wait, end, "Loading Items..."); _itemManager = new ItemManager(); _itemManager.LoadItems(queryReactor, out itemsLoaded); Progress(bar, wait, end, "Loading Catalog..."); _catalog = new CatalogManager(); Progress(bar, wait, end, "Loading Targeted Offers..."); _targetedOfferManager = new TargetedOfferManager(); Progress(bar, wait, end, "Loading Clothing..."); _clothingManager = new ClothingManager(); _clothingManager.Initialize(queryReactor); Progress(bar, wait, end, "Loading Rooms..."); _roomManager = new RoomManager(); _roomManager.LoadModels(queryReactor, out roomModelLoaded); Progress(bar, wait, end, "Loading NavigatorManager..."); _navigatorManager = new HotelBrowserManager(); _navigatorManager.Initialize(queryReactor, out navigatorLoaded); Progress(bar, wait, end, "Loading Groups..."); _groupManager = new GroupManager(); _groupManager.InitGroups(); Progress(bar, wait, end, "Loading PixelManager..."); _pixelManager = new ExchangeManager(); Progress(bar, wait, end, "Loading HotelView..."); _hotelView = new HotelLandingManager(); Progress(bar, wait, end, "Loading Hall Of Fame..."); _hallOfFame = new HallOfFame(); Progress(bar, wait, end, "Loading ModerationTool..."); _moderationTool = new ModerationTool(); _moderationTool.LoadMessagePresets(queryReactor); _moderationTool.LoadPendingTickets(queryReactor); Progress(bar, wait, end, "Loading Bots..."); _botManager = new BotManager(); Progress(bar, wait, end, "Loading Events..."); _events = new RoomEvents(); Progress(bar, wait, end, "Loading Talents..."); _talentManager = new TalentManager(); _talentManager.Initialize(queryReactor); Progress(bar, wait, end, "Loading Pinata..."); _pinataHandler = new PinataHandler(); _pinataHandler.Initialize(queryReactor); Progress(bar, wait, end, "Loading Crackable Eggs..."); _crackableEggHandler = new CrackableEggHandler(); _crackableEggHandler.Initialize(queryReactor); Progress(bar, wait, end, "Loading Polls..."); _pollManager = new PollManager(); _pollManager.Init(queryReactor, out pollLoaded); Progress(bar, wait, end, "Loading Achievements..."); _achievementManager = new AchievementManager(queryReactor, out achievementLoaded); Progress(bar, wait, end, "Loading StaticMessages ..."); StaticMessagesManager.Load(); Progress(bar, wait, end, "Loading Guides ..."); _guideManager = new GuideManager(); Progress(bar, wait, end, "Loading and Registering Commands..."); CommandsManager.Register(); CacheManager.StartProcess(); //Progress(bar, wait, end, "Loading ServerMutantManager..."); //this.ServerMutantManager = new ServerMutantManager(); Console.Write("\r".PadLeft(Console.WindowWidth - Console.CursorLeft - 1)); } }
public static void Main(string[] args) { mAlive = true; DateTime InitStart = DateTime.Now; // Set up basic output Console.WriteLine("Initializing Snowlight..."); // Cannot be localized before config+lang is loaded // Load configuration, translation, and re-configure output from config data ConfigManager.Initialize(Constants.DataFileDirectory + "server-main.cfg"); Output.InitializeStream(true, (OutputLevel)ConfigManager.GetValue("output.verbositylevel")); Output.WriteLine("Initializing Snowlight..."); Localization.Initialize(Constants.LangFileDirectory + "lang_" + ConfigManager.GetValue("lang") + ".lang"); // Process args foreach (string arg in args) { Output.WriteLine(Localization.GetValue("core.init.cmdarg", arg)); Input.ProcessInput(arg.Split(' ')); } try { // Initialize and test database Output.WriteLine(Localization.GetValue("core.init.mysql")); SqlDatabaseManager.Initialize(); // Initialize network components Output.WriteLine(Localization.GetValue("core.init.net", ConfigManager.GetValue("net.bind.port").ToString())); mServer = new SnowTcpListener(new IPEndPoint((IPAddress)ConfigManager.GetValue("net.bind.ip"), (int)ConfigManager.GetValue("net.bind.port")), (int)ConfigManager.GetValue("net.backlog"), new OnNewConnectionCallback( SessionManager.HandleIncomingConnection)); Output.WriteLine(Localization.GetValue("core.init.net", ConfigManager.GetValue("net.cmd.bind.port").ToString())); musServer = new SnowTcpListener(new IPEndPoint((IPAddress)ConfigManager.GetValue("net.cmd.bind.ip"), (int)ConfigManager.GetValue("net.cmd.bind.port")), (int)ConfigManager.GetValue("net.backlog"), new OnNewConnectionCallback( CommandListener.parse)); using (SqlDatabaseClient MySqlClient = SqlDatabaseManager.GetClient()) { Output.WriteLine(Localization.GetValue("core.init.dbcleanup")); PerformDatabaseCleanup(MySqlClient); Output.WriteLine(Localization.GetValue("core.init.game")); // Core DataRouter.Initialize(); // Sessions, characters Handshake.Initialize(); GlobalHandler.Initialize(); SessionManager.Initialize(); CharacterInfoLoader.Initialize(); RightsManager.Initialize(MySqlClient); SingleSignOnAuthenticator.Initialize(); // Room management and navigator RoomManager.Initialize(MySqlClient); RoomInfoLoader.Initialize(); RoomHandler.Initialize(); RoomItemHandler.Initialize(); Navigator.Initialize(MySqlClient); // Help and moderation HelpTool.Initialize(MySqlClient); ModerationPresets.Initialize(MySqlClient); ModerationTicketManager.Initialize(MySqlClient); ModerationHandler.Initialize(); ModerationBanManager.Initialize(MySqlClient); // Catalog, pets and items ItemDefinitionManager.Initialize(MySqlClient); CatalogManager.Initialize(MySqlClient); CatalogPurchaseHandler.Initialize(); Inventory.Initialize(); ItemEventDispatcher.Initialize(); PetDataManager.Initialize(MySqlClient); // Messenger MessengerHandler.Initialize(); // Achievements and quests AchievementManager.Initialize(MySqlClient); QuestManager.Initialize(MySqlClient); // Misc/extras CrossdomainPolicy.Initialize("Data\\crossdomain.xml"); InfobusManager.Initialize(); ActivityPointsWorker.Initialize(); BotManager.Initialize(MySqlClient); InterstitialManager.Initialize(MySqlClient); ChatEmotions.Initialize(); EffectsCacheWorker.Initialize(); RecyclerManager.Initialize(MySqlClient); DrinkSetManager.Initialize(MySqlClient); SongManager.Initialize(); TradeHandler.Initialize(); RandomGenerator.Initialize(); StatisticsSyncUtil.Initialize(); Wordfilter.Initialize(MySqlClient); // Polish WarningSurpressors.Initialize(); } } catch (Exception e) { HandleFatalError(Localization.GetValue("core.init.error.details", new string[] { e.Message, e.StackTrace })); return; } // Init complete TimeSpan TimeSpent = DateTime.Now - InitStart; Output.WriteLine(Localization.GetValue("core.init.ok", Math.Round(TimeSpent.TotalSeconds, 2).ToString()), OutputLevel.Notification); Output.WriteLine((string)Localization.GetValue("core.init.ok.cmdinfo"), OutputLevel.Notification); Console.Write("$" + Environment.UserName.ToLower() + "@snowlight> "); Console.Beep(); Input.Listen(); // This will make the main thread process console while Program.Alive. }
public Game(int conns) { this.ClientManager = new GameClientManager(conns); if (GoldTree.GetConfig().data["client.ping.enabled"] == "1") { this.ClientManager.method_10(); } DateTime now = DateTime.Now; Logging.Write("Connecting to the database.. "); try { using (DatabaseClient dbClient = GoldTree.GetDatabase().GetClient()) { Logging.WriteLine("completed!", ConsoleColor.Green); GoldTree.Game = this; this.LoadServerSettings(dbClient); this.BanManager = new ModerationBanManager(); this.RoleManager = new RoleManager(); this.HelpTool = new HelpTool(); this.Catalog = new Catalog(); this.Navigator = new Navigator(); this.ItemManager = new ItemManager(); this.RoomManager = new RoomManager(); this.AdvertisementManager = new AdvertisementManager(); this.PixelManager = new PixelManager(); this.AchievementManager = new AchievementManager(); this.ModerationTool = new ModerationTool(); this.BotManager = new BotManager(); this.Marketplace = new Marketplace(); this.QuestManager = new QuestManager(); this.GoldTreeEnvironment = new GoldTreeEnvironment(); this.Groups = new Groups(); GoldTreeEnvironment.LoadExternalTexts(dbClient); this.BanManager.Initialise(dbClient); this.RoleManager.method_0(dbClient); this.HelpTool.method_0(dbClient); this.HelpTool.method_3(dbClient); this.ModerationTool.method_1(dbClient); this.ModerationTool.method_2(dbClient); this.ItemManager.method_0(dbClient); this.Catalog.method_0(dbClient); this.Catalog.method_1(); this.Navigator.method_0(dbClient); this.RoomManager.method_8(dbClient); this.RoomManager.method_0(); this.NavigatorCache = new NavigatorCache(); this.AdvertisementManager.method_0(dbClient); this.BotManager.method_0(dbClient); AchievementManager.smethod_0(dbClient); this.PixelManager.method_0(); ChatCommandHandler.smethod_0(dbClient); this.QuestManager.method_0(); Groups.smethod_0(dbClient); this.RestoreStatistics(dbClient, 1); } } catch (MySql.Data.MySqlClient.MySqlException e) { Logging.WriteLine("failed!", ConsoleColor.Red); Logging.WriteLine(e.Message + " Check the given configuration details in config.conf\r\n", ConsoleColor.Yellow); GoldTree.Destroy("", true, true); return; } this.task_0 = new Task(new Action(LowPriorityWorker.Initialise)); this.task_0.Start(); StartGameLoop(); }
/// <summary> /// Attemps to authenticate an user using an SSO (Single Sign On) ticket. /// </summary> /// <param name="Ticket">The ticket string.</param> /// <returns>Character id on success, 0 on authentication failure.</returns> public static uint TryAuthenticate(SqlDatabaseClient MySqlClient, string Ticket, string RemoteAddress) { lock (mAuthSyncRoot) { // Remove any spacing from single sign on ticket Ticket = Ticket.Trim(); // Ensure the ticket meets the minimum length requirement if (Ticket.Length <= 5) { mFailedLoginCount++; Output.WriteLine("Login from " + RemoteAddress + " rejected: SSO ticket too short."); return(0); } // Debug string DebugTicket = (string)ConfigManager.GetValue("debug.sso"); if (DebugTicket.Length > 0 && Ticket == DebugTicket) { return(1); } // Check the database for a matching single sign on ticket uint UserId = 0; string LogName = string.Empty; MySqlClient.SetParameter("ticket", Ticket); DataRow Row = MySqlClient.ExecuteQueryRow("SELECT id,username FROM characters WHERE auth_ticket = @ticket LIMIT 1"); if (Row != null) { UserId = (uint)Row["id"]; LogName = (string)Row["username"]; RemoveTicket(MySqlClient, (uint)Row["id"], RemoteAddress); } // Check if ticket was OK + Check for user id bans if (UserId <= 0) { mFailedLoginCount++; Output.WriteLine("Login from " + RemoteAddress + " rejected: invalid SSO ticket."); return(0); } if (ModerationBanManager.IsUserIdBlacklisted(UserId)) { mFailedLoginCount++; Output.WriteLine("Login from " + RemoteAddress + " rejected: blacklisted IP address."); return(0); } // Disconnect any previous sessions for this account if (SessionManager.ContainsCharacterId(UserId)) { Session TargetSession = SessionManager.GetSessionByCharacterId(UserId); SessionManager.StopSession(TargetSession.Id); } // Mark as a successful login and continue Output.WriteLine("User " + LogName + " (ID " + UserId + ") has logged in from " + RemoteAddress + "."); MySqlClient.ExecuteNonQuery("UPDATE characters SET online = '1' WHERE id = " + UserId + " LIMIT 1"); mSuccessfulLoginCount++; return(UserId); } }
public Game(int conns) { this.ClientManager = new GameClientManager(conns); if (GoldTree.GetConfig().data["client.ping.enabled"] == "1") { this.ClientManager.method_10(); } DateTime arg_45_0 = DateTime.Now; Logging.smethod_0("Connecting to database..."); using (DatabaseClient adapter = GoldTree.GetDatabase().GetClient()) { Logging.WriteLine("completed!"); GoldTree.Class3_0 = this; this.method_17(adapter); this.BanManager = new ModerationBanManager(); this.RoleManager = new RoleManager(); this.HelpTool = new HelpTool(); this.Catalog = new Catalog(); this.Navigator = new Navigator(); this.ItemManager = new ItemManager(); this.RoomManager = new RoomManager(); this.AdvertisementManager = new AdvertisementManager(); this.PixelManager = new PixelManager(); this.AchievementManager = new AchievementManager(); this.ModerationTool = new ModerationTool(); this.BotManager = new BotManager(); this.Marketplace = new Marketplace(); this.QuestManager = new QuestManager(); this.class8_0 = new GoldTreeEnvironment(); this.Groups = new Groups(); GoldTreeEnvironment.smethod_0(adapter); this.BanManager.method_0(adapter); LicenseTools.String_5 = "FB3A78763D7819F39D79781F6F8DFCCD"; this.RoleManager.method_0(adapter); this.HelpTool.method_0(adapter); this.HelpTool.method_3(adapter); this.ModerationTool.method_1(adapter); this.ModerationTool.method_2(adapter); LicenseTools.String_5 = "B8AC48FA7DB791129E59CBA4BC2CC5DD"; this.ItemManager.method_0(adapter); LicenseTools.String_5 = "7866151A40EEB2379D61F640B26ED23B"; this.Catalog.method_0(adapter); this.Catalog.method_1(); this.Navigator.method_0(adapter); LicenseTools.String_5 = LicenseTools.String_6; this.RoomManager.method_8(adapter); this.RoomManager.method_0(); this.class276_0 = new NavigatorCache(); this.AdvertisementManager.method_0(adapter); this.BotManager.method_0(adapter); LicenseTools.String_5 = LicenseTools.String_3; LicenseTools.String_5 = LicenseTools.String_6.Length.ToString(); AchievementManager.smethod_0(adapter); this.PixelManager.method_0(); ChatCommandHandler.smethod_0(adapter); LicenseTools.String_5 = LicenseTools.String_3.Length.ToString(); this.QuestManager.method_0(); Groups.smethod_0(adapter); this.method_0(adapter, 1); } this.task_0 = new Task(new Action(LowPriorityWorker.smethod_0)); this.task_0.Start(); }
/// <summary> /// Initializes a new instance of the <see cref="Game"/> class. /// </summary> /// <param name="conns">The conns.</param> internal Game(int conns) { Console.WriteLine(); Console.WriteLine(@" ╔═╗╔╗╔╗──── ╔═╗╔═╗ ", @""); Console.WriteLine(@" ║╔╝╠╣║╚╗╔╦╗ ║╬║║╬║ ", @""); Console.WriteLine(@" ║╚╗║║║╔╣║║║ ║╗╣║╔╝", @""); Console.WriteLine(@" ╚═╝╚╝╚═╝╠╗║ ╚╩╝╚╝─ ", @""); Console.WriteLine(@" ────────╚═╝ ────── ", @""); Console.WriteLine(); Out.WriteLine(@"Mereos Developer", @"", ConsoleColor.Red); Out.WriteLine(@"Emulador desenvolvido para CityRP.", @"", ConsoleColor.Red); Console.WriteLine(); Out.WriteLine(@"CityRP Emulador está inicializando...", @"", ConsoleColor.Green); Console.WriteLine(); _clientManager = new GameClientManager(); using (var queryReactor = Plus.GetDatabaseManager().GetQueryReactor()) { AbstractBar bar = new AnimatedBar(); const int wait = 15, end = 5; uint itemsLoaded; uint navigatorLoaded; uint roomModelLoaded; uint achievementLoaded; uint pollLoaded; Progress(bar, wait, end, "Loading Bans..."); _banManager = new ModerationBanManager(); _banManager.Init(); Progress(bar, wait, end, "Loading Roles..."); _roleManager = new RoleManager(); _roleManager.LoadRights(queryReactor); Progress(bar, wait, end, "Loading Items..."); _itemManager = new ItemManager(); _itemManager.LoadItems(queryReactor, out itemsLoaded); Progress(bar, wait, end, "Loading Catalog..."); _catalog = new Catalog(); Progress(bar, wait, end, "Loading Clothing..."); _clothingManager = new ClothingManager(); _clothingManager.Initialize(queryReactor); Progress(bar, wait, end, "Loading Crafting..."); _craftingManager = new CraftingManager(); _craftingManager.Initialize(queryReactor); Progress(bar, wait, end, "Loading Rooms..."); _roomManager = new RoomManager(); _roomManager.LoadModels(queryReactor, out roomModelLoaded); Progress(bar, wait, end, "Loading Navigator..."); _navigator = new Navigator(); _navigator.Initialize(queryReactor, out navigatorLoaded); Progress(bar, wait, end, "Loading Groups..."); _groupManager = new GroupManager(); _groupManager.InitGroups(); _globalInventory = new InventoryGlobal(); Progress(bar, wait, end, "Loading HotelView..."); _hotelView = new HotelView(); Progress(bar, wait, end, "Loading ModerationTool..."); _moderationTool = new ModerationTool(); _moderationTool.LoadMessagePresets(queryReactor); _moderationTool.LoadPendingTickets(queryReactor); Progress(bar, wait, end, "Loading Bots..."); _botManager = new BotManager(); Progress(bar, wait, end, "Loading Quests..."); _questManager = new QuestManager(); _questManager.Initialize(queryReactor); Progress(bar, wait, end, "Loading Events..."); _events = new RoomEvents(); Progress(bar, wait, end, "Loading Ranks..."); _roomRankConfig = new RoomRankConfig(); _roomRankConfig.Initialize(); Progress(bar, wait, end, "Loading Talents..."); _talentManager = new TalentManager(); _talentManager.Initialize(queryReactor); Progress(bar, wait, end, "Loading Pinata..."); _pinataHandler = new PinataHandler(); _pinataHandler.Initialize(queryReactor); Progress(bar, wait, end, "Loading Crackable Eggs..."); _crackableEggHandler = new CrackableEggHandler(); _crackableEggHandler.Initialize(queryReactor); Progress(bar, wait, end, "Loading Polls..."); _pollManager = new PollManager(); _pollManager.Init(queryReactor, out pollLoaded); Progress(bar, wait, end, "Loading Achievements..."); _achievementManager = new AchievementManager(queryReactor, out achievementLoaded); Progress(bar, wait, end, "Loading StaticMessages ..."); StaticMessagesManager.Load(); Progress(bar, wait, end, "Loading Guides ..."); _guideManager = new GuideManager(); #region Roleplay Console.Write("[" + DateTime.Now.ToString("HH:mm:ss") + "] >> Lista de procurados gerada!"); Console.WriteLine(" -> READY!"); RoleplayManager.GenerateWantedList(); JobManager.init(); Console.Write("[" + DateTime.Now.ToString("HH:mm:ss") + "] >> " + JobManager.JobData.Count + " Trabalhos carregados"); Console.WriteLine(" -> READY!"); GetGroupManager().InitGroups(); GangManager.init(); Console.Write("[" + DateTime.Now.ToString("HH:mm:ss") + "] >> " + GangManager.GangData.Count + " Gangues carregadas"); Console.WriteLine(" -> READY!"); WeaponManager.init(); Console.Write("[" + DateTime.Now.ToString("HH:mm:ss") + "] >> " + WeaponManager.WeaponsData.Count + " Armas carregadas"); Console.WriteLine(" -> READY!"); ColourManager.Initialize(); MafiaWars = new MafiaWarManager(); Console.Write("[" + DateTime.Now.ToString("HH:mm:ss") + "] >> Mini Games iniciados!"); Console.WriteLine(" -> READY!"); RoleplayManager.init(); #endregion Manager.Cache.StartProcess(); using (var dbCleanUp = Plus.GetDatabaseManager().GetQueryReactor()) DatabaseCleanup(dbCleanUp); Console.Write("\r".PadLeft(Console.WindowWidth - Console.CursorLeft - 1)); } }