static void SourceAfterMap(ServerQueryResult src, Server dst)
{
dst.QueryMode = ServerQueryMode.Steam;
var port = src.GetSettingOrDefault("port").TryInt();
if (port > 0 && port < IPEndPoint.MaxPort)
{
dst.SetServerAddress(port);
}
if (src.IsMasterResult)
{
return;
}
if (!dst.ForceServerName || string.IsNullOrWhiteSpace(dst.Name))
{
dst.Name = src.GetSettingOrDefault("name");
}
dst.UpdatePing(src.Ping);
var tags = src.GetSettingOrDefault("keywords");
if (tags != null)
{
new SourceTagParser(tags, dst).HandleTags();
}
dst.Signatures = GetList(src.Settings, "sigNames").ToArray();
dst.UpdateModInfo(GetList(src.Settings, "modNames").ToArray());
dst.HasBasicInfo = true;
}