public static void Destroy() { Program.DeleteMenu(Program.GetSystemMenu(Program.GetConsoleWindow(), true), Program.SC_CLOSE, Program.MF_BYCOMMAND); Logging.WriteLine("Destroying EssentialEmu environment..."); if (Essential.GetGame() != null) { Essential.GetGame().ContinueLoading(); Essential.Internal_Game = null; } if (Essential.GetSocketsManager() != null) { Logging.WriteLine("Destroying connection manager."); Essential.GetSocketsManager().method_3().method_2(); //Essential.smethod_14().Destroy(); Essential.GetSocketsManager().method_0(); Essential.SocketsManager = null; } if (Essential.GetDatabase() != null) { try { Logging.WriteLine("Destroying database manager."); MySqlConnection.ClearAllPools(); Essential.DatabaseManager = null; } catch { } } Logging.WriteLine("Uninitialized successfully. Closing."); }
public void Deactivate() { this.Enabled = false; using (DatabaseClient @class = Essential.GetDatabase().GetClient()) { @class.ExecuteQuery("UPDATE room_items_moodlight SET enabled = '0' WHERE item_id = '" + this.ItemId + "' LIMIT 1"); } }
public static int GetColorByHTMLColor(string htmlcolor) { try { using (DatabaseClient adapter = Essential.GetDatabase().GetClient()) { return(adapter.ReadInt32("SELECT Id FROM groups_elements WHERE ExtraData1 = '" + htmlcolor + "' AND Type = 'Color3' LIMIT 1")); } } catch { } return(0); }
/*public static string GenerateGuildImage(int guildBase, int guildBaseColor, List<int> states) * { * var image = new StringBuilder(String.Format("b{0:00}{1:00}", guildBase, guildBaseColor)); * for (var i = 0; i < 3 * 4; i += 3) * image.Append(i >= states.Count ? "s" : String.Format("s{0:00}{1:00}{2}", states[i], states[i + 1], states[i + 2])); * return image.ToString(); * }*/ public static string GetHtmlColor(int Color) { try { using (DatabaseClient adapter = Essential.GetDatabase().GetClient()) { return(adapter.ReadString("SELECT ExtraData1 FROM groups_elements WHERE id = '" + Color + "' AND Type = 'Color3'")); } } catch { } return(""); }
public void UpdatePreset(int int_1, string string_0, int int_2, bool bool_1) { string text = null; if (this.IsValidColor(string_0) && this.IsValidIntensity(int_2)) { switch (int_1) { case 1: { text = "one"; goto IL_44; } case 2: { text = "two"; goto IL_44; } case 3: { text = "three"; goto IL_44; } } /*goto IL_2E;*/ IL_44: using (DatabaseClient @class = Essential.GetDatabase().GetClient()) { @class.AddParamWithValue("color", string_0); @class.ExecuteQuery(string.Concat(new object[] { "UPDATE room_items_moodlight SET preset_", text, " = '@color,", int_2, ",", Essential.BooleanToString(bool_1), "' WHERE item_id = '", this.ItemId, "' LIMIT 1" })); } this.GetPreset(int_1).ColorCode = string_0; this.GetPreset(int_1).ColorIntensity = int_2; this.GetPreset(int_1).BackgroundOnly = bool_1; } }
public static GroupsManager AddGuild(int id, string name, int ownerid, string ownername, string description, int roomid, string image, int customcolor1, int customcolor2, int guildbase, int guildbasecolor, List <int> guildstates, string htmlcolor1, string htmlcolor2, string datecreated, Dictionary <int, string> members, List <int> petitions, int type, int rightstype) { using (DatabaseClient dbClient = Essential.GetDatabase().GetClient()) { try { try { id = dbClient.ReadInt32("SELECT ID FROM groups ORDER BY ID DESC LIMIT 1") + 1; } catch { id = 1; } string str = ""; foreach (int num in guildstates) { str = str + num + ";"; } str = str.Substring(0, str.Length - 1); dbClient.AddParamWithValue("id", id); dbClient.AddParamWithValue("name", name); dbClient.AddParamWithValue("ownerid", ownerid); dbClient.AddParamWithValue("description", description); dbClient.AddParamWithValue("roomid", roomid); dbClient.AddParamWithValue("image", image); dbClient.AddParamWithValue("htmlcolor1", htmlcolor1); dbClient.AddParamWithValue("htmlcolor2", htmlcolor2); dbClient.AddParamWithValue("datecreated", datecreated); dbClient.AddParamWithValue("guildstates", str); dbClient.AddParamWithValue("guildbase", guildbase); dbClient.AddParamWithValue("guildbasecolor", guildbasecolor); dbClient.ExecuteQuery("INSERT INTO groups (`id`,`name`,`ownerid`,`desc`,`roomid`,`badge`,`color_one`,`color_two`,`created`,`GuildStates`,`GuildBase`,`GuildBaseColor`) VALUES (@id, @name, @ownerid, @description, @roomid, @image, @htmlcolor1, @htmlcolor2, @datecreated,@guildstates,@guildbase,@guildbasecolor);"); dbClient.ExecuteQuery("INSERT INTO group_memberships (groupid, userid) VALUES (" + id + "," + ownerid + ")"); }catch (Exception ex) { Console.WriteLine(ex.ToString()); } GroupsManager newGuild = new GroupsManager(id, dbClient.ReadDataRow("SELECT * FROM groups WHERE id=" + id + " LIMIT 1"), dbClient); Groups.GroupsManager.Add(id, newGuild); return(newGuild); } }
public MoodlightData(uint mItemId) { this.ItemId = mItemId; DataRow Row = null; using (DatabaseClient @class = Essential.GetDatabase().GetClient()) { Row = @class.ReadDataRow("SELECT enabled,current_preset,preset_one,preset_two,preset_three FROM room_items_moodlight WHERE item_id = '" + mItemId + "' LIMIT 1"); } if (Row == null) { throw new ArgumentException(); } this.Enabled = Essential.StringToBoolean(Row["enabled"].ToString()); this.CurrentPreset = (int)Row["current_preset"]; this.Presets = new List <MoodlightPreset>(); this.Presets.Add(this.GeneratePreset((string)Row["preset_one"])); this.Presets.Add(this.GeneratePreset((string)Row["preset_two"])); this.Presets.Add(this.GeneratePreset((string)Row["preset_three"])); }
public static void RemoveGroup(GroupsManager guild) { using (DatabaseClient dbClient = Essential.GetDatabase().GetClient()) { dbClient.ExecuteQuery("DELETE FROM groups WHERE id=" + guild.Id); dbClient.ExecuteQuery("DELETE FROM group_memberships WHERE groupid=" + guild.Id); dbClient.ExecuteQuery("DELETE FROM group_requests WHERE groupid=" + guild.Id); dbClient.ExecuteQuery("UPDATE user_stats SET groupid=0 WHERE groupid=" + guild.Id); //dbClient.ExecuteQuery("UPDATE items SET guild_data='0;0;0' WHERE guild_data LIKE '" + guild.Id + ";%'"); foreach (GameClient gc in Essential.GetGame().GetClientManager().GetClients()) { if (gc != null && gc.GetHabbo() != null && gc.GetHabbo().InGuild(guild.Id)) { if (gc.GetHabbo().FavouriteGroup == guild.Id) { gc.GetHabbo().FavouriteGroup = 0; } gc.GetHabbo().RefreshGuilds(); } } Groups.GroupsManager.Remove(guild.Id); } }
internal static void InitGroups() { BaseBadges = new List <GroupsPartsData>(); SymbolBadges = new List <GroupsPartsData>(); ColorBadges1 = new List <GroupsPartsData>(); ColorBadges2 = new List <GroupsPartsData>(); ColorBadges3 = new List <GroupsPartsData>(); using (DatabaseClient adapter = Essential.GetDatabase().GetClient()) { DataTable table = adapter.ReadDataTable("SELECT * FROM groups_elements"); foreach (DataRow row in table.Rows) { GroupsPartsData data; if (row["Type"].ToString() == "Base") { data = new GroupsPartsData { Id = (int)row["Id"], ExtraData1 = (string)row["ExtraData1"], ExtraData2 = (string)row["ExtraData2"] }; BaseBadges.Add(data); } else if (row["ExtraData1"].ToString().StartsWith("symbol_")) { data = new GroupsPartsData { Id = (int)row["Id"], ExtraData1 = (string)row["ExtraData1"], ExtraData2 = (string)row["ExtraData2"] }; SymbolBadges.Add(data); } else if (row["Type"].ToString() == "Color1") { data = new GroupsPartsData { Id = (int)row["Id"], ExtraData1 = (string)row["ExtraData1"] }; ColorBadges1.Add(data); } else if (row["Type"].ToString() == "Color2") { data = new GroupsPartsData { Id = (int)row["Id"], ExtraData1 = (string)row["ExtraData1"] }; ColorBadges2.Add(data); } else if (row["Type"].ToString() == "Color3") { data = new GroupsPartsData { Id = (int)row["Id"], ExtraData1 = (string)row["ExtraData1"] }; ColorBadges3.Add(data); } } } }
public void Initialize() { Essential.consoleWriter = new ConsoleWriter(Console.Out); Console.SetOut(Essential.consoleWriter); try { Console.WindowWidth = 130; Console.WindowHeight = 36; } catch { } Essential.ServerStarted = DateTime.Now; Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(); Console.WriteLine(@" ______ _ _ _ "); Console.WriteLine(@" | ____| | | (_) | |"); Console.WriteLine(@" | |__ ___ ___ ___ _ __ | |_ _ __ _| |"); Console.WriteLine(@" | __| / __/ __|/ _ \ '_ \| __| |/ _` | |"); Console.WriteLine(@" | |____\__ \__ \ __/ | | | |_| | (_| | |"); Console.WriteLine(@" |______|___/___/\___|_| |_|\__|_|\__,_|_|"); Console.WriteLine(); Console.WriteLine(); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" Essential Emulator Build " + Build + " by " + Creator); Console.WriteLine(); Console.WriteLine(" Credits to: Meth0d (Uber), Sojobo (Phoenix), Juniori (GTE) & Rootkit (Essential)"); Console.WriteLine(); Console.ResetColor(); try { Essential.Configuration = new ConfigurationData("config.conf"); DateTime now = DateTime.Now; try { Essential.SWFDirectory = Essential.GetConfig().data["web.api.furni.hof_furni"]; } catch { } if (!Directory.Exists("API")) { Directory.CreateDirectory("API"); } DatabaseServer dbServer = new DatabaseServer(Essential.GetConfig().data["db.hostname"], uint.Parse(Essential.GetConfig().data["db.port"]), Essential.GetConfig().data["db.username"], Essential.GetConfig().data["db.password"]); Database database = new Database(Essential.GetConfig().data["db.name"], uint.Parse(Essential.GetConfig().data["db.pool.minsize"]), uint.Parse(Essential.GetConfig().data["db.pool.maxsize"])); Essential.DatabaseManager = new DatabaseManager(dbServer, database); GroupsPartsData.InitGroups(); try { using (DatabaseClient dbClient = Essential.GetDatabase().GetClient()) { dbClient.ExecuteQuery("SET @@global.sql_mode= '';"); dbClient.ExecuteQuery("UPDATE users SET online = '0'"); dbClient.ExecuteQuery("UPDATE rooms SET users_now = '0'"); } Essential.Internal_Game.ContinueLoading(); } catch { } Essential.Internal_Game = new Game(int.Parse(Essential.GetConfig().data["game.tcp.conlimit"])); Essential.PacketManager = new PacketManager(); Essential.PacketManager.Load(); Essential.mhandler = new MobileHandler(); Essential.mhandler.Load(); Console.WriteLine(Essential.PacketManager.Count + " Packets loaded!"); Essential.antiAdSystem = new AntiAd(); Essential.MusListener = new MusListener(Essential.GetConfig().data["mus.tcp.bindip"], int.Parse(Essential.GetConfig().data["mus.tcp.port"]), Essential.GetConfig().data["mus.tcp.allowedaddr"].Split(new char[] { ';' }), 20); Essential.SocketsManager = new SocketsManager(Essential.GetConfig().data["game.tcp.bindip"], int.Parse(Essential.GetConfig().data["game.tcp.port"]), int.Parse(Essential.GetConfig().data["game.tcp.conlimit"])); //ConnectionManage = new ConnectionHandeling(Essential.GetConfig().data["game.tcp.port"], int.Parse(Essential.GetConfig().data["game.tcp.conlimit"]), int.Parse(Essential.GetConfig().data["game.tcp.conlimit"]), true); Essential.HeadImagerURL = Essential.GetConfig().data["eventstream.imager.url"]; using (DatabaseClient dbClient = Essential.GetDatabase().GetClient()) { dbClient.ExecuteQuery("UPDATE server_status SET bannerdata='" + EssentialEnvironment.globalCrypto.Prime + ":" + EssentialEnvironment.globalCrypto.Generator + "';"); } Essential.SocketsManager.method_3().method_0(); webSocketServerManager = new WebSocketServerManager(Essential.GetConfig().data["websocket.url"]); Console.WriteLine("Server started at " + Essential.GetConfig().data["websocket.url"]); webManager = new WebManager(); TimeSpan timeSpan = DateTime.Now - now; Logging.WriteLine(string.Concat(new object[] { "Server -> READY! (", timeSpan.Seconds, " s, ", timeSpan.Milliseconds, " ms)" })); using (DatabaseClient dbClient = Essential.GetDatabase().GetClient()) { dbClient.ExecuteQuery("UPDATE server_status SET server_started='" + Convert.ToInt32(GetUnixTimestamp()) + "'"); } Console.Beep(); } catch (KeyNotFoundException KeyNotFoundException) { Logging.WriteLine("Failed to boot, key not found: " + KeyNotFoundException); Logging.WriteLine("Press any key to shut down ..."); Console.ReadKey(true); Essential.Destroy(); } catch (InvalidOperationException ex) { Logging.WriteLine("Failed to initialize EssentialEmulator: " + ex.Message); Logging.WriteLine("Press any key to shut down ..."); Console.ReadKey(true); Essential.Destroy(); } }