internal static Server FromSteam(Client client, SteamNative.gameserveritem_t item) { return(new Server() { Client = client, Address = Utility.Int32ToIp(item.NetAdr.IP), ConnectionPort = item.NetAdr.ConnectionPort, QueryPort = item.NetAdr.QueryPort, Name = Encoding.UTF8.GetString(item.ServerName), Ping = item.Ping, GameDir = item.GameDir, Map = Encoding.UTF8.GetString(item.Map), Description = item.GameDescription, AppId = item.AppID, Players = item.Players, MaxPlayers = item.MaxPlayers, BotPlayers = item.BotPlayers, Passworded = item.Password, Secure = item.Secure, LastTimePlayed = item.TimeLastPlayed, Version = item.ServerVersion, Tags = item.GameTags == null ? null : item.GameTags.Split(','), SteamId = item.SteamID }); }
private void OnServer(SteamNative.gameserveritem_t info) { if (info.HadSuccessfulResponse) { Responded.Add(Server.FromSteam(client, info)); } else { Unresponsive.Add(Server.FromSteam(client, info)); } }
private void OnServer(SteamNative.gameserveritem_t info) { if (info.HadSuccessfulResponse) { if (Filter != null && !Filter.Test(info)) { return; } Responded.Add(Server.FromSteam(client, info)); } else { Unresponsive.Add(Server.FromSteam(client, info)); } }
internal static Server FromSteam(Client client, SteamNative.gameserveritem_t item) { int serverNameLength = item.ServerName.Length; for (int i = 0; i < item.ServerName.Length; i++) { if (item.ServerName[i] == '\0') { serverNameLength = i; break; } } int mapLength = item.Map.Length; for (int i = 0; i < item.Map.Length; i++) { if (item.Map[i] == '\0') { mapLength = i; break; } } return(new Server() { Client = client, Address = Utility.Int32ToIp(item.NetAdr.IP), ConnectionPort = item.NetAdr.ConnectionPort, QueryPort = item.NetAdr.QueryPort, Name = Encoding.UTF8.GetString(item.ServerName, 0, serverNameLength), Ping = item.Ping, GameDir = item.GameDir, Map = Encoding.UTF8.GetString(item.Map, 0, mapLength), Description = item.GameDescription, AppId = item.AppID, Players = item.Players, MaxPlayers = item.MaxPlayers, BotPlayers = item.BotPlayers, Passworded = item.Password, Secure = item.Secure, LastTimePlayed = item.TimeLastPlayed, Version = item.ServerVersion, Tags = item.GameTags == null ? null : item.GameTags.Split(','), SteamId = item.SteamID }); }