コード例 #1
0
        public int Score()
        {
            if (WarningClosed != "")
            {
                return(99998);
            }
            else if (WarningOpen != "")
            {
                return(99997);
            }
            else if (Ping == -1)
            {
                return(99995);
            }
            else
            {
                string scoreType = Engine.Instance.Storage.GetLower("servers.scoretype");
                double ScoreB    = ScoreBase;

                if (scoreType == "speed")
                {
                    ScoreB = ScoreB / Convert.ToDouble(Provider.GetKeyValue("speed_factor", "1"));
                }
                else if (scoreType == "latency")
                {
                    ScoreB = ScoreB / Convert.ToDouble(Provider.GetKeyValue("latency_factor", "500"));
                }

                double PenalityB = Penality * Convert.ToDouble(Provider.GetKeyValue("penality_factor", "1000"));
                return(Conversions.ToInt32(Ping + Load() + ScoreB + PenalityB));
            }
        }
コード例 #2
0
ファイル: ConnectionInfo.cs プロジェクト: DreamAuth/Eddie
        public int Score()
        {
            lock (Warnings)
            {
                if (HasWarningsErrors())
                {
                    return(99998);
                }
                else if (Warnings.Count > 0)
                {
                    return(99997);
                }
                else if (Ping == -1)
                {
                    return(99995);
                }
                else
                {
                    string scoreType = Engine.Instance.Storage.GetLower("servers.scoretype");

                    double PenalityB = Penality * Convert.ToDouble(Provider.GetKeyValue("penality_factor", "1000"));
                    double PingB     = Ping * Convert.ToDouble(Provider.GetKeyValue("ping_factor", "1"));
                    double LoadB     = Load() * Convert.ToDouble(Provider.GetKeyValue("load_factor", "1"));
                    double UsersB    = Users * Convert.ToDouble(Provider.GetKeyValue("users_factor", "1"));
                    double ScoreB    = ScoreBase;
                    if (scoreType == "speed")
                    {
                        ScoreB = ScoreB / Convert.ToDouble(Provider.GetKeyValue("speed_factor", "1"));
                        LoadB  = LoadB / Convert.ToDouble(Provider.GetKeyValue("speed_load_factor", "1"));                        // 2.18.7
                        UsersB = UsersB / Convert.ToDouble(Provider.GetKeyValue("speed_users_factor", "1"));                      // 2.18.7
                    }
                    else if (scoreType == "latency")
                    {
                        ScoreB = ScoreB / Convert.ToDouble(Provider.GetKeyValue("latency_factor", "500"));
                        LoadB  = LoadB / Convert.ToDouble(Provider.GetKeyValue("latency_load_factor", "10"));                        // 2.18.7
                        UsersB = UsersB / Convert.ToDouble(Provider.GetKeyValue("latency_users_factor", "10"));                      // 2.18.7
                    }
                    return(Conversions.ToInt32(PenalityB + PingB + LoadB + ScoreB + UsersB));
                }
            }
        }