public ClassicubeServer[] GetAllServers() { var serverString = GetServers(); var jsonObj = (JArray)(JToken.Parse(serverString)["servers"]); var result = new ClassicubeServer[jsonObj.Count]; for (var i = 0; i < result.Length; i++) { result[i] = new ClassicubeServer { Hash = jsonObj[i]["hash"].Value<string>(), Ip = jsonObj[i]["ip"].Value<string>(), Port = jsonObj[i]["port"].Value<int>(), OnlinePlayers = jsonObj[i]["players"].Value<int>(), MaxPlayers = jsonObj[i]["maxplayers"].Value<int>(), Mppass = jsonObj[i]["mppass"].Value<string>(), Name = jsonObj[i]["name"].Value<string>(), Software = jsonObj[i]["software"].Value<string>(), Uptime = jsonObj[i]["uptime"].Value<int>() }; } return result; }
public ClassicubeServer GetServerByUrl(string url) { var serverString = GetServers(); var jsonObj = (JArray) (JToken.Parse(serverString)["servers"]); var mySplits = url.Split(new[] {'/'}, StringSplitOptions.RemoveEmptyEntries); url = mySplits[mySplits.Length - 1]; var server = new ClassicubeServer(); foreach (var item in jsonObj) { if (!String.Equals(item["hash"].Value<string>(), url, StringComparison.CurrentCultureIgnoreCase)) continue; server.Hash = item["hash"].Value<string>(); server.Ip = item["ip"].Value<string>(); server.Mppass = item["mppass"].Value<string>(); server.Port = item["port"].Value<int>(); server.MaxPlayers = item["maxplayers"].Value<int>(); server.OnlinePlayers = item["players"].Value<int>(); server.Software = item["software"].Value<string>(); server.Uptime = item ["uptime"].Value<int> (); break; } return server; }
public ClassicubeServer GetServerInfo(string serverName) { var serverString = GetServers(); var jsonObj = (JArray) (JToken.Parse(serverString)["servers"]); var server = new ClassicubeServer(); foreach (var item in jsonObj) { if (item["name"].Value<string>().ToLower() != serverName.ToLower()) continue; server.Hash = item["hash"].Value<string>(); server.Ip = item["ip"].Value<string>(); server.Mppass = item["mppass"].Value<string>(); server.Port = item["port"].Value<int>(); server.MaxPlayers = item["maxplayers"].Value<int>(); server.OnlinePlayers = item["players"].Value<int>(); server.Software = item["software"].Value<string>(); server.Uptime = item ["uptime"].Value<int> (); break; } return server; }