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.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);
            }
        }
예제 #3
0
        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);
            }
        }
        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);
            }
        }
예제 #5
0
        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)
            {
            }
        }