private void RestartServer_Click(object sender, EventArgs e) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("System Manager"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(1728059989); mail.SetAllianceName("Legendary Administrator"); mail.SetMessage("System is about to restart in a few moments."); mail.SetSenderLevel(500); mail.SetSenderLeagueId(22); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); var ps = new ShutdownStartedMessage(onlinePlayer.GetClient()); var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); ps.SetCode(5); p.SetAvatarStreamEntry(mail); pm.SetChatMessage("System is about to restart in a few moments."); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName("System Manager"); PacketManager.ProcessOutgoingPacket(p); PacketManager.ProcessOutgoingPacket(ps); PacketManager.ProcessOutgoingPacket(pm); } StatusLabel.Text = "Status : Restart"; kServerConsole.Text += Environment.NewLine + "Message Send To Users And Server Is Restarting ..."; Console.WriteLine("Message Send To Users And Server Is Restarting ..."); Program.RestartProgram(); }
public override async void Execute(Level level) { if (level.Avatar.AccountPrivileges >= GetRequiredAccountPrivileges()) { var clanid = level.Avatar.AllianceId; if (clanid != 0) { Alliance _Alliance = ObjectManager.GetAlliance(level.Avatar.AllianceId); foreach (var pl in _Alliance.GetAllianceMembers()) { if (pl.Role == 2) { pl.Role = 4; break; } } level.Avatar.SetAllianceRole(2); } } else { var p = new GlobalChatLineMessage(level.Client) { Message = "GameOp command failed. Access to Admin GameOP is prohibited.", HomeId = 0, CurrentHomeId = 0, LeagueId = 22, PlayerName = "UCS Bot" }; Processor.Send(p); } }
/// <summary> /// Called when a message is received. /// </summary> internal void ReceiveMessage(AvatarEntry entry, string message) { if (!string.IsNullOrWhiteSpace(message)) { message = ServiceChat.Regex.Replace(message, " "); GlobalChatLineMessage globalChatLineMessage = new GlobalChatLineMessage(); globalChatLineMessage.SetMessage(message); globalChatLineMessage.SetAvatarId(entry.GetAvatarId()); globalChatLineMessage.SetHomeId(entry.GetHomeId()); globalChatLineMessage.SetAvatarName(entry.GetAvatarName()); globalChatLineMessage.SetAvatarExpLevel(entry.GetAvatarExpLevel()); globalChatLineMessage.SetAvatarLeagueType(entry.GetAvatarLeagueType()); if (entry.GetAllianceId() != null) { globalChatLineMessage.SetAllianceId(entry.GetAllianceId()); globalChatLineMessage.SetAllianceName(entry.GetAllianceName()); globalChatLineMessage.SetAllianceBadgeId(entry.GetAllianceBadgeId()); } globalChatLineMessage.Encode(); for (int i = 0; i < this._sessions.Count; i++) { this._sessions[i].SendPiranhaMessage(NetUtils.SERVICE_NODE_TYPE_PROXY_CONTAINER, globalChatLineMessage); } globalChatLineMessage.Destruct(); } }
private void serverstatusbtn_Click_1(object sender, EventArgs e) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("System Manager"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(1728059989); mail.SetAllianceName("Legendary Administrator"); mail.SetMessage("Latest Server Status:\nConnected Players:" + ResourcesManager.GetConnectedClients().Count + "\nIn Memory Alliances:" + ObjectManager.GetInMemoryAlliances().Count + "\nIn Memory Levels:" + ResourcesManager.GetInMemoryLevels().Count); mail.SetSenderLeagueId(22); mail.SetSenderLevel(500); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage("Our current Server Status is now in your mailbox!"); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName("System Manager"); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); PacketManager.ProcessOutgoingPacket(pm); } ConsoleWrite("Server Status Sent to Player's."); }
public override async void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { var clanid = level.GetPlayerAvatar().GetAllianceId(); if (clanid != 0) { Alliance _Alliance = await ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId()); foreach (var pl in _Alliance.GetAllianceMembers()) { if (pl.GetRole() == 2) { pl.SetRole(4); break; } } level.GetPlayerAvatar().SetAllianceRole(2); } } else { var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage("GameOp command failed. Access to Admin GameOP is prohibited."); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("UCS Bot"); PacketProcessor.Send(p); } }
public override async void Execute(Level level) { if (level.Avatar.AccountPrivileges >= GetRequiredAccountPrivileges()) { Resources.DatabaseManager.Save(level); var p = new GlobalChatLineMessage(level.Client) { Message = "Game Successfuly Saved!", HomeId = 0, CurrentHomeId = 0, LeagueId = 22, PlayerName = "UCS Bot" }; Processor.Send(p); } else { var p = new GlobalChatLineMessage(level.Client) { Message = "GameOp command failed. Access to Admin GameOP is prohibited.", HomeId = 0, CurrentHomeId = 0, LeagueId = 22, PlayerName = "UCS Bot" }; Processor.Send(p); } }
private void RMTimer_Tick(object sender, EventArgs e) { if (MessageNumber == 0) { foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage(RMessageText1.Text); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName(RSenderNameTextBox.Text); PacketManager.ProcessOutgoingPacket(pm); } MessageNumber++; ConsoleWrite("Auto Message System: Message One Sent."); } else if (MessageNumber == 1) { foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage(RMessageText2.Text); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName(RSenderNameTextBox.Text); PacketManager.ProcessOutgoingPacket(pm); } MessageNumber++; ConsoleWrite("Auto Message System: Message Two Sent."); } else if (MessageNumber == 2) { foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage(RMessageText3.Text); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName(RSenderNameTextBox.Text); PacketManager.ProcessOutgoingPacket(pm); } MessageNumber++; ConsoleWrite("Auto Message System: Message Three Sent."); } else if (MessageNumber == 3) { foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage(RMessageText4.Text); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName(RSenderNameTextBox.Text); PacketManager.ProcessOutgoingPacket(pm); } MessageNumber = 0; ConsoleWrite("Auto Message System: Message Four Sent."); } }
public static void AddMessage(GlobalChatLineMessage ch) { try { Messages.Add(ch); } catch (Exception) { } }
private void metroButton4_Click(object sender, EventArgs e) { foreach (var onlineplayer in ResourcesManager.GetOnlinePlayers()) { var p = new GlobalChatLineMessage(onlineplayer.GetClient()); p.SetChatMessage(metroTextBox8.Text); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName(metroTextBox7.Text); PacketManager.ProcessOutgoingPacket(p); } }
private void materialRaisedButton9_Click(object sender, EventArgs e) { foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage(textBox21.Text); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName(textBox22.Text); PacketManager.ProcessOutgoingPacket(pm); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { var l = level.GetClient(); var pm = new GlobalChatLineMessage(l); pm.SetPlayerName("System Manager"); pm.SetLeagueId(22); pm.SetChatMessage("Your id: " + level.GetPlayerAvatar().GetId()); pm.SetPlayerId(0); PacketManager.ProcessOutgoingPacket(pm); } }
private void GlobalChatBtn_Click_1(object sender, EventArgs e) { var mail = new AllianceMailStreamEntry(); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage(CMessageTextBox.Text); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName(MessageSenderNameTextBox.Text); PacketManager.ProcessOutgoingPacket(pm); } }
private void materialRaisedButton20_Click(object sender, EventArgs e) { var Name = textBox1.Text; int Interval = Convert.ToInt32(((textBox2.Text + 0) + 0) + 0); var Message = textBox3.Text; if (Convert.ToInt32(Interval) < 1) { MessageBox.Show("The Interval can't be null!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { foreach (Level onlinePlayer in ResourcesManager.m_vOnlinePlayers) { var pm = new GlobalChatLineMessage(onlinePlayer.Client) { Message = Message, HomeId = 0, CurrentHomeId = 0, LeagueId = 22, PlayerName = Name }; pm.Send(); } Count++; materialLabel13.Text = Convert.ToString(Count); T.Interval = Interval; T.Elapsed += ((s, o) => { foreach (Level onlinePlayer in ResourcesManager.m_vOnlinePlayers) { var pm = new GlobalChatLineMessage(onlinePlayer.Client) { Message = Message, HomeId = 0, CurrentHomeId = 0, LeagueId = 22, PlayerName = Name }; pm.Send(); } Count++; materialLabel13.Text = Convert.ToString(Count); }); T.Start(); } }
/* END OF CONFIG EDITOR TAB*/ /* MAIL TAB*/ //Send To Gobal Chat Button private void materialRaisedButton9_Click(object sender, EventArgs e) { foreach (var onlinePlayer in ResourcesManager.m_vOnlinePlayers) { var pm = new GlobalChatLineMessage(onlinePlayer.Client) { Message = textBox21.Text, HomeId = 0, CurrentHomeId = 0, LeagueId = 22, PlayerName = textBox22.Text }; pm.Send(); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { /* Starting saving of players */ var pm = new GlobalChatLineMessage(level.GetClient()); pm.SetChatMessage("Starting saving process of every player!"); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName("UCS Bot"); pm.Send(); var levels = DatabaseManager.Instance.Save(ResourcesManager.GetInMemoryLevels()); levels.Wait(); var p = new GlobalChatLineMessage(level.GetClient()); /* Confirmation */ p.SetChatMessage("All Players are saved!"); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("UCS Bot"); p.Send(); /* Starting saving of Clans */ var pmm = new GlobalChatLineMessage(level.GetClient()); pmm.SetPlayerId(0); pmm.SetLeagueId(22); pmm.SetPlayerName("UCS Bot"); pmm.SetChatMessage("Starting with saving of every Clan!"); pmm.Send(); /* Confirmation */ var clans = DatabaseManager.Instance.Save(ResourcesManager.GetInMemoryAlliances()); clans.Wait(); var pmp = new GlobalChatLineMessage(level.GetClient()); pmp.SetPlayerId(0); pmp.SetLeagueId(22); pmp.SetPlayerName("UCS Bot"); pmp.SetChatMessage("All Clans are saved!"); pmp.Send(); } else { var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage("GameOp command failed. Access to Admin GameOP is prohibited."); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("UCS Bot"); p.Send(); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { //Use this Command before you restart your server! /* Starting saving of players */ var pm = new GlobalChatLineMessage(level.GetClient()); pm.SetChatMessage("Starting saving process of every player!"); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName("UCS Bot"); PacketManager.ProcessOutgoingPacket(pm); DatabaseManager.Singelton.Save(ResourcesManager.GetInMemoryLevels()); var p = new GlobalChatLineMessage(level.GetClient()); /* Confirmation */ p.SetChatMessage("All Players are saved!"); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("UCS Bot"); PacketManager.ProcessOutgoingPacket(p); /* Starting saving of Clans */ var pmm = new GlobalChatLineMessage(level.GetClient()); pmm.SetPlayerId(0); pmm.SetLeagueId(22); pmm.SetPlayerName("UCS Bot"); pmm.SetChatMessage("Starting with saving of every Clan!"); PacketManager.ProcessOutgoingPacket(pmm); /* Confirmation */ DatabaseManager.Singelton.Save(ObjectManager.GetInMemoryAlliances()); var pmp = new GlobalChatLineMessage(level.GetClient()); pmp.SetPlayerId(0); pmp.SetLeagueId(22); pmp.SetPlayerName("UCS Bot"); pmp.SetChatMessage("All Clans are saved!"); PacketManager.ProcessOutgoingPacket(pmp); } else { var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage("GameOp command failed. Access to Admin GameOP is prohibited."); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("UCS Bot"); PacketManager.ProcessOutgoingPacket(p); } }
public override void Execute(Level level) { if (level.Avatar.AccountPrivileges >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { GlobalChatLineMessage _MSG = new GlobalChatLineMessage(level.Client); _MSG.PlayerName = "Ultrapowa Clash Server"; _MSG.LeagueId = 22; _MSG.Message = "Your ID: " + level.Avatar.UserId; _MSG.Send(); } } else { SendCommandFailedMessage(level.Client); } }
private void materialRaisedButton20_Click(object sender, EventArgs e) { var Name = textBox1.Text; int Interval = Convert.ToInt32(((textBox2.Text + 0) + 0) + 0); var Message = textBox3.Text; if (Convert.ToInt32(Interval) < 1) { MessageBox.Show("The Interval can't be null!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { foreach (Level onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage(Message); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName(Name); PacketProcessor.Send(pm); } Count++; materialLabel13.Text = Convert.ToString(Count); T.Interval = Interval; T.Elapsed += ((s, o) => { foreach (Level onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage(Message); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName(Name); PacketProcessor.Send(pm); } Count++; materialLabel13.Text = Convert.ToString(Count); }); T.Start(); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { DatabaseManager.Singelton.Save(level); var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage("Game Successfuly Saved!"); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("UCS Bot"); PacketManager.ProcessOutgoingPacket(p); } else { var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage("GameOp command failed. Access to Admin GameOP is prohibited."); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("UCS Bot"); PacketManager.ProcessOutgoingPacket(p); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { DatabaseManager.Instance.Save(level); var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage("Game Successful Saved!"); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("CoM Bot"); p.Send(); } else { var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage("GameOp command failed. Access to Admin GameOP is prohibited."); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("CoM Bot"); p.Send(); } }
public void PublishMessage(LogicClientAvatar logicClientAvatar, string message) { GlobalChatLineMessage globalChatLineMessage = new GlobalChatLineMessage(); globalChatLineMessage.SetMessage(message); globalChatLineMessage.SetAvatarName(logicClientAvatar.GetName()); globalChatLineMessage.SetAvatarExpLevel(logicClientAvatar.GetExpLevel()); globalChatLineMessage.SetAvatarLeagueType(logicClientAvatar.GetLeagueType()); globalChatLineMessage.SetAvatarId(logicClientAvatar.GetId()); globalChatLineMessage.SetHomeId(logicClientAvatar.GetCurrentHomeId()); if (logicClientAvatar.IsInAlliance()) { globalChatLineMessage.SetAllianceId(logicClientAvatar.GetAllianceId()); globalChatLineMessage.SetAllianceName(logicClientAvatar.GetAllianceName()); globalChatLineMessage.SetAllianceBadgeId(logicClientAvatar.GetAllianceBadgeId()); } foreach (ChatSession session in this.m_sessions.Values) { session.SendPiranhaMessage(globalChatLineMessage, 1); } }
public override void Process(Level level) { if (Message.Length > 0) { if (Message[0] == '/') { var obj = GameOpCommandFactory.Parse(Message); if (obj != null) { var player = ""; if (level != null) { player += " (" + level.GetPlayerAvatar().GetId() + ", " + level.GetPlayerAvatar().GetAvatarName() + ")"; } ((GameOpCommand)obj).Execute(level); } } else { if (File.Exists(@"filter.ucs")) { var senderId = level.GetPlayerAvatar().GetId(); var senderName = level.GetPlayerAvatar().GetAvatarName(); var badwords = new List <string>(); var r = new StreamReader(@"filter.ucs"); var line = ""; while ((line = r.ReadLine()) != null) { badwords.Add(line); } var badword = badwords.Any(s => Message.Contains(s)); if (badword) { var p = new GlobalChatLineMessage(level.GetClient()); p.SetPlayerId(0); p.SetPlayerName("UCS Chat Filter System"); p.SetLeagueId(22); p.SetChatMessage("DETECTED BAD WORD! PLEASE AVOID USING BAD WORDS!"); PacketManager.ProcessOutgoingPacket(p); return; } foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new GlobalChatLineMessage(onlinePlayer.GetClient()); if (onlinePlayer.GetAccountPrivileges() > 0) { p.SetPlayerName(senderName + " #" + senderId); } else { p.SetPlayerName(senderName); } p.SetChatMessage(Message); p.SetPlayerId(senderId); p.SetLeagueId(level.GetPlayerAvatar().GetLeagueId()); p.SetAlliance(ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId())); PacketManager.ProcessOutgoingPacket(p); } } else { var p = new GlobalChatLineMessage(level.GetClient()); p.SetPlayerId(0); p.SetPlayerName("UCS Chat System"); p.SetChatMessage( "The Global Chat is currently disabled. Please try again later! For more Informations, check the Server Status!"); PacketManager.ProcessOutgoingPacket(p); } } } }
public Menu() { while (true) { Console.WriteLine(""); var line = Console.ReadLine(); if (line == "/startx") { //Application.Run(new UCSManager()); } else if (line == "/reloadfilter") { Console.WriteLine("Filter Has Been Reload"); Message.ReloadChatFilterList(); } else if (line == "/shutdown") { foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new ShutdownStartedMessage(onlinePlayer.GetClient()); p.SetCode(5); PacketManager.ProcessOutgoingPacket(p); } Console.WriteLine("Message has been send to the user"); } else if (line == "/clear") { Console.Clear(); } else if (line == "/restart") { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("System Manager"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("Legendary Administrator"); mail.SetMessage("System is about to restart in a few moments."); mail.SetSenderLevel(500); mail.SetSenderLeagueId(22); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); var ps = new ShutdownStartedMessage(onlinePlayer.GetClient()); var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); ps.SetCode(5); p.SetAvatarStreamEntry(mail); pm.SetChatMessage("System is about to restart in a few moments."); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName("System Manager"); PacketManager.ProcessOutgoingPacket(p); PacketManager.ProcessOutgoingPacket(ps); PacketManager.ProcessOutgoingPacket(pm); } Console.WriteLine("System Restarting...."); Program.RestartProgram(); } else if (line == "/update") { var downloadUrl = ""; Version newVersion = null; var aboutUpdate = ""; var xmlUrl = "https://www.flamewall.net/ucs/system.xml"; XmlTextReader reader = null; try { reader = new XmlTextReader(xmlUrl); reader.MoveToContent(); var elementName = ""; if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "appinfo")) { while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { elementName = reader.Name; } else { if ((reader.NodeType == XmlNodeType.Text) && reader.HasValue) { switch (elementName) { case "version": newVersion = new Version(reader.Value); break; case "url": downloadUrl = reader.Value; break; case "about": aboutUpdate = reader.Value; break; } } } } } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { if (reader != null) { reader.Close(); } } var applicationVersion = Assembly.GetExecutingAssembly().GetName().Version; if (applicationVersion.CompareTo(newVersion) < 0) { var str = string.Format( "New version found!\nYour version: {0}.\nNewest version: {1}. \nAdded in this version: {2}. ", applicationVersion, newVersion, aboutUpdate); if (DialogResult.No != MessageBox.Show(str + "\nWould you like to download this update?", "Check for updates", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) { try { Process.Start(downloadUrl); } catch { } return; } ; } else { MessageBox.Show("Your version: " + applicationVersion + " is up to date.", "Check for Updates", MessageBoxButtons.OK, MessageBoxIcon.None); } } else if (line == "/status") { var IPM = MainWindow.RemoteWindow.GetIP(); Console.WriteLine("Server IP : " + IPM + " on port 9339"); Console.WriteLine("Online Player : " + ResourcesManager.GetOnlinePlayers().Count); Console.WriteLine("Connected Player : " + ResourcesManager.GetConnectedClients().Count); Console.WriteLine("Starting Gold : " + int.Parse(ConfigurationManager.AppSettings["StartingGold"])); Console.WriteLine("Starting Elixir : " + int.Parse(ConfigurationManager.AppSettings["StartingElixir"])); Console.WriteLine("Starting Dark Elixir : " + int.Parse(ConfigurationManager.AppSettings["StartingDarkElixir"])); Console.WriteLine("Starting Gems : " + int.Parse(ConfigurationManager.AppSettings["StartingGems"])); Console.WriteLine("CoC Version : " + ConfigurationManager.AppSettings["ClientVersion"]); if (Convert.ToBoolean(ConfigurationManager.AppSettings["useCustomPatch"])) { Console.WriteLine("Patch : Active"); Console.WriteLine("Patching Server : " + ConfigurationManager.AppSettings["patchingServer"]); } else { Console.WriteLine("Patch : Disable"); } if (Convert.ToBoolean(ConfigurationManager.AppSettings["maintenanceMode"])) { Console.WriteLine("Maintance Mode : Active"); Console.WriteLine("Maintance time : " + Convert.ToInt32(ConfigurationManager.AppSettings["maintenanceTimeleft"]) + " Seconds"); } else { Console.WriteLine("Maintance Mode : Disable"); } } else if (line == "/sysinfo") { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Server Status is now sent to all online players"); var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("System Manager"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("Legendary Administrator"); mail.SetMessage("Latest Server Status:\nConnected Players:" + ResourcesManager.GetConnectedClients().Count + "\nIn Memory Alliances:" + ObjectManager.GetInMemoryAlliances().Count + "\nIn Memory Levels:" + ResourcesManager.GetInMemoryLevels().Count); mail.SetSenderLeagueId(22); mail.SetSenderLevel(500); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage("Our current Server Status is now sent at your mailbox!"); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName("System Manager"); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); PacketManager.ProcessOutgoingPacket(pm); } Console.ForegroundColor = ConsoleColor.White; } else if (line == "/help") { Console.WriteLine(""); Console.WriteLine("Available commands :"); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("/startx - This commands start the server Gui"); Console.WriteLine(""); Console.WriteLine("/restart - This commands restart server and sending online player info about it."); Console.WriteLine(""); Console.WriteLine("/update - This commands check for new UCS update"); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine( "/shutdown - This commands fully close the server with message after five minutes."); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("/status - This commands show informations about the server."); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("/clear - Clean the emulator screen"); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("/help - This commands show a list of available commands."); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine( "/sysinfo - This command will send the current Server Status to all online players."); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("/reloadfilter - This commands reload in memory filtered texts"); Console.ResetColor(); } else { Console.WriteLine(""); Console.WriteLine("Available commands :"); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("/startx - This commands start the server Gui"); Console.WriteLine(""); Console.WriteLine("/restart - This commands restart server and sending online player info about it."); Console.WriteLine(""); Console.WriteLine("/update - This commands check for new UCS update"); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine( "/shutdown - This commands fully close the server with message after five minutes."); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("/status - This commands show informations about the server."); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("/clear - Clean the emulator screen"); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine("/help - This commands show a list of available commands."); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine( "/sysinfo - This command will send the current Server Status to all online players."); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("/reloadfilter - This commands reload in memory filtered texts"); Console.ResetColor(); } } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { try { if (m_vArgs.Length >= 2) { var senderId = level.GetPlayerAvatar().GetId(); var c = level.GetClient(); var argcount = m_vArgs.Length; int currentarg = 2; var msg = ""; while (currentarg < m_vArgs.Length) { msg += m_vArgs[currentarg] + " "; currentarg++; } var message = msg; long id = Convert.ToInt64(m_vArgs[1]); bool playerexist; try { var l = ResourcesManager.GetPlayer(id); playerexist = true; } catch { playerexist = false; } if (playerexist.Equals(true)) { var l = ResourcesManager.GetPlayer(id); var sendername = level.GetPlayerAvatar().GetAvatarName(); var senderalliance = ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId()); if (ResourcesManager.IsPlayerOnline(l)) { var utmclient = l.GetClient(); var pm = new GlobalChatLineMessage(utmclient); pm.SetChatMessage(Message.FilterString(message)); pm.SetPlayerName(sendername + " (Private Message)"); pm.SetPlayerId(senderId); pm.SetLeagueId(l.GetPlayerAvatar().GetLeagueId()); pm.SetAlliance(senderalliance); PacketManager.ProcessOutgoingPacket(pm); var resp = new GlobalChatLineMessage(c); resp.SetChatMessage("Successfully sent Private Message to: " + l.GetPlayerAvatar().GetAvatarName() + " with the Text: " + Message.FilterString(message)); resp.SetPlayerId(senderId); resp.SetAlliance(senderalliance); resp.SetLeagueId(22); PacketManager.ProcessOutgoingPacket(resp); } else { var pm = new GlobalChatLineMessage(c); pm.SetChatMessage("Player is offline or not exist."); pm.SetPlayerId(0); pm.SetPlayerName("System Manager"); pm.SetLeagueId(22); PacketManager.ProcessOutgoingPacket(pm); } } } else { var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage("Wrong usage,Please use /pm userid text\nTo get your ID use /myid. Save it or tell it to your friends."); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("System Manager"); } } catch (Exception e) { var p = new GlobalChatLineMessage(level.GetClient()); p.SetChatMessage("Wrong usage,Please use /pm userid text\nTo get your ID use /myid. Save it or tell it to your friends."); p.SetPlayerId(0); p.SetLeagueId(22); p.SetPlayerName("System Manager"); PacketManager.ProcessOutgoingPacket(p); MainWindow.RemoteWindow.WriteConsoleDebug("Exception on PM caught.: " + e, (int)MainWindow.level.DEBUGFATAL); } } else { SendCommandFailedMessage(level.GetClient()); } }
public static void CommandRead(string cmd) { if (cmd == null) { if (ConfUCS.IsConsoleMode) { ManageConsole(); } } try { switch (cmd.ToLower()) { case "/help": Console.WriteLine("/start <-- Start the server"); Console.WriteLine("/ban <PlayerID> <-- Ban a client"); // Console.WriteLine("/banip <PlayerID> <-- Ban a client by IP"); Console.WriteLine("/unban <PlayerID> <-- Unban a client"); // Console.WriteLine("/unbanip <PlayerID> <-- Unban a client"); // Console.WriteLine("/tempban <PlayerID> <Seconds> <-- Temporary ban a client"); // Console.WriteLine("/tempbanip <PlayerID> <Seconds> <-- Temporary ban a client by IP"); Console.WriteLine("/kick <PlayerID> <-- Kick a client from the server"); // Console.WriteLine("/mute <PlayerID> <-- Mute a client"); // Console.WriteLine("/unmute <PlayerID> <-- Unmute a client"); // Console.WriteLine("/setlevel <PlayerID> <Level> <-- Set a level for a player"); Console.WriteLine("/update <-- Check if update is available"); // Console.WriteLine("/say <Text> <-- Send a text to all"); // Console.WriteLine("/sayplayer <PlayerID> <Text> <-- Send a text to a player"); Console.WriteLine("/stop or /shutdown <-- Stop the server and save data"); Console.WriteLine("/forcestop <-- Force stop the server"); Console.WriteLine("/restart <-- Save data and then restart"); Console.WriteLine("/send sysinfo <-- Send server info to all players"); Console.WriteLine("/status <-- Get server status"); Console.WriteLine("/switch <-- Switch to GUI/Console mode"); break; case "/start": if (!ConfUCS.IsServerOnline) { ConsoleThread CT = new ConsoleThread(); CT.Start(); } else { Console.WriteLine("Server already online!"); } break; case "/stop": case "/shutdown": Console.WriteLine("Shutting down... Saving all data, wait."); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new ShutdownStartedMessage(onlinePlayer.GetClient()); p.SetCode(5); PacketManager.ProcessOutgoingPacket(p); } ConsoleManage.FreeConsole(); Environment.Exit(0); break; case "/forcestop": Console.WriteLine("Force shutting down... All progress not saved will be lost!"); Process.GetCurrentProcess().Kill(); break; case "/uptime": Console.WriteLine("Up time: " + ControlTimer.ElapsedTime); break; case "/restart": Console.WriteLine("System Restarting...."); var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("System Manager"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("Legendary Administrator"); mail.SetMessage("System is about to restart in a few moments."); mail.SetSenderLevel(500); mail.SetSenderLeagueId(22); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); var ps = new ShutdownStartedMessage(onlinePlayer.GetClient()); var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); ps.SetCode(5); p.SetAvatarStreamEntry(mail); pm.SetChatMessage("System is about to restart in a few moments."); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName("System Manager"); PacketManager.ProcessOutgoingPacket(p); PacketManager.ProcessOutgoingPacket(ps); PacketManager.ProcessOutgoingPacket(pm); } Console.WriteLine("Saving all data..."); foreach (var l in ResourcesManager.GetOnlinePlayers()) { //DatabaseManager.Singelton.Save(l); } Console.WriteLine("Restarting now"); Process.Start(Application.ResourceAssembly.Location); Process.GetCurrentProcess().Kill(); break; case "/clear": Console.WriteLine("Console cleared"); if (ConfUCS.IsConsoleMode) { Console.Clear(); } else { MainWindow.RemoteWindow.RTB_Console.Clear(); } break; case "/status": Console.WriteLine("Server IP: " + ConfUCS.GetIP() + " on port 9339"); Console.WriteLine("IP Address (public): " + new WebClient().DownloadString("http://bot.whatismyipaddress.com/")); Console.WriteLine("Online Player: " + ResourcesManager.GetOnlinePlayers().Count); Console.WriteLine("Connected Player: " + ResourcesManager.GetConnectedClients().Count); Console.WriteLine("Starting Gold: " + int.Parse(ConfigurationManager.AppSettings["StartingGold"])); Console.WriteLine("Starting Elixir: " + int.Parse(ConfigurationManager.AppSettings["StartingElixir"])); Console.WriteLine("Starting Dark Elixir: " + int.Parse(ConfigurationManager.AppSettings["StartingDarkElixir"])); Console.WriteLine("Starting Gems: " + int.Parse(ConfigurationManager.AppSettings["StartingGems"])); Console.WriteLine("CoC Version: " + ConfigurationManager.AppSettings["ClientVersion"]); if (Convert.ToBoolean(ConfigurationManager.AppSettings["useCustomPatch"])) { Console.WriteLine("Patch: Active"); Console.WriteLine("Patching Server: " + ConfigurationManager.AppSettings["patchingServer"]); } else { Console.WriteLine("Patch: Disable"); } if (Convert.ToBoolean(ConfigurationManager.AppSettings["maintenanceMode"])) { Console.WriteLine("Maintance Mode: Active"); Console.WriteLine("Maintance time: " + Convert.ToInt32(ConfigurationManager.AppSettings["maintenanceTimeleft"]) + " Seconds"); } else { Console.WriteLine("Maintance Mode: Disable"); } break; case "/send sysinfo": Console.WriteLine("Server Status is now sent to all online players"); var mail1 = new AllianceMailStreamEntry(); mail1.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail1.SetSenderId(0); mail1.SetSenderAvatarId(0); mail1.SetSenderName("System Manager"); mail1.SetIsNew(0); mail1.SetAllianceId(0); mail1.SetAllianceBadgeData(0); mail1.SetAllianceName("Legendary Administrator"); mail1.SetMessage("Latest Server Status:\nConnected Players:" + ResourcesManager.GetConnectedClients().Count + "\nIn Memory Alliances:" + ObjectManager.GetInMemoryAlliances().Count + "\nIn Memory Levels:" + ResourcesManager.GetInMemoryLevels().Count); mail1.SetSenderLeagueId(22); mail1.SetSenderLevel(500); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage("Our current Server Status is now sent at your mailbox!"); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName("System Manager"); p.SetAvatarStreamEntry(mail1); PacketManager.ProcessOutgoingPacket(p); PacketManager.ProcessOutgoingPacket(pm); } break; case "/update": UpdateChecker.Check(); break; case "/kick": var CommGet = cmd.Split(' '); if (CommGet.Length >= 2) { try { var id = Convert.ToInt64(CommGet[1]); var l = ResourcesManager.GetPlayer(id); if (ResourcesManager.IsPlayerOnline(l)) { ResourcesManager.LogPlayerOut(l); var p = new OutOfSyncMessage(l.GetClient()); PacketManager.ProcessOutgoingPacket(p); } else { Console.WriteLine("Kick failed: id " + id + " not found"); } } catch (FormatException) { Console.WriteLine("The given id is not a valid number"); } catch (Exception ex) { Console.WriteLine("Kick failed with error: " + ex); } } else { Console.WriteLine("Not enough arguments"); } break; case "/ban": var CommGet1 = cmd.Split(' '); if (CommGet1.Length >= 2) { try { var id = Convert.ToInt64(CommGet1[1]); var l = ResourcesManager.GetPlayer(id); if (l != null) { l.SetAccountStatus(99); l.SetAccountPrivileges(0); if (ResourcesManager.IsPlayerOnline(l)) { var p = new OutOfSyncMessage(l.GetClient()); PacketManager.ProcessOutgoingPacket(p); } } else { Console.WriteLine("Ban failed: id " + id + " not found"); } } catch (FormatException) { Console.WriteLine("The given id is not a valid number"); } catch (Exception ex) { Console.WriteLine("Ban failed with error: " + ex); } } else { Console.WriteLine("Not enough arguments"); } break; case "/unban": var CommGet2 = cmd.Split(' '); if (CommGet2.Length >= 2) { try { var id = Convert.ToInt64(CommGet2[1]); var l = ResourcesManager.GetPlayer(id); if (l != null) { l.SetAccountStatus(0); } else { Console.WriteLine("Unban failed: id " + id + " not found"); } } catch (FormatException) { Console.WriteLine("The given id is not a valid number"); } catch (Exception ex) { Console.WriteLine("Unban failed with error: " + ex); } } else { Console.WriteLine("Not enough arguments"); } break; case "/switch": if (ConfUCS.IsConsoleFirst) { Console.WriteLine("Sorry, you need to launch UCS in GUI mode first."); } else { if (ConfUCS.IsConsoleMode) { ConfUCS.IsConsoleMode = false; ConsoleManage.HideConsole(); InterfaceThread.Start(); Console.WriteLine("Switched to GUI"); ControlTimer.SwitchTimer(); } else { ConfUCS.IsConsoleMode = true; ConsoleManage.ShowConsole(); Console.SetOut(AllocateConsole.StandardConsole); MainWindow.RemoteWindow.Hide(); Console.Title = ConfUCS.UnivTitle; Console.WriteLine("Switched to Console"); ControlTimer.SwitchTimer(); ManageConsole(); } } break; default: Console.WriteLine("Unknown command. Type \"/help\" for a list containing all available commands."); break; } } catch (Exception) { Console.WriteLine("Something wrong happens..."); //throw; } //else if (cmd.ToLower().StartsWith("/mute")) //{ // var CommGet = cmd.Split(' '); // if (CommGet.Length >= 2) // { // try // { // var id = Convert.ToInt64(CommGet[1]); // var l = ResourcesManager.GetPlayer(id); // if (ResourcesManager.IsPlayerOnline(l)) // { // var p = new BanChatTrigger(l.GetClient()); // p.SetCode(999999999); // PacketManager.ProcessOutgoingPacket(p); // } // else // { // Console.WriteLineDebug("Chat Mute failed: id " + id + " not found", CoreWriter.level.DEBUGLOG); // } // } // catch (FormatException) // { // Console.WriteLineDebug("The given id is not a valid number", CoreWriter.level.DEBUGFATAL); // } // catch (Exception ex) // { // Console.WriteLineDebug("Chat Mute failed with error: " + ex, CoreWriter.level.DEBUGFATAL); // } // } // else Console.WriteLineDebug("Not enough arguments", CoreWriter.level.DEBUGFATAL); //} if (ConfUCS.IsConsoleMode) { ManageConsole(); } }
public override async void Process(Level level) { try { if (Message.Length > 0) { if (Message.Length < 101) { if (Message[0] == '/') { if (Message == "/test") { PacketProcessor.Send(new HomeBattleReplayDataMessage(Client)); } object obj = GameOpCommandFactory.Parse(Message); if (obj != null) { string player = ""; if (level != null) { player += " (" + level.GetPlayerAvatar().GetId() + ", " + level.GetPlayerAvatar().GetAvatarName() + ")"; } ((GameOpCommand)obj).Execute(level); } } else { long senderId = level.GetPlayerAvatar().GetId(); string senderName = level.GetPlayerAvatar().GetAvatarName(); bool badword = DirectoryChecker.badwords.Any(s => Message.Contains(s)); if (badword) { foreach (Level pl in ResourcesManager.GetOnlinePlayers()) { /*if (pl.GetPlayerAvatar().GetUserRegion() == level.GetPlayerAvatar().GetUserRegion()) * {*/ GlobalChatLineMessage p = new GlobalChatLineMessage(pl.GetClient()); string NewMessage = ""; for (int i = 0; i < Message.Length; i++) { NewMessage += "*"; } p.SetPlayerName(senderName); p.SetChatMessage(NewMessage); p.SetPlayerId(senderId); p.SetLeagueId(level.GetPlayerAvatar().GetLeagueId()); p.SetAlliance(await ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId())); ChatProcessor.AddMessage(p); //PacketManager.Send(p); //} } } else { foreach (Level onlinePlayer in ResourcesManager.GetOnlinePlayers()) { /*if (onlinePlayer.GetPlayerAvatar().GetUserRegion() == level.GetPlayerAvatar().GetUserRegion()) * {*/ GlobalChatLineMessage p = new GlobalChatLineMessage(onlinePlayer.GetClient()); p.SetPlayerName(senderName); p.SetChatMessage(Message); p.SetPlayerId(senderId); p.SetLeagueId(level.GetPlayerAvatar().GetLeagueId()); p.SetAlliance(await ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId())); //PacketManager.Send(p); ChatProcessor.AddMessage(p); Logger.Write("Chat Message: '" + Message + "' from '" + senderName + "':'" + senderId + "'"); //} } } } } } } catch (Exception) { } }
public override PiranhaMessage CreateMessageByType(int type) { PiranhaMessage message = null; if (type < 20000) { switch (type) { case ClientCryptoErrorMessage.MESSAGE_TYPE: { message = new ClientCryptoErrorMessage(); break; } case ClientHelloMessage.MESSAGE_TYPE: { message = new ClientHelloMessage(); break; } case LoginMessage.MESSAGE_TYPE: { message = new LoginMessage(); break; } case KeepAliveMessage.MESSAGE_TYPE: { message = new KeepAliveMessage(); break; } case SetDeviceTokenMessage.MESSAGE_TYPE: { message = new SetDeviceTokenMessage(); break; } case ResetAccountMessage.MESSAGE_TYPE: { message = new ResetAccountMessage(); break; } case ReportUserMessage.MESSAGE_TYPE: { message = new ReportUserMessage(); break; } case AccountSwitchedMessage.MESSAGE_TYPE: { message = new AccountSwitchedMessage(); break; } case UnlockAccountMessage.MESSAGE_TYPE: { message = new UnlockAccountMessage(); break; } case AppleBillingRequestMessage.MESSAGE_TYPE: { message = new AppleBillingRequestMessage(); break; } case ChangeAvatarNameMessage.MESSAGE_TYPE: { message = new ChangeAvatarNameMessage(); break; } case AcceptFriendMessage.MESSAGE_TYPE: { message = new AcceptFriendMessage(); break; } case AddFriendMessage.MESSAGE_TYPE: { message = new AddFriendMessage(); break; } case AskForFriendListMessage.MESSAGE_TYPE: { message = new AskForFriendListMessage(); break; } case RemoveFriendMessage.MESSAGE_TYPE: { message = new RemoveFriendMessage(); break; } case StartFriendLiveSpectateMessage.MESSAGE_TYPE: { message = new StartFriendLiveSpectateMessage(); break; } case InboxOpenedMessage.MESSAGE_TYPE: { message = new InboxOpenedMessage(); break; } case GoHomeMessage.MESSAGE_TYPE: { message = new GoHomeMessage(); break; } case EndClientTurnMessage.MESSAGE_TYPE: { message = new EndClientTurnMessage(); break; } case CancelMatchmakingMessage.MESSAGE_TYPE: { message = new CancelMatchmakingMessage(); break; } case AttackHomeMessage.MESSAGE_TYPE: { message = new AttackHomeMessage(); break; } case StartFriendlyChallengeSpectateMessage.MESSAGE_TYPE: { message = new StartFriendlyChallengeSpectateMessage(); break; } case ScoutFriendlyBattleMessage.MESSAGE_TYPE: { message = new ScoutFriendlyBattleMessage(); break; } case VisitHomeMessage.MESSAGE_TYPE: { message = new VisitHomeMessage(); break; } case HomeBattleReplayMessage.MESSAGE_TYPE: { message = new HomeBattleReplayMessage(); break; } case AttackMatchedHomeMessage.MESSAGE_TYPE: { message = new AttackMatchedHomeMessage(); break; } case AcceptFriendlyBattleMessage.MESSAGE_TYPE: { message = new AcceptFriendlyBattleMessage(); break; } case CancelChallengeMessage.MESSAGE_TYPE: { message = new CancelChallengeMessage(); break; } case AttackNpcMessage.MESSAGE_TYPE: { message = new AttackNpcMessage(); break; } case DuelNpcMessage.MESSAGE_TYPE: { message = new DuelNpcMessage(); break; } case BindGoogleServiceAccountMessage.MESSAGE_TYPE: { message = new BindGoogleServiceAccountMessage(); break; } case BindFacebookAccountMessage.MESSAGE_TYPE: { message = new BindFacebookAccountMessage(); break; } case CreateAllianceMessage.MESSAGE_TYPE: { message = new CreateAllianceMessage(); break; } case AskForAllianceDataMessage.MESSAGE_TYPE: { message = new AskForAllianceDataMessage(); break; } case AskForJoinableAlliancesListMessage.MESSAGE_TYPE: { message = new AskForJoinableAlliancesListMessage(); break; } case JoinAllianceMessage.MESSAGE_TYPE: { message = new JoinAllianceMessage(); break; } case ChangeAllianceMemberRoleMessage.MESSAGE_TYPE: { message = new ChangeAllianceMemberRoleMessage(); break; } case LeaveAllianceMessage.MESSAGE_TYPE: { message = new LeaveAllianceMessage(); break; } case DonateAllianceUnitMessage.MESSAGE_TYPE: { message = new DonateAllianceUnitMessage(); break; } case ChatToAllianceStreamMessage.MESSAGE_TYPE: { message = new ChatToAllianceStreamMessage(); break; } case ChangeAllianceSettingsMessage.MESSAGE_TYPE: { message = new ChangeAllianceSettingsMessage(); break; } case RequestJoinAllianceMessage.MESSAGE_TYPE: { message = new RequestJoinAllianceMessage(); break; } case RespondToAllianceJoinRequestMessage.MESSAGE_TYPE: { message = new RespondToAllianceJoinRequestMessage(); break; } case SendAllianceInvitationMessage.MESSAGE_TYPE: { message = new SendAllianceInvitationMessage(); break; } case JoinAllianceUsingInvitationMessage.MESSAGE_TYPE: { message = new JoinAllianceUsingInvitationMessage(); break; } case SearchAlliancesMessage.MESSAGE_TYPE: { message = new SearchAlliancesMessage(); break; } case AskForAvatarProfileMessage.MESSAGE_TYPE: { message = new AskForAvatarProfileMessage(); break; } case AskForAllianceBookmarksFullDataMessage.MESSAGE_TYPE: { message = new AskForAllianceBookmarksFullDataMessage(); break; } case AddAllianceBookmarkMessage.MESSAGE_TYPE: { message = new AddAllianceBookmarkMessage(); break; } case RemoveAllianceBookmarkMessage.MESSAGE_TYPE: { message = new RemoveAllianceBookmarkMessage(); break; } case AskForAllianceRankingListMessage.MESSAGE_TYPE: { message = new AskForAllianceRankingListMessage(); break; } case AskForAvatarRankingListMessage.MESSAGE_TYPE: { message = new AskForAvatarRankingListMessage(); break; } case AskForAvatarLocalRankingListMessage.MESSAGE_TYPE: { message = new AskForAvatarLocalRankingListMessage(); break; } case AskForAvatarLastSeasonRankingListMessage.MESSAGE_TYPE: { message = new AskForAvatarLastSeasonRankingListMessage(); break; } case AskForAvatarDuelLastSeasonRankingListMessage.MESSAGE_TYPE: { message = new AskForAvatarDuelLastSeasonRankingListMessage(); break; } case RemoveAvatarStreamEntryMessage.MESSAGE_TYPE: { message = new RemoveAvatarStreamEntryMessage(); break; } case AskForLeagueMemberListMessage.MESSAGE_TYPE: { message = new AskForLeagueMemberListMessage(); break; } case BattleEndClientTurnMessage.MESSAGE_TYPE: { message = new BattleEndClientTurnMessage(); break; } case AvatarNameCheckRequestMessage.MESSAGE_TYPE: { message = new AvatarNameCheckRequestMessage(); break; } case SendGlobalChatLineMessage.MESSAGE_TYPE: { message = new SendGlobalChatLineMessage(); break; } case Village2AttackStartSpectateMessage.MESSAGE_TYPE: { message = new Village2AttackStartSpectateMessage(); break; } } } else { switch (type) { case SetEncryptionMessage.MESSAGE_TYPE: { message = new ExtendedSetEncryptionMessage(); break; } case ServerHelloMessage.MESSAGE_TYPE: { message = new ServerHelloMessage(); break; } case LoginFailedMessage.MESSAGE_TYPE: { message = new LoginFailedMessage(); break; } case LoginOkMessage.MESSAGE_TYPE: { message = new LoginOkMessage(); break; } case FriendListMessage.MESSAGE_TYPE: { message = new FriendListMessage(); break; } case FriendListUpdateMessage.MESSAGE_TYPE: { message = new FriendListUpdateMessage(); break; } case KeepAliveServerMessage.MESSAGE_TYPE: { message = new KeepAliveServerMessage(); break; } case AddFriendErrorMessage.MESSAGE_TYPE: { message = new AddFriendErrorMessage(); break; } case ReportUserStatusMessage.MESSAGE_TYPE: { message = new ReportUserStatusMessage(); break; } case UnlockAccountOkMessage.MESSAGE_TYPE: { message = new UnlockAccountOkMessage(); break; } case UnlockAccountFailedMessage.MESSAGE_TYPE: { message = new UnlockAccountFailedMessage(); break; } case AppleBillingProcessedByServerMessage.MESSAGE_TYPE: { message = new AppleBillingProcessedByServerMessage(); break; } case ShutdownStartedMessage.MESSAGE_TYPE: { message = new ShutdownStartedMessage(); break; } case PersonalBreakStartedMessage.MESSAGE_TYPE: { message = new PersonalBreakStartedMessage(); break; } case FacebookAccountBoundMessage.MESSAGE_TYPE: { message = new FacebookAccountBoundMessage(); break; } case AvatarNameChangeFailedMessage.MESSAGE_TYPE: { message = new AvatarNameChangeFailedMessage(); break; } case AvatarOnlineStatusUpdated.MESSAGE_TYPE: { message = new AvatarOnlineStatusUpdated(); break; } case AvatarOnlineStatusListMessage.MESSAGE_TYPE: { message = new AvatarOnlineStatusListMessage(); break; } case AllianceOnlineStatusUpdatedMessage.MESSAGE_TYPE: { message = new AllianceOnlineStatusUpdatedMessage(); break; } case GoogleServiceAccountBoundMessage.MESSAGE_TYPE: { message = new GoogleServiceAccountBoundMessage(); break; } case GoogleServiceAccountAlreadyBoundMessage.MESSAGE_TYPE: { message = new GoogleServiceAccountAlreadyBoundMessage(); break; } case AvatarNameCheckResponseMessage.MESSAGE_TYPE: { message = new AvatarNameCheckResponseMessage(); break; } case AcceptFriendErrorMessage.MESSAGE_TYPE: { message = new AcceptFriendErrorMessage(); break; } case OwnHomeDataMessage.MESSAGE_TYPE: { message = new OwnHomeDataMessage(); break; } case AttackHomeFailedMessage.MESSAGE_TYPE: { message = new AttackHomeFailedMessage(); break; } case OutOfSyncMessage.MESSAGE_TYPE: { message = new OutOfSyncMessage(); break; } case EnemyHomeDataMessage.MESSAGE_TYPE: { message = new EnemyHomeDataMessage(); break; } case AvailableServerCommandMessage.MESSAGE_TYPE: { message = new AvailableServerCommandMessage(); break; } case WaitingToGoHomeMessage.MESSAGE_TYPE: { message = new WaitingToGoHomeMessage(); break; } case VisitedHomeDataMessage.MESSAGE_TYPE: { message = new VisitedHomeDataMessage(); break; } case HomeBattleReplayDataMessage.MESSAGE_TYPE: { message = new HomeBattleReplayDataMessage(); break; } case ServerErrorMessage.MESSAGE_TYPE: { message = new ServerErrorMessage(); break; } case HomeBattleReplayFailedMessage.MESSAGE_TYPE: { message = new HomeBattleReplayFailedMessage(); break; } case LiveReplayHeaderMessage.MESSAGE_TYPE: { message = new LiveReplayHeaderMessage(); break; } case LiveReplayDataMessage.MESSAGE_TYPE: { message = new LiveReplayDataMessage(); break; } case ChallengeFailedMessage.MESSAGE_TYPE: { message = new ChallengeFailedMessage(); break; } case VisitFailedMessage.MESSAGE_TYPE: { message = new VisitFailedMessage(); break; } case AttackSpectatorCountMessage.MESSAGE_TYPE: { message = new AttackSpectatorCountMessage(); break; } case LiveReplayEndMessage.MESSAGE_TYPE: { message = new LiveReplayEndMessage(); break; } case LiveReplayFailedMessage.MESSAGE_TYPE: { message = new LiveReplayFailedMessage(); break; } case NpcDataMessage.MESSAGE_TYPE: { message = new NpcDataMessage(); break; } case AllianceDataMessage.MESSAGE_TYPE: { message = new AllianceDataMessage(); break; } case AllianceJoinFailedMessage.MESSAGE_TYPE: { message = new AllianceJoinFailedMessage(); break; } case JoinableAllianceListMessage.MESSAGE_TYPE: { message = new JoinableAllianceListMessage(); break; } case AllianceListMessage.MESSAGE_TYPE: { message = new AllianceListMessage(); break; } case AllianceStreamMessage.MESSAGE_TYPE: { message = new AllianceStreamMessage(); break; } case AllianceStreamEntryMessage.MESSAGE_TYPE: { message = new AllianceStreamEntryMessage(); break; } case AllianceStreamEntryRemovedMessage.MESSAGE_TYPE: { message = new AllianceStreamEntryRemovedMessage(); break; } case AllianceJoinRequestOkMessage.MESSAGE_TYPE: { message = new AllianceJoinRequestOkMessage(); break; } case AllianceJoinRequestFailedMessage.MESSAGE_TYPE: { message = new AllianceJoinRequestFailedMessage(); break; } case AllianceInvitationSendFailedMessage.MESSAGE_TYPE: { message = new AllianceInvitationSendFailedMessage(); break; } case AllianceInvitationSentOkMessage.MESSAGE_TYPE: { message = new AllianceInvitationSentOkMessage(); break; } case AllianceFullEntryUpdateMessage.MESSAGE_TYPE: { message = new AllianceFullEntryUpdateMessage(); break; } case AllianceWarSearchDataMessage.MESSAGE_TYPE: { message = new AllianceWarSearchDataMessage(); break; } case AllianceWarDataMessage.MESSAGE_TYPE: { message = new AllianceWarDataMessage(); break; } case AllianceCreateFailedMessage.MESSAGE_TYPE: { message = new AllianceCreateFailedMessage(); break; } case AvatarProfileMessage.MESSAGE_TYPE: { message = new AvatarProfileMessage(); break; } case AllianceWarFullEntryMessage.MESSAGE_TYPE: { message = new AllianceWarFullEntryMessage(); break; } case AllianceWarDataFailedMessage.MESSAGE_TYPE: { message = new AllianceWarDataFailedMessage(); break; } case AllianceWarHistoryMessage.MESSAGE_TYPE: { message = new AllianceWarHistoryMessage(); break; } case AvatarProfileFailedMessage.MESSAGE_TYPE: { message = new AvatarProfileFailedMessage(); break; } case BookmarksListMessage.MESSAGE_TYPE: { message = new BookmarksListMessage(); break; } case AllianceBookmarksFullDataMessage.MESSAGE_TYPE: { message = new AllianceBookmarksFullDataMessage(); break; } case Village2AttackEntryListMessage.MESSAGE_TYPE: { message = new Village2AttackEntryListMessage(); break; } case Village2AttackEntryUpdateMessage.MESSAGE_TYPE: { message = new Village2AttackEntryUpdateMessage(); break; } case Village2AttackEntryAddedMessage.MESSAGE_TYPE: { message = new Village2AttackEntryAddedMessage(); break; } case Village2AttackEntryRemovedMessage.MESSAGE_TYPE: { message = new Village2AttackEntryRemovedMessage(); break; } case AllianceRankingListMessage.MESSAGE_TYPE: { message = new AllianceRankingListMessage(); break; } case AllianceLocalRankingListMessage.MESSAGE_TYPE: { message = new AllianceLocalRankingListMessage(); break; } case AvatarRankingListMessage.MESSAGE_TYPE: { message = new AvatarRankingListMessage(); break; } case AvatarLocalRankingListMessage.MESSAGE_TYPE: { message = new AvatarLocalRankingListMessage(); break; } case AvatarLastSeasonRankingListMessage.MESSAGE_TYPE: { message = new AvatarLastSeasonRankingListMessage(); break; } case AvatarDuelLocalRankingListMessage.MESSAGE_TYPE: { message = new AvatarDuelLocalRankingListMessage(); break; } case AvatarDuelLastSeasonRankingListMessage.MESSAGE_TYPE: { message = new AvatarDuelLastSeasonRankingListMessage(); break; } case AvatarDuelRankingListMessage.MESSAGE_TYPE: { message = new AvatarDuelRankingListMessage(); break; } case AvatarStreamMessage.MESSAGE_TYPE: { message = new AvatarStreamMessage(); break; } case AvatarStreamEntryMessage.MESSAGE_TYPE: { message = new AvatarStreamEntryMessage(); break; } case AvatarStreamEntryRemovedMessage.MESSAGE_TYPE: { message = new AvatarStreamEntryRemovedMessage(); break; } case LeagueMemberListMessage.MESSAGE_TYPE: { message = new LeagueMemberListMessage(); break; } case GlobalChatLineMessage.MESSAGE_TYPE: { message = new GlobalChatLineMessage(); break; } case AllianceWarEventMessage.MESSAGE_TYPE: { message = new AllianceWarEventMessage(); break; } case FriendlyScoutHomeDataMessage.MESSAGE_TYPE: { message = new FriendlyScoutHomeDataMessage(); break; } case Village2AttackAvatarDataMessage.MESSAGE_TYPE: { message = new Village2AttackAvatarDataMessage(); break; } case AttackEventMessage.MESSAGE_TYPE: { message = new AttackEventMessage(); break; } case TitanDisconnectedMessage.MESSAGE_TYPE: { message = new DisconnectedMessage(); break; } case CryptoErrorMessage.MESSAGE_TYPE: { message = new CryptoErrorMessage(); break; } } } return(message); }
public override void Process(Level level) { if (Message.Length > 0) { if (Message[0] == '/') { var obj = GameOpCommandFactory.Parse(Message); if (obj != null) { var player = ""; if (level != null) { player += " (" + level.GetPlayerAvatar().GetId() + ", " + level.GetPlayerAvatar().GetAvatarName() + ")"; } ((GameOpCommand)obj).Execute(level); } } else { if (File.Exists(@"filter.ucs")) { var senderId = level.GetPlayerAvatar().GetId(); var senderName = level.GetPlayerAvatar().GetAvatarName(); var badwords = new List <string>(); var r = new StreamReader(@"filter.ucs"); var line = ""; while ((line = r.ReadLine()) != null) { badwords.Add(line); } var badword = badwords.Any(s => Message.Contains(s)); if (badword) { var p = new GlobalChatLineMessage(level.GetClient()); p.SetPlayerId(0); p.SetPlayerName("Chat Filter System"); p.SetLeagueId(22); p.SetChatMessage("DETECTED BAD WORD! PLEASE AVOID USING BAD WORDS!"); p.Send(); return; } Parallel.ForEach((ResourcesManager.GetOnlinePlayers()), (onlinePlayer, l) => { var p = new GlobalChatLineMessage(onlinePlayer.GetClient()); var p2 = onlinePlayer.GetPlayerAvatar().GetPremium(); if (onlinePlayer.GetAccountPrivileges() > 0) { p.SetPlayerName(senderName + " #" + senderId); } else { p.SetPlayerName(senderName); } p.SetChatMessage(Message); p.SetPlayerId(senderId); p.SetLeagueId(level.GetPlayerAvatar().GetLeagueId()); p.SetAlliance(ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId())); p.Send(); Logger.Write("Chat Message: '" + Message + "' from '" + senderName + "':'" + senderId + "'"); }); } } } }
public override void Process(Level level) { if (Message.Length > 0) { if (Message[0] == '/') { var cmd = (GameOpCommand)GameOpCommandFactory.Parse(Message); cmd?.Execute(level); } else { var senderId = level.GetPlayerAvatar().GetId(); var senderName = level.GetPlayerAvatar().GetAvatarName(); if (File.Exists(@"filter.ucs")) { var messageLower = Message.ToLower(); var flagged = false; for (int i = 0; i < s_bannedWords.Length; i++) { if (messageLower.Contains(s_bannedWords[i])) { flagged = true; break; } } if (flagged) { var message = new GlobalChatLineMessage(level.GetClient()); message.SetPlayerId(0); message.SetPlayerName("Chat Filter System"); message.SetLeagueId(22); message.SetChatMessage("We've detected banned words in your chat message."); message.Send(); return; } } var onlinePlayers = ResourcesManager.GetOnlinePlayers(); for (int i = 0; i < onlinePlayers.Count; i++) { var player = onlinePlayers[i]; var message = new GlobalChatLineMessage(player.GetClient()); if (player.GetAccountPrivileges() > 0) { message.SetPlayerName(senderName + " #" + senderId); } else { message.SetPlayerName(senderName); } message.SetChatMessage(Message); message.SetPlayerId(senderId); message.SetLeagueId(level.GetPlayerAvatar().GetLeagueId()); message.SetAlliance(ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId())); message.Send(); } } } }
public static void CommandRead(string cmd) { if (cmd == null) { if (ConfUCS.IsConsoleMode) { ManageConsole(); } } try { switch (cmd.ToLower()) { case "/help": Console.WriteLine("/start <-- Inicia el servidor"); Console.WriteLine("/ban <PlayerID> <-- Banear un jugador"); Console.WriteLine("/banip <PlayerID> <-- Banear un jugador mediante IP"); Console.WriteLine("/unban <PlayerID> <-- Unbanear un jugador"); Console.WriteLine("/unbanip <PlayerID> <-- Unbanear un jugador"); Console.WriteLine("/tempban <PlayerID> <Seconds> <-- Banea un jugador temporalmente"); Console.WriteLine("/tempbanip <PlayerID> <Seconds> <-- Banea temporalmente un jugador mediante IP"); Console.WriteLine("/kick <PlayerID> <-- Expulsa un jugador del servidor"); Console.WriteLine("/mute <PlayerID> <-- Silencia a un jugador"); Console.WriteLine("/unmute <PlayerID> <-- Quita silencio a jugador"); Console.WriteLine("/setlevel <PlayerID> <Level> <-- Fija un level a un jugador"); Console.WriteLine("/update <-- Comprueba si hay actualizaciónes disponibles"); Console.WriteLine("/say <Text> <-- Envia un mensaje a todos los jugadores"); Console.WriteLine("/sayplayer <PlayerID> <Text> <-- Envia un mensaje al jugador especificado"); Console.WriteLine("/stop or /shutdown <-- Detiene el servidor y guarda todos los datos"); Console.WriteLine("/forcestop <-- Fuerza el cierre del servidor !! ATENCION SE PIERDEN LOS DATOS!!"); Console.WriteLine("/restart <-- Guarda los datos y reinicia el servidor"); Console.WriteLine("/send sysinfo <-- Envia la información del servidor a los jugadores conectados"); Console.WriteLine("/status <-- Obtiene el estado el servidor"); Console.WriteLine("/uptime <-- Obtiene el tiempo activo del servidor"); Console.WriteLine("/switch <-- Cambiar modo GUI/Console"); Console.WriteLine("/clear <-- Limpia todos los mensajes de a consola"); break; case "/start": if (!ConfUCS.IsServerOnline) { ConsoleThread CT = new ConsoleThread(); CT.Start(); } else { Core.Debug.Write("El servidor esta activo!"); } break; case "/stop": case "/shutdown": Core.Debug.Write("Apagando servidor... Guardando datos, esperare..."); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new ShutdownStartedMessage(onlinePlayer.GetClient()); p.SetCode(5); p.Send(); } ConsoleManage.FreeConsole(); Environment.Exit(0); break; case "/forcestop": Core.Debug.Write("Terminado proceso del servidor... los ultimos datos se perderan!"); Process.GetCurrentProcess().Kill(); break; case "/uptime": Core.Debug.Write("Tiempo servidor iniciado: " + ControlTimer.ElapsedTime); break; case "/restart": Core.Debug.Write("Reiniciando servidor...."); var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("System Manager"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("JJBreaker Administrador"); mail.SetMessage("El servidor se reiniciará en breve."); mail.SetSenderLevel(500); mail.SetSenderLeagueId(22); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); var ps = new ShutdownStartedMessage(onlinePlayer.GetClient()); var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); ps.SetCode(5); p.SetAvatarStreamEntry(mail); pm.SetChatMessage("El servidor se reiniciará en breve."); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName("System Manager"); p.Send(); ps.Send(); pm.Send(); } Console.WriteLine("Guaradndo datos..."); DatabaseManager.Save(ResourcesManager.GetInMemoryLevels()); Console.WriteLine("Restarting now"); Process.Start(Application.ResourceAssembly.Location); Process.GetCurrentProcess().Kill(); break; case "/clear": Core.Debug.Write("Consola limpiada"); if (ConfUCS.IsConsoleMode) { Console.Clear(); } else { MainWindow.RemoteWindow.RTB_Console.Clear(); } break; case "/status": Console.WriteLine("Server IP: " + ConfUCS.GetIP() + " on port 9339"); Console.WriteLine("IP Address (public): " + new WebClient().DownloadString("http://bot.whatismyipaddress.com/")); Console.WriteLine("Online Player: " + ResourcesManager.GetOnlinePlayers().Count); Console.WriteLine("Connected Player: " + ResourcesManager.GetConnectedClients().Count); Console.WriteLine("Starting Gold: " + Settings.StartingGold); Console.WriteLine("Starting Gems: " + Settings.StartingGems); var versionData = FingerPrint.version.Split('.'); Console.WriteLine("CRS Version: " + versionData[0] + "." + versionData[1] + "." + versionData[2]); if (Convert.ToBoolean(Constants.Patching)) { Console.WriteLine("Patch: Active"); Console.WriteLine("Patching Server: " + Constants.PatchURL); } else { Console.WriteLine("Patch: Disable"); } if (Convert.ToBoolean(Settings.Maintenance)) { Console.WriteLine("Maintance Mode: Active"); Console.WriteLine("Maintance time: " + Convert.ToInt32(Settings.MaintenanceDuration) + " Seconds"); } else { Core.Debug.Write("Maintance Mode: Disable"); } break; case "/send sysinfo": Console.WriteLine("Server Status is now sent to all online players"); var mail1 = new AllianceMailStreamEntry(); mail1.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail1.SetSenderId(0); mail1.SetSenderAvatarId(0); mail1.SetSenderName("System Manager"); mail1.SetIsNew(0); mail1.SetAllianceId(0); mail1.SetAllianceBadgeData(0); mail1.SetAllianceName("Legendary Administrator"); mail1.SetMessage("Latest Server Status:\nConnected Players:" + ResourcesManager.GetConnectedClients().Count + "\nIn Memory Alliances:" + ObjectManager.GetInMemoryAlliances().Count + "\nIn Memory Levels:" + ResourcesManager.GetInMemoryLevels().Count); mail1.SetSenderLeagueId(22); mail1.SetSenderLevel(500); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); var pm = new GlobalChatLineMessage(onlinePlayer.GetClient()); pm.SetChatMessage("Our current Server Status is now sent at your mailbox!"); pm.SetPlayerId(0); pm.SetLeagueId(22); pm.SetPlayerName("System Manager"); p.SetAvatarStreamEntry(mail1); p.Send(); pm.Send(); } break; case "/update": UpdateChecker.Check(); break; case "/kick": var CommGet = cmd.Split(' '); if (CommGet.Length >= 2) { try { var id = Convert.ToInt64(CommGet[1]); var l = ResourcesManager.GetPlayer(id); if (ResourcesManager.IsPlayerOnline(l)) { ResourcesManager.LogPlayerOut(l); var p = new OutOfSyncMessage(l.GetClient()); p.Send(); } else { Console.WriteLine("Kick failed: id " + id + " not found"); } } catch (FormatException) { Console.WriteLine("The given id is not a valid number"); } catch (Exception ex) { Console.WriteLine("Kick failed with error: " + ex); } } else { Console.WriteLine("Not enough arguments"); } break; case "/ban": var CommGet1 = cmd.Split(' '); if (CommGet1.Length >= 2) { try { var id = Convert.ToInt64(CommGet1[1]); var l = ResourcesManager.GetPlayer(id); if (l != null) { l.SetAccountStatus(99); l.SetAccountPrivileges(0); if (ResourcesManager.IsPlayerOnline(l)) { new OutOfSyncMessage(l.GetClient()).Send(); } } else { Console.WriteLine("Ban failed: id " + id + " not found"); } } catch (FormatException) { Console.WriteLine("The given id is not a valid number"); } catch (Exception ex) { Console.WriteLine("Ban failed with error: " + ex); } } else { Console.WriteLine("Not enough arguments"); } break; case "/unban": var CommGet2 = cmd.Split(' '); if (CommGet2.Length >= 2) { try { var id = Convert.ToInt64(CommGet2[1]); var l = ResourcesManager.GetPlayer(id); if (l != null) { l.SetAccountStatus(0); } else { Core.Debug.Write("Unban failed: id " + id + " not found"); } } catch (FormatException) { Core.Debug.Write("The given id is not a valid number"); } catch (Exception ex) { Core.Debug.Write("Unban failed with error: " + ex); } } else { Core.Debug.Write("Not enough arguments"); } break; case "/switch": if (ConfUCS.IsConsoleFirst) { Core.Debug.Write("Sorry, you need to launch UCS in GUI mode first."); } else { if (ConfUCS.IsConsoleMode) { ConfUCS.IsConsoleMode = false; ConsoleManage.HideConsole(); InterfaceThread.Start(); Core.Debug.Write("Switched to GUI"); ControlTimer.SwitchTimer(); } else { ConfUCS.IsConsoleMode = true; ConsoleManage.ShowConsole(); Console.SetOut(AllocateConsole.StandardConsole); MainWindow.RemoteWindow.Hide(); Console.Title = ConfUCS.UnivTitle; Core.Debug.Write("Switched to Console"); ControlTimer.SwitchTimer(); ManageConsole(); } } break; default: Core.Debug.Write("Unknown command ( " + cmd + " ). Type \"/help\" for a list containing all available commands."); break; } } catch (Exception) { Core.Debug.Write("Something wrong happens..."); // throw; } // else if (cmd.ToLower().StartsWith("/mute")) // { // var CommGet = cmd.Split(' '); // if (CommGet.Length >= 2) // { // try // { // var id = Convert.ToInt64(CommGet[1]); // var l = ResourcesManager.GetPlayer(id); // if (ResourcesManager.IsPlayerOnline(l)) // { // var p = new BanChatTrigger(l.GetClient()); // p.SetCode(999999999); // PacketManager.ProcessOutgoingPacket(p); // } // else // { // Console.WriteLineDebug("Chat Mute failed: id " + id + " not found", CoreWriter.level.DEBUGLOG); // } // } // catch (FormatException) // { // Console.WriteLineDebug("The given id is not a valid number", CoreWriter.level.DEBUGFATAL); // } // catch (Exception ex) // { // Console.WriteLineDebug("Chat Mute failed with error: " + ex, CoreWriter.level.DEBUGFATAL); // } // } // else Console.WriteLineDebug("Not enough arguments", CoreWriter.level.DEBUGFATAL); // } if (ConfUCS.IsConsoleMode) { ManageConsole(); } }