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 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 System"); mail.SetIsNew(0); mail.SetAllianceId(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("Legendary Administrator"); mail.SetMessage("Latest Server Status:\nConnected Players:" + ResourcesManager.GetOnlinePlayers().Count + "\nIn Memory Alliances:" + ObjectManager.GetInMemoryAlliances().Count + "\nIn Memory Levels:" + ResourcesManager.GetInMemoryLevels().Count + "\nIn Database Accounts:" + ResourcesManager.GetAllPlayerIds().Count); 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) { 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 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.Avatar.AccountPrivileges >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { ClientAvatar avatar = level.Avatar; var mail = new AllianceMailStreamEntry(); mail.ID = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; mail.SetSender(avatar); mail.IsNew = 2; mail.AllianceId = 0; mail.AllianceBadgeData = 1526735450; mail.AllianceName = "UCS Server Information"; mail.Message = @"Online Players: " + ResourcesManager.m_vOnlinePlayers.Count + "\nIn Memory Players: " + ResourcesManager.m_vInMemoryLevels.Count + "\nConnected Players: " + ResourcesManager.GetConnectedClients().Count + "\nServer Ram: " + Performances.GetUsedMemory() + "% / " + Performances.GetTotalMemory() + "MB"; var p = new AvatarStreamEntryMessage(level.Client); p.SetAvatarStreamEntry(mail); Processor.Send(p); } } else { SendCommandFailedMessage(level.Client); } }
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.Avatar.AccountPrivileges >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { string message = string.Join(" ", m_vArgs.Skip(1)); ClientAvatar avatar = level.Avatar; var mail = new AllianceMailStreamEntry(); mail.ID = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; mail.SetSender(avatar); mail.IsNew = 2; mail.AllianceId = 0; mail.AllianceBadgeData = 1526735450; mail.AllianceName = "Administrator"; mail.Message = message; foreach (var onlinePlayer in ResourcesManager.m_vOnlinePlayers) { var p = new AvatarStreamEntryMessage(onlinePlayer.Client); p.SetAvatarStreamEntry(mail); Processor.Send(p); } } } else { SendCommandFailedMessage(level.Client); } }
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) { var message = string.Join(" ", m_vArgs.Skip(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(0); mail.SetAllianceBadgeData(0); mail.SetAllianceName("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()); } }
private void AddAvatarStreamEntry(AvatarStreamEntry entry) { if (this.AvatarStreamList.Size() > 50) { this.RemoveAvatarStreamEntry(this.AvatarStreamList[0]); } this.AvatarStreamList.Add(entry.GetId()); if (this.CurrentSession != null) { AvatarStreamEntryMessage avatarStreamEntryMessage = new AvatarStreamEntryMessage(); avatarStreamEntryMessage.SetAvatarStreamEntry(entry); this.CurrentSession.SendPiranhaMessage(avatarStreamEntryMessage, 1); if (entry.IsNew()) { ServerMessageManager.SendMessage(new AvatarStreamSeenMessage { AccountId = entry.GetId() }, 11); } } else { GameAvatar.Save(this); } }
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(); }
public override void Execute(Level level) { if (level.Avatar.AccountPrivileges >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_PerfFormattedData_PerfOS_Processor"); var cpuTimes = searcher.Get() .Cast <ManagementObject>() .Select(mo => new { Name = mo["Name"], Usage = mo["PercentProcessorTime"] } ) .ToList(); var query = cpuTimes.Where(x => x.Name.ToString() == "_Total").Select(x => x.Usage); var CPUParcentage = query.SingleOrDefault(); RAMUsage = PerformanceInfo.GetTotalMemoryInMiB() - PerformanceInfo.GetPhysicalAvailableMemoryInMiB(); DriveLetter = Path.GetPathRoot(Directory.GetCurrentDirectory()); DiskSpace = new DriveInfo(DriveLetter.Substring(0, DriveLetter.Length - 2)); TotalFreeSpace = DiskSpace.TotalFreeSpace / 1073741824; TotalDiskSize = DiskSpace.TotalSize / 1073741824; DiskspaceUsed = TotalDiskSize - TotalFreeSpace; ClientAvatar avatar = level.Avatar; var mail = new AllianceMailStreamEntry(); mail.ID = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; mail.SetSender(avatar); mail.IsNew = 2; mail.AllianceId = 0; mail.AllianceBadgeData = 1526735450; mail.AllianceName = "UCS Server Information"; mail.Message = @"Online Players: " + ResourcesManager.m_vOnlinePlayers.Count + "\nIn Memory Players: " + ResourcesManager.m_vInMemoryLevels.Count + "\nConnected Players: " + ResourcesManager.GetConnectedClients().Count + "\nTotal System CPU Usage: " + CPUParcentage + "%" + "\nServer RAM: " + Performances.GetUsedMemory() + "% / " + Performances.GetTotalMemory() + "MB" + "\nTotal Server Ram Usage: " + RAMUsage + "MB / " + Performances.GetTotalMemory() + "MB" + "\nServer Disk Space Used: " + Math.Round(DiskspaceUsed, 2) + "GB / " + Math.Round(TotalDiskSize, 2) + "GB"; var p = new AvatarStreamEntryMessage(level.Client); p.SetAvatarStreamEntry(mail); Processor.Send(p); } } else { SendCommandFailedMessage(level.Client); } }
private async void LogUser() { ResourcesManager.LogPlayerIn(level, Device); level.Avatar.Region = Resources.Region.GetIpCountry(level.Avatar.IPAddress = Device.IPAddress); new LoginOkMessage(this.Device) { ServerMajorVersion = MajorVersion, ServerBuild = MinorVersion, ContentVersion = ContentVersion }.Send(); if (level.Avatar.AllianceId > 0) { Alliance alliance = ObjectManager.GetAlliance(level.Avatar.AllianceId); if (alliance != null) { new AllianceFullEntryMessage(this.Device, alliance).Send(); new AllianceStreamMessage(this.Device, alliance).Send(); new AllianceWarHistoryMessage(this.Device, alliance).Send(); } else { this.level.Avatar.AllianceId = 0; } } new AvatarStreamMessage(this.Device).Send(); new OwnHomeDataMessage(this.Device, level).Send(); new BookmarkMessage(this.Device).Send(); if (ResourcesManager.IsPlayerOnline(level)) { AllianceMailStreamEntry mail = new AllianceMailStreamEntry(); mail.ID = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; mail.SenderId = 0; //mail.SetSenderName("Clash Of Heroes Team"); mail.m_vSenderName = "Server Manager"; mail.IsNew = 2; mail.AllianceId = 0; mail.m_vSenderLeagueId = 22; mail.AllianceBadgeData = 1526735450; //mail.SetAllianceName("COH-TEAM"); mail.AllianceName = "Server Admin"; mail.Message = ConfigurationManager.AppSettings["AdminMessage"]; mail.m_vSenderLevel = 500; AvatarStreamEntryMessage p = new AvatarStreamEntryMessage(level.Client); p.SetAvatarStreamEntry(mail); p.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) { if (level.Avatar.AccountPrivileges >= GetRequiredAccountPrivileges()) { if (m_vArgs.Length >= 1) { ClientAvatar avatar = level.Avatar; var mail = new AllianceMailStreamEntry(); mail.ID = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; mail.SetSender(avatar); mail.IsNew = 2; mail.AllianceId = 0; mail.AllianceBadgeData = 1526735450; mail.AllianceName = "UCS Server Commands Help"; mail.Message = @"/help" + "\n/ban" + "\n/kick" + "\n/rename " + "\n/setprivileges" + "\n/shutdown" + "\n/unban" + "\n/visit" + "\n/sysmsg" + "\n/id" + "\n/min" + "\n/max" + "\n/saveacc" + "\n/saveall" + "\n/becomeleader" + "\n/status" + "\n/help" + "\n/accinfo"; var p = new AvatarStreamEntryMessage(level.Client); p.SetAvatarStreamEntry(mail); Processor.Send(p); } } else { SendCommandFailedMessage(level.Client); } }
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 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); } }
//Send To Mailbox Button private void materialRaisedButton10_Click(object sender, EventArgs e) { var mail = new AllianceMailStreamEntry(); mail.ID = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; mail.SenderId = 0; mail.SenderId = 0; mail.m_vSenderName = textBox23.Text; mail.IsNew = 2; // 0 = Seen, 2 = New mail.AllianceId = 0; mail.AllianceBadgeData = 1526735450; mail.AllianceName = "Ultrapowa"; mail.Message = textBox24.Text; mail.m_vSenderLevel = 300; mail.m_vSenderLeagueId = 22; foreach (var onlinePlayer in ResourcesManager.m_vOnlinePlayers) { var p = new AvatarStreamEntryMessage(onlinePlayer.Client); p.SetAvatarStreamEntry(mail); p.Send(); } }
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); } }
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(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 s = new ShutdownStartedMessage(onlinePlayer.GetClient()); var p = new AvatarStreamEntryMessage(onlinePlayer.GetClient()); p.SetAvatarStreamEntry(mail); s.SetCode(5); PacketManager.ProcessOutgoingPacket(s); PacketManager.ProcessOutgoingPacket(p); } Program.RestartProgram(); } } else { SendCommandFailedMessage(level.GetClient()); } }
internal override async void Process() { try { var avatar = this.Device.Player.Avatar; var allianceId = avatar.AllianceId; if (allianceId > 0) { var alliance = ObjectManager.GetAlliance(allianceId); if (alliance != null) { var mail = new AllianceMailStreamEntry(); mail.ID = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; mail.SetSender(avatar); mail.IsNew = 2; mail.SenderId = avatar.UserId; mail.AllianceId = allianceId; mail.AllianceBadgeData = alliance.m_vAllianceBadgeData; mail.AllianceName = alliance.m_vAllianceName; mail.Message = m_vMailContent; foreach (var onlinePlayer in ResourcesManager.m_vOnlinePlayers) { if (onlinePlayer.Avatar.AllianceId == allianceId) { var p = new AvatarStreamEntryMessage(onlinePlayer.Client); p.SetAvatarStreamEntry(mail); p.Send(); } } } } } catch (Exception) { } }
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(); } }