示例#1
0
        protected override void Handle(Request req)
        {
            JsonObject    root = ParseJson(req);
            List <object> list = (List <object>)root["servers"];

            JsonObject      obj   = (JsonObject)list[0];
            ServerListEntry entry = ParseEntry(obj);

            Info = new ClientStartData(Username, entry.Mppass, entry.IPAddress, entry.Port, entry.Name);
        }
示例#2
0
        protected override void Handle(Request req)
        {
            int           index = 0; bool success = true;
            JsonObject    root = (JsonObject)Json.ParseValue((string)req.Data, ref index, ref success);
            List <object> list = (List <object>)root["servers"];

            JsonObject      obj   = (JsonObject)list[0];
            ServerListEntry entry = ParseEntry(obj);

            Info = new ClientStartData(Username, entry.Mppass, entry.IPAddress, entry.Port, entry.Name);
        }
示例#3
0
        protected override void Handle(Request req)
        {
            JsonObject    root = ParseJson(req);
            List <object> list = (List <object>)root["servers"];

            for (int i = 0; i < list.Count; i++)
            {
                JsonObject      obj   = (JsonObject)list[i];
                ServerListEntry entry = FetchServerTask.ParseEntry(obj);
                Servers.Add(entry);
            }
        }
示例#4
0
        protected override void Handle(Request req)
        {
            int           index = 0; bool success = true;
            JsonObject    root = (JsonObject)Json.ParseValue((string)req.Data, ref index, ref success);
            List <object> list = (List <object>)root["servers"];

            for (int i = 0; i < list.Count; i++)
            {
                JsonObject      obj   = (JsonObject)list[i];
                ServerListEntry entry = FetchServerTask.ParseEntry(obj);
                Servers.Add(entry);
            }
        }
示例#5
0
        public ClientStartData GetConnectInfo(string hash)
        {
            string uri      = serverUri + hash;
            string response = Get(uri, classicubeNetUri);

            int           index = 0; bool success = true;
            JsonObject    root = (JsonObject)Json.ParseValue(response, ref index, ref success);
            List <object> list = (List <object>)root["servers"];

            JsonObject      obj   = (JsonObject)list[0];
            ServerListEntry entry = ParseEntry(obj);

            return(new ClientStartData(Username, entry.Mppass, entry.IPAddress, entry.Port, entry.Name));
        }
示例#6
0
        ServerListEntry ParseEntry(JsonObject obj)
        {
            ServerListEntry entry = new ServerListEntry();

            entry.Hash       = (string)obj["hash"];
            entry.Name       = (string)obj["name"];
            entry.Players    = (string)obj["players"];
            entry.MaxPlayers = (string)obj["maxplayers"];
            entry.Uptime     = (string)obj["uptime"];
            entry.Mppass     = (string)obj["mppass"];
            entry.IPAddress  = (string)obj["ip"];
            entry.Port       = (string)obj["port"];
            entry.Software   = (string)obj["software"];

            if (obj.ContainsKey("featured"))
            {
                entry.Featured = (bool)obj["featured"];
            }
            return(entry);
        }
示例#7
0
        public List <ServerListEntry> GetPublicServers()
        {
            DateTime start = DateTime.UtcNow;
            List <ServerListEntry> servers = new List <ServerListEntry>();
            string        response = Get(listUri, classicubeNetUri);
            int           index = 0; bool success = true;
            JsonObject    root = (JsonObject)Json.ParseValue(response, ref index, ref success);
            List <object> list = (List <object>)root["servers"];

            for (int i = 0; i < list.Count; i++)
            {
                JsonObject      obj   = (JsonObject)list[i];
                ServerListEntry entry = ParseEntry(obj);
                servers.Add(entry);
            }

            DateTime end = DateTime.UtcNow;

            Log("cc servers took " + (end - start).TotalMilliseconds);
            return(servers);
        }