public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("UCS Info Bot"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("UCS Info Bots"); mail.SetMessage( "Here is the current UCS Developer Team:\n\n\nDev Leader:\nAidid\n\nDevelopers:\nBerkan,\nAbdu, \nTobiti\nAnd iSwuerfel\n\n"); mail.SetSenderLeagueId(22); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } } else { SendCommandFailedMessage(level.GetClient()); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("UCS Information Bot"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("UCS System"); mail.SetMessage( "UCS Game Server FAQ:\n\nHow long is this server online?\nThis Server is 24/7 online every day in the week.\n\nWhat is UCS Shard?\nUCS Shard is the OFFICIAL Test server of the famous CoC Emulator: Ultrapowa Clash Server.\n\nIs my progress saved?\nYes, we save everything automatically.\n\nWhere can I find the homepage with the forum?\nHomePage: http://ultrapowa.com/shard \n\nMy Friends want to player here too, how can they play here?\nGive them our APK or Server IP, you can find both at the forums!\n\n\nGreetings,\n\nUCS Shard Team"); mail.SetSenderLeagueId(22); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } } else { SendCommandFailedMessage(level.GetClient()); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { var avatar = level.GetPlayerAvatar(); var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(avatar.GetId()); mail.SetSenderAvatarId(avatar.GetId()); mail.SetSenderName(avatar.GetAvatarName()); mail.SetIsNew(2); mail.SetAllianceId(0); mail.SetAllianceBadgeData(1526735450); mail.SetAllianceName("UCS Server Information"); mail.SetMessage(@"Online Players: " + ResourcesManager.GetOnlinePlayers().Count + "\nIn Memory Players: " + ResourcesManager.GetInMemoryLevels().Count + "\nConnected Players: " + ResourcesManager.GetConnectedClients().Count + "\nServer Ram: " + Performances.GetUsedMemory() + "% / " + Performances.GetTotalMemory() + "MB" ); mail.SetSenderLevel(avatar.GetAvatarLevel()); mail.SetSenderLeagueId(avatar.GetLeagueId()); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketProcessor.Send(p); } } else { SendCommandFailedMessage(level.GetClient()); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { //"Established Connections: " Maybe useless string message = string.Join("\n", m_vArgs.Skip(1)); AllianceMailStreamEntry mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("UCS System"); 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); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } } } else { SendCommandFailedMessage(level.GetClient()); } }
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 void Process(Level a) { if (Client.CState >= 1) { CheckClient(); // IF THE USER IS TOTALLY NEW, WITH ID 0 AND NO TOKEN if (UserID == 0 || string.IsNullOrEmpty(UserToken)) { NewUser(); return; } level = ResourcesManager.GetPlayer(UserID); // THE USER HAVE AN ID, WE CHECK IF IT'S IN DATABASE if (level != null) { if (level.Banned()) // IF THE USER IS FOUND BUT BANNED { var p = new LoginFailedMessage(Client); p.SetErrorCode(11); PacketManager.ProcessOutgoingPacket(p); return; } if (String.Equals(level.GetPlayerAvatar().GetUserToken(), UserToken, StringComparison.Ordinal)) // IF THE USER TOKEN MATCH THE CLIENT TOKEN { LogUser(); } else // ELSE, HE IS TRYING TO STEAL AN ACCOUNT { var p = new LoginFailedMessage(Client); p.SetErrorCode(11); p.SetReason("We have detected unrecognized token sended from your devices. Please contact server owner for more information"); PacketManager.ProcessOutgoingPacket(p); return; } } else // IF NOTHING IS FOUND IN DATABASE WITH THIS ID, WE CREATE A NEW { NewUser(); } if (ResourcesManager.IsPlayerOnline(level)) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("Server Manager"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetSenderLeagueId(22); mail.SetAllianceBadgeData(1728059989); mail.SetAllianceName("Server Admin"); mail.SetMessage(ConfigurationManager.AppSettings["AdminMessage"]); mail.SetSenderLevel(500); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("UCS Info Bot"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("UCS System"); mail.SetMessage( "Here you can find general Informations about UCS:\n\nUCS is a Server Emulator that run Clash Of Clans\nYou can test our latest Server Builds at Shard."); mail.SetSenderLeagueId(22); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } } else { SendCommandFailedMessage(level.GetClient()); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { var avatar = level.GetPlayerAvatar(); var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(avatar.GetId()); mail.SetSenderAvatarId(avatar.GetId()); mail.SetSenderName(avatar.GetAvatarName()); mail.SetIsNew(0); mail.SetAllianceId(1); mail.SetAllianceBadgeData(0); mail.SetAllianceName("UCS Information"); mail.SetMessage("Your Player ID: " + level.GetPlayerAvatar().GetId()); mail.SetSenderLevel(avatar.GetAvatarLevel()); mail.SetSenderLeagueId(avatar.GetLeagueId()); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } } else { SendCommandFailedMessage(level.GetClient()); } }
public override void Execute(Level level) { var avatar = level.GetPlayerAvatar(); var allianceId = avatar.GetAllianceId(); if (allianceId > 0) { var alliance = ObjectManager.GetAlliance(allianceId); if (alliance != null) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetAvatar(avatar); mail.SetIsNew(2); mail.SetSenderId(avatar.GetId()); mail.SetAllianceId(allianceId); mail.SetAllianceBadgeData(alliance.GetAllianceBadgeData()); mail.SetAllianceName(alliance.GetAllianceName()); mail.SetMessage(m_vMailContent); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { if (onlinePlayer.GetPlayerAvatar().GetAllianceId() == allianceId) { var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } } } } }
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 void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { string message = string.Join(" ", m_vArgs.Skip(1)); var avatar = level.GetPlayerAvatar(); AllianceMailStreamEntry mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(avatar.GetId()); mail.SetSenderAvatarId(avatar.GetId()); mail.SetSenderName(avatar.GetAvatarName()); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("Legendary Administrator"); mail.SetMessage(message); mail.SetSenderLevel(avatar.GetAvatarLevel()); mail.SetSenderLeagueId(avatar.GetLeagueId()); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } } } else { SendCommandFailedMessage(level.GetClient()); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { var avatar = level.GetPlayerAvatar(); AllianceMailStreamEntry mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("System Admin"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("System Manager"); mail.SetMessage("System is restarting in a few moments"); mail.SetSenderLevel(500); mail.SetSenderLeagueId(22); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } System.Diagnostics.Process.Start(@"tools\ucs-restart.bat"); } } else { SendCommandFailedMessage(level.GetClient()); } }
async void LogUser() { try { ResourcesManager.LogPlayerIn(level, Client); level.Tick(); level.SetIPAddress(Client.CIPAddress); LoginOkMessage l = new LoginOkMessage(Client); ClientAvatar avatar = level.GetPlayerAvatar(); l.SetAccountId(avatar.GetId()); l.SetPassToken(avatar.GetUserToken()); l.SetServerMajorVersion(MajorVersion); l.SetServerBuild(MinorVersion); l.SetContentVersion(ContentVersion); l.SetServerEnvironment("prod"); l.SetDaysSinceStartedPlaying(0); l.SetServerTime(Math.Round(level.GetTime().Subtract(new DateTime(1970, 1, 1)).TotalSeconds * 1000).ToString(CultureInfo.InvariantCulture)); l.SetAccountCreatedDate(avatar.GetAccountCreationDate().ToString()); l.SetStartupCooldownSeconds(0); l.SetCountryCode(avatar.GetUserRegion().ToUpper()); PacketProcessor.Send(l); Alliance alliance = await ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId()); if (ResourcesManager.IsPlayerOnline(level)) { AllianceMailStreamEntry mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); /*FOR FHX*/ //mail.SetSenderName("Clash Of Heroes Team"); mail.SetSenderName("Server Manager"); mail.SetIsNew(2); mail.SetAllianceId(0); mail.SetSenderLeagueId(22); mail.SetAllianceBadgeData(1526735450); /*FOR FHX*/ //mail.SetAllianceName("COH-TEAM"); mail.SetAllianceName("Server Admin"); mail.SetMessage(ConfigurationManager.AppSettings["AdminMessage"]); mail.SetSenderLevel(500); AvatarStreamEntryMessage p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketProcessor.Send(p); } if (alliance != null) { PacketProcessor.Send(new AllianceFullEntryMessage(Client, alliance)); PacketProcessor.Send(new AllianceStreamMessage(Client, alliance)); PacketProcessor.Send(new AllianceWarHistoryMessage(Client, alliance)); } PacketProcessor.Send(new AvatarStreamMessage(Client)); PacketProcessor.Send(new OwnHomeDataMessage(Client, level)); PacketProcessor.Send(new BookmarkMessage(Client)); } catch (Exception) { } }
private void LogUser() { ResourcesManager.LogPlayerIn(level, Client); level.Tick(); var loginOk = new LoginOkMessage(Client); var avatar = level.GetPlayerAvatar(); loginOk.SetAccountId(avatar.GetId()); loginOk.SetPassToken(avatar.GetUserToken()); loginOk.SetServerMajorVersion(MajorVersion); loginOk.SetServerBuild(MinorVersion); loginOk.SetContentVersion(ContentVersion); loginOk.SetServerEnvironment("prod"); loginOk.SetDaysSinceStartedPlaying(0); loginOk.SetServerTime(Math.Round(level.GetTime().Subtract(new DateTime(1970, 1, 1)).TotalSeconds * 1000).ToString(CultureInfo.InvariantCulture)); loginOk.SetAccountCreatedDate(avatar.GetAccountCreationDate().ToString()); loginOk.SetStartupCooldownSeconds(0); loginOk.SetCountryCode(avatar.GetUserRegion() ?? "EN"); loginOk.Send(); var alliance = ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId()); if (ResourcesManager.IsPlayerOnline(level)) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("Clash of Magic Admin"); mail.SetIsNew(2); mail.SetAllianceId(0); mail.SetSenderLeagueId(22); mail.SetAllianceBadgeData(1526735450); mail.SetAllianceName("Clash of Magic Admin"); mail.SetMessage(ConfigurationManager.AppSettings["AdminMessage"]); mail.SetSenderLevel(500); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); p.Send(); } new OwnHomeDataMessage(Client, level).Send(); // THIS MESSAGE MUST BE SENT FIRST !!! new AvatarStreamMessage(Client).Send(); if (alliance != null) { new AllianceFullEntryMessage(Client, alliance).Send(); new AllianceStreamMessage(Client, alliance).Send(); new AllianceWarHistoryMessage(Client, alliance).Send(); //PacketManager.ProcessOutgoingPacket (new AllianceWarMapDataMessage(Client)); //Don't activate it (not done!) } new BookmarkMessage(Client).Send(); }
void LogUser() { ResourcesManager.LogPlayerIn(level, Client); level.Tick(); var loginOk = new LoginOkMessage(Client); var avatar = level.GetPlayerAvatar(); loginOk.SetAccountId(avatar.GetId()); loginOk.SetPassToken(avatar.GetUserToken()); loginOk.SetServerMajorVersion(MajorVersion); loginOk.SetServerBuild(MinorVersion); loginOk.SetContentVersion(ContentVersion); loginOk.SetServerEnvironment("prod"); loginOk.SetDaysSinceStartedPlaying(0); loginOk.SetServerTime(Math.Round(level.GetTime().Subtract(new DateTime(1970, 1, 1)).TotalSeconds * 1000).ToString(CultureInfo.InvariantCulture)); loginOk.SetAccountCreatedDate("1414003838000"); loginOk.SetStartupCooldownSeconds(0); loginOk.SetCountryCode(avatar.GetUserRegion().ToUpper()); PacketManager.ProcessOutgoingPacket(loginOk); PacketManager.ProcessOutgoingPacket(new OwnHomeDataMessage(Client, level)); var alliance = ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId()); if (ResourcesManager.IsPlayerOnline(level)) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("Server Manager"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetSenderLeagueId(22); mail.SetAllianceBadgeData(1728059989); mail.SetAllianceName("Server Admin"); mail.SetMessage(ConfigurationManager.AppSettings["AdminMessage"]); mail.SetSenderLevel(500); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } if (alliance != null) { PacketManager.ProcessOutgoingPacket(new AllianceFullEntryMessage(Client, alliance)); PacketManager.ProcessOutgoingPacket(new AllianceStreamMessage(Client, alliance)); PacketManager.ProcessOutgoingPacket(new AllianceWarHistoryMessage(Client)); } PacketManager.ProcessOutgoingPacket(new BookmarkMessage(Client)); }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { var avatar = level.GetPlayerAvatar(); var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(avatar.GetId()); mail.SetSenderAvatarId(avatar.GetId()); mail.SetSenderName(avatar.GetAvatarName()); mail.SetIsNew(2); mail.SetAllianceId(0); mail.SetAllianceBadgeData(1526735450); mail.SetAllianceName("UCS Server Commands Help"); mail.SetMessage(@"/help" + "\n/attack" + "\n/ban" + "\n/kick" + "\n/rename" + "\n/setprivileges" + "\n/shutdown" + "\n/unban" + "\n/visit" + "\n/sysmsg" + "\n/id" + "\n/max" + "\n/saveacc" + "\n/saveall" + "\n/becomeleader" + "\n/status"); mail.SetSenderLevel(avatar.GetAvatarLevel()); mail.SetSenderLeagueId(avatar.GetLeagueId()); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); p.Send(); } } else { SendCommandFailedMessage(level.GetClient()); } }
public override void Execute(Level level) { SendAllianceMailCommand allianceMailCommand = this; try { ClientAvatar avatar = level.GetPlayerAvatar(); long allianceId = avatar.GetAllianceId(); if (allianceId > 0L) { Alliance alliance = ObjectManager.GetAlliance(allianceId); if (alliance != null) { AllianceMailStreamEntry allianceMailStreamEntry1 = new AllianceMailStreamEntry(); allianceMailStreamEntry1.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); allianceMailStreamEntry1.SetAvatar(avatar); allianceMailStreamEntry1.SetIsNew((byte)2); allianceMailStreamEntry1.SetSenderId(avatar.GetId()); allianceMailStreamEntry1.SetAllianceId(allianceId); allianceMailStreamEntry1.SetAllianceBadgeData(alliance.GetAllianceBadgeData()); allianceMailStreamEntry1.SetAllianceName(alliance.GetAllianceName()); allianceMailStreamEntry1.SetMessage(m_vMailContent); foreach (Level onlinePlayer in ResourcesManager.GetOnlinePlayers()) { if (onlinePlayer.GetPlayerAvatar().GetAllianceId() == allianceId) { AvatarStreamEntryMessage Message = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); AllianceMailStreamEntry allianceMailStreamEntry2 = allianceMailStreamEntry1; Message.SetAvatarStreamEntry((UCS.Logic.AvatarStreamEntry.AvatarStreamEntry)allianceMailStreamEntry2); Message.Send(); } } } } avatar = (ClientAvatar)null; } catch (Exception ex) { } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { _cpuCounter.NextValue(); //Always 0 var avatar = level.GetPlayerAvatar(); var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(avatar.GetId()); mail.SetSenderAvatarId(avatar.GetId()); mail.SetSenderName(avatar.GetAvatarName()); mail.SetIsNew(2); mail.SetAllianceId(0); mail.SetAllianceBadgeData(1526735450); mail.SetAllianceName("UCS Server Information"); mail.SetMessage(@"Online Players: " + ResourcesManager.GetOnlinePlayers().Count + "\nIn Memory Players: " + ResourcesManager.GetInMemoryLevels().Count + "\nConnected Players: " + ResourcesManager.GetConnectedClients().Count + //"\nUCS Ram: " + (Process.GetCurrentProcess().WorkingSet64 / 1048576) + "MB/" + //Unknown yet how to get properly "\nServer Ram: " + PerformanceInfo.GetPhysicalAvailableMemoryInMiB() + "MB/" + Performances.GetTotalMemory() + "MB" + "\nServer CPU " + _cpuCounter.NextValue() + "%" //Match Taskmanager ); mail.SetSenderLevel(avatar.GetAvatarLevel()); mail.SetSenderLeagueId(avatar.GetLeagueId()); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); p.Send(); } } else { SendCommandFailedMessage(level.GetClient()); } }
private void PlayersMailBoxBtn_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(MessageSenderNameTextBox.Text); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(1728059989); mail.SetAllianceName(MessageSenderNameTextBox.Text); mail.SetMessage(CMessageTextBox.Text); mail.SetSenderLevel(500); mail.SetSenderLeagueId(22); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } }
private void materialRaisedButton10_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(textBox23.Text); mail.SetIsNew(2); // 0 = Seen, 2 = New mail.SetAllianceId(0); mail.SetAllianceBadgeData(1728059989); mail.SetAllianceName("Ultrapowa"); mail.SetMessage(textBox24.Text); mail.SetSenderLevel(300); mail.SetSenderLeagueId(22); foreach (var onlinePlayer in ResourcesManager.GetOnlinePlayers()) { var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } }
public override void Process(Level level) { try { if (m_vMaintance) { Console.WriteLine("Hi"); } if (Convert.ToBoolean(ConfigurationManager.AppSettings["maintenanceProMode"])) { if (Convert.ToBoolean(ConfigurationManager.AppSettings["adminSpecialMode"])) { level = ResourcesManager.GetPlayer(m_vAccountId); if (level != null && level.GetAccountPrivileges() > 3) { } else { var p = new LoginFailedMessage(Client); p.SetErrorCode(10); p.RemainingTime(0); p.SetReason(ConfigurationManager.AppSettings["maintenanceProMessage"]); PacketManager.ProcessOutgoingPacket(p); return; } } else { var p = new LoginFailedMessage(Client); p.SetErrorCode(10); p.RemainingTime(0); p.SetReason(ConfigurationManager.AppSettings["maintenanceProMessage"]); PacketManager.ProcessOutgoingPacket(p); return; } } if (Convert.ToBoolean(ConfigurationManager.AppSettings["maintenanceMode"])) { if (Convert.ToBoolean(ConfigurationManager.AppSettings["adminSpecialMode"])) { level = ResourcesManager.GetPlayer(m_vAccountId); if (level != null && level.GetAccountPrivileges() > 3) { } else { var p = new LoginFailedMessage(Client); p.SetErrorCode(10); p.RemainingTime(Convert.ToInt32(ConfigurationManager.AppSettings["maintenanceTimeLeft"])); PacketManager.ProcessOutgoingPacket(p); return; } } else { var p = new LoginFailedMessage(Client); p.SetErrorCode(10); p.RemainingTime(Convert.ToInt32(ConfigurationManager.AppSettings["maintenanceTimeLeft"])); PacketManager.ProcessOutgoingPacket(p); return; } } var versionData = ConfigurationManager.AppSettings["clientVersion"].Split('.'); if (versionData.Length >= 2) { if (m_vClientMajorVersion != Convert.ToInt32(versionData[0]) || m_vClientBuild != Convert.ToInt32(versionData[1])) { var p = new LoginFailedMessage(Client); p.SetErrorCode(8); p.SetUpdateURL(ConfigurationManager.AppSettings["oldClientVersion"]); PacketManager.ProcessOutgoingPacket(p); return; } } else { Debugger.WriteLine("Connection failed. UCS config key clientVersion is not properly set."); } level = ResourcesManager.GetPlayer(m_vAccountId); if (level != null) { if (level.GetAccountStatus() == 99) { var p = new LoginFailedMessage(Client); p.SetErrorCode(11); PacketManager.ProcessOutgoingPacket(p); return; } } if (Convert.ToBoolean(ConfigurationManager.AppSettings["useCustomPatch"])) { if (m_vResourceSha != ObjectManager.FingerPrint.sha) { var p = new LoginFailedMessage(Client); p.SetErrorCode(7); p.SetResourceFingerprintData(ObjectManager.FingerPrint.SaveToJson()); p.SetContentURL(ConfigurationManager.AppSettings["patchingServer"]); p.SetUpdateURL(ConfigurationManager.AppSettings["oldClientVersion"]); PacketManager.ProcessOutgoingPacket(p); return; } } Client.ClientSeed = m_vClientSeed; PacketManager.ProcessOutgoingPacket(new SessionKeyMessage(Client)); Debugger.WriteLine("[M] Retrieve Player Data for player " + m_vAccountId, null, 5); //New player if (level == null) { level = ObjectManager.CreateAvatar(m_vAccountId); var tokenSeed = new byte[20]; new Random().NextBytes(tokenSeed); SHA1 sha = new SHA1CryptoServiceProvider(); m_vPassToken = BitConverter.ToString(sha.ComputeHash(tokenSeed)).Replace("-", ""); } if (level.GetAccountPrivileges() == 1) { level.GetPlayerAvatar().SetLeagueId(12); } if (level.GetAccountPrivileges() == 2) { level.GetPlayerAvatar().SetLeagueId(15); } if (level.GetAccountPrivileges() == 3) { level.GetPlayerAvatar().SetLeagueId(18); } if (level.GetAccountPrivileges() == 4) { level.GetPlayerAvatar().SetLeagueId(21); } if (level.GetAccountPrivileges() == 5) { level.GetPlayerAvatar().SetLeagueId(22); } ResourcesManager.LogPlayerIn(level, Client); level.Tick(); var loginOk = new LoginOkMessage(Client); var avatar = level.GetPlayerAvatar(); loginOk.SetAccountId(avatar.GetId()); loginOk.SetPassToken(m_vPassToken); loginOk.SetServerMajorVersion(m_vClientMajorVersion); loginOk.SetServerBuild(m_vClientBuild); loginOk.SetContentVersion(m_vClientContentVersion); loginOk.SetServerEnvironment("dev"); loginOk.SetDaysSinceStartedPlaying(21222); loginOk.SetPlayTimeSeconds(62072000); //loginOk.SetFacebookId("100001230452744"); //loginOk.SetGamecenterId(""); loginOk.SetServerTime( Math.Round(level.GetTime().Subtract(new DateTime(1970, 1, 1)).TotalSeconds *1000) .ToString()); loginOk.SetAccountCreatedDate("1414003838000"); loginOk.SetStartupCooldownSeconds(0); loginOk.SetCountryCode("US"); PacketManager.ProcessOutgoingPacket(loginOk); var alliance = ObjectManager.GetAlliance(level.GetPlayerAvatar().GetAllianceId()); if (alliance == null) { level.GetPlayerAvatar().SetAllianceId(0); } PacketManager.ProcessOutgoingPacket(new OwnHomeDataMessage(Client, level)); if (alliance != null) { PacketManager.ProcessOutgoingPacket(new AllianceStreamMessage(Client, alliance)); } if (ResourcesManager.IsPlayerOnline(level)) { 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.SetSenderLeagueId(22); mail.SetAllianceBadgeData(1728059989); mail.SetAllianceName("System Bot"); mail.SetMessage(ConfigurationManager.AppSettings["welcomeMessage"]); mail.SetSenderLevel(500); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } } catch { var p = new LoginFailedMessage(Client); p.SetErrorCode(9); p.SetRedirectDomain(ConfigurationManager.AppSettings["failSafe"]); 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 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 void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length <= 1) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("Shard Info Bot"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("UCS Shard Bots"); mail.SetMessage( "Your Security Level: Moderator\n\nHere are the available commands for you:\n\n/rename #ID - This will rename a user\n/kick #ID - This will kick a user"); mail.SetSenderLeagueId(22); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } if (m_vArgs.Length <= 2) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("Shard Info Bot"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("UCS Shard Bots"); mail.SetMessage( "Your Security Level: High Moderator\n\nHere are the available commands for you:\n\n/rename #ID - This will rename a user\n/kick #ID - This will kick a user\n/Ban #ID - This will ban a user\n/unban #ID - This will unban a user"); mail.SetSenderLeagueId(22); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } if (m_vArgs.Length <= 3) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("Shard Info Bot"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("UCS Shard Bots"); mail.SetMessage( "Your Security Level: Unused\n\nHere are the available commands for you:\n\n/rename #ID - This will rename a user\n/kick #ID - This will kick a user\n/Ban #ID - This will ban a user\n/unban #ID - This will unban a user\n"); mail.SetSenderLeagueId(22); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } if (m_vArgs.Length <= 4) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("Shard Info Bot"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("UCS Shard Bots"); mail.SetMessage( "Your Security Level: Administrator\n\nHere are the available commands for you:\n\n/rename #ID - This will rename a user\n/kick #ID - This will kick a user\n/Ban #ID - This will ban a user\n/unban #ID - This will unban a user"); mail.SetSenderLeagueId(22); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } if (m_vArgs.Length <= 5) { var mail = new AllianceMailStreamEntry(); mail.SetId((int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds); mail.SetSenderId(0); mail.SetSenderAvatarId(0); mail.SetSenderName("Shard Info Bot"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("UCS Shard Bots"); mail.SetMessage( "Your Security Level: Server Owner\n\nHere are the available commands for you:\n\n/rename #ID - This will rename a user\n/kick #ID - This will kick a user\n/Ban #ID - This will ban a user\n/unban #ID - This will unban a user\n/SetLeague #ID #League - Set a league\n/Setscore #ID #Score - This will set trophies\n/Setprivileges #ID #Rank - Set the rank of another player\n/Shutdown - Initiates Shutdown\n/restart - This will initiate the restart of the server."); mail.SetSenderLeagueId(22); var p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); PacketManager.ProcessOutgoingPacket(p); } else { SendCommandFailedMessage(level.GetClient()); } } }
private void cmdSubmutBtn_Click(object sender, EventArgs e) { dpServerConsole.SelectionStart = dpServerConsole.Text.Length; dpServerConsole.ScrollToCaret(); if (EnterCmdTextBox.Text == "/clear") { dpServerConsole.Clear(); } else if (EnterCmdTextBox.Text == "/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(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); } dpServerConsole.Text += Environment.NewLine + "Message Sent To Users And Server Is Restarting ..."; Console.WriteLine("Message Sent To Users And Server Is Restarting ..."); Program.RestartProgram(); StatusLabel.Text = "Status : Restart"; } else if (EnterCmdTextBox.Text == "/info") { dpServerConsole.Text += Environment.NewLine + @"Created By UCS Team Aidid Berkan Iswuefel Moien007 Tobiti"; } else if (EnterCmdTextBox.Text == "/quit") { Environment.Exit(1); } else { dpServerConsole.Text += Environment.NewLine + "unknown command = " + EnterCmdTextBox.Text + Environment.NewLine; } EnterCmdTextBox.Clear(); }
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(); } }
public override void Execute(Level level) { if (level.GetAccountPrivileges() >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 2) { try { long id = Convert.ToInt64(m_vArgs[1]); Level l = ResourcesManager.GetPlayer(id); if (l != null) { ClientAvatar acc = l.GetPlayerAvatar(); Message = "Player Info : \n\n" + "ID = " + id + "\nName = " + acc.GetAvatarName() + "\nCreation Date : " + acc.GetAccountCreationDate() + "\nRegion : " + acc.GetUserRegion() + "\nIP Address : " + l.GetIPAddress(); if (acc.GetAllianceId() != 0) { Message = Message + "\nClan Name : " + ObjectManager.GetAlliance(acc.GetAllianceId()).GetAllianceName(); switch (acc.GetAllianceRole()) { case 1: Message = Message + "\nClan Role : Member"; break; case 2: Message = Message + "\nClan Role : Leader"; break; case 3: Message = Message + "\nClan Role : Elder"; break; case 4: Message = Message + "\nClan Role : Co-Leader"; break; default: Message = Message + "\nClan Role : Unknown"; break; } } Message = Message + "\nLevel : " + acc.GetAvatarLevel() + "\nTrophy : " + acc.GetScore() + "\nTown Hall Level : " + (acc.GetTownHallLevel() + 1) + "\nAlliance Castle Level : " + (acc.GetAllianceCastleLevel() + 1); var avatar = level.GetPlayerAvatar(); AllianceMailStreamEntry mail = new AllianceMailStreamEntry(); mail.SetSenderId(avatar.GetId()); mail.SetSenderAvatarId(avatar.GetId()); mail.SetSenderName(avatar.GetAvatarName()); mail.SetIsNew(2); mail.SetAllianceId(0); mail.SetAllianceBadgeData(1526735450); mail.SetAllianceName("UCS Server Information"); mail.SetMessage(Message); mail.SetSenderLevel(avatar.GetAvatarLevel()); mail.SetSenderLeagueId(avatar.GetLeagueId()); AvatarStreamEntryMessage p = new AvatarStreamEntryMessage(level.GetClient()); p.SetAvatarStreamEntry(mail); p.Send(); } } catch (Exception) { GlobalChatLineMessage c = new GlobalChatLineMessage(level.GetClient()); c.SetChatMessage("Command Failed, Wrong Format Or User Doesn't Exist (/accinfo id)."); c.SetPlayerId(level.GetPlayerAvatar().GetId()); c.SetLeagueId(22); c.SetPlayerName("Ultrapowa Clash Server"); c.Send(); return; } } else { GlobalChatLineMessage b = new GlobalChatLineMessage(level.GetClient()); b.SetChatMessage("Command Failed, Wrong Format (/accinfo id)."); b.SetPlayerId(level.GetPlayerAvatar().GetId()); b.SetLeagueId(22); b.SetPlayerName("Ultrapowa Clash Server"); b.Send(); } } }
public Menu() { while (true) { Console.WriteLine(""); string line = Console.ReadLine(); 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") { AllianceMailStreamEntry 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...."); System.Diagnostics.Process.Start(@"tools\ucs-restart.bat"); } else if (line == "/status") { string hostName = Dns.GetHostName(); string IPM = Dns.GetHostByName(hostName).AddressList[0].ToString(); Console.WriteLine("Server IP : " + IPM + " on port 9339"); Console.WriteLine("Players Online : " + ResourcesManager.GetOnlinePlayers().Count); Console.WriteLine("Starting Gold : " + Int32.Parse(ConfigurationManager.AppSettings["StartingGold"])); Console.WriteLine("Starting Elixir : " + Int32.Parse(ConfigurationManager.AppSettings["StartingElixir"])); Console.WriteLine("Starting Dark Elixir : " + Int32.Parse(ConfigurationManager.AppSettings["StartingDarkElixir"])); Console.WriteLine("Starting Gems : " + Int32.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"); AllianceMailStreamEntry 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("/restart - This commands restart server and sending online player info about it."); 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.ForegroundColor = ConsoleColor.White; } else { Console.WriteLine(""); Console.WriteLine("Available commands :"); Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("/restart - This commands restart server and sending online player info about it."); 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.ForegroundColor = ConsoleColor.White; } } }