Ejemplo n.º 1
0
 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
     });
 }
Ejemplo n.º 2
0
 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));
                }
            }
Ejemplo n.º 4
0
            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
                });
            }