From 8022b2d0dc8a78aa349550d6e50f8faad245645e Mon Sep 17 00:00:00 2001 From: hbeham Date: Mon, 13 Mar 2017 19:24:52 +0100 Subject: [PATCH] fixed steam web api timeout on win7 --- QueryMaster/QueryMaster/MasterServer.cs | 10 ++++++++-- ServerBrowser/Games/Toxikk.cs | 21 ++++++++++++++++++++- ServerBrowser/ServerBrowserForm.cs | 4 ++-- changelog.md | 9 +++++++++ 4 files changed, 39 insertions(+), 5 deletions(-) diff --git a/QueryMaster/QueryMaster/MasterServer.cs b/QueryMaster/QueryMaster/MasterServer.cs index 13a081b..79d8a40 100644 --- a/QueryMaster/QueryMaster/MasterServer.cs +++ b/QueryMaster/QueryMaster/MasterServer.cs @@ -53,10 +53,15 @@ public class Response class XWebClient : WebClient { + public XWebClient() + { + this.Proxy = null; + } + protected override WebRequest GetWebRequest(Uri address) { var req = base.GetWebRequest(address); - req.Timeout = 2000; + req.Timeout = 5000; return req; } } @@ -113,7 +118,8 @@ public void GetAddresses(Region region, MasterIpCallback callback, IpFilter filt using (var cli = new XWebClient()) { var filters = MasterUtil.ProcessFilter(filter); - var xml = cli.DownloadString($"https://api.steampowered.com/IGameServersService/GetServerList/v1/?key={SteamWebApiKey}&format=xml&filter={filters}&limit={GetAddressesLimit}"); + var url = $"https://api.steampowered.com/IGameServersService/GetServerList/v1/?key={SteamWebApiKey}&format=xml&filter={filters}&limit={GetAddressesLimit}"; + var xml = cli.DownloadString(url); var ser = new XmlSerializer(typeof (Response)); var resp = (Response) ser.Deserialize(new StringReader(xml)); diff --git a/ServerBrowser/Games/Toxikk.cs b/ServerBrowser/Games/Toxikk.cs index d1805cf..85c3741 100644 --- a/ServerBrowser/Games/Toxikk.cs +++ b/ServerBrowser/Games/Toxikk.cs @@ -143,6 +143,8 @@ public override object GetServerCellValue(ServerRow row, string fieldName) gt == "TTGame" ? "TR" : gt == "D2DGame" ? "2D" : gt =="STBGame" ? "SB" : + gt == "Comp2v2" ? "2v2" : + gt == "Comp4v4" ? "4v4" : gt; } case Mutators: @@ -232,6 +234,23 @@ public override bool IsValidPlayer(ServerRow server, Player player) } #endregion + #region GetMaxPlayers() + public override int? GetMaxPlayers(ServerRow row) + { + var val = row.GetRule("NumPublicConnections"); + if (val != null) + return int.Parse(val); + return base.GetMaxPlayers(row); + } + #endregion + + #region GetPrivateClients() + public override int? GetPrivateClients(ServerRow row) + { + return row.ServerInfo.MaxPlayers - (GetMaxPlayers(row) ?? 0); + } + #endregion + #region GetBestPlayerSC() private decimal GetBestPlayerSC(ServerRow row) { @@ -466,7 +485,7 @@ private void UpdatePlayerInfos(ServerRow server) if (string.IsNullOrEmpty(strNames)) return; var gameType = (string)server.GetExtenderCellValue("_gametype"); - bool isTeamGame = gameType != "BL"; + bool isTeamGame = "SA,CC,AD,TA,SB,IB,2v2,4v4".Contains(gameType); var strSteamIds = (server.GetRule("p1073741829") ?? "") + (server.GetRule("p1073741830") ?? "") + (server.GetRule("p1073741831") ?? ""); var strSkill = server.GetRule("p1073741837") ?? ""; var strRank = server.GetRule("p1073741838") ?? ""; diff --git a/ServerBrowser/ServerBrowserForm.cs b/ServerBrowser/ServerBrowserForm.cs index cb6b5da..a87d7e5 100644 --- a/ServerBrowser/ServerBrowserForm.cs +++ b/ServerBrowser/ServerBrowserForm.cs @@ -31,7 +31,7 @@ namespace ServerBrowser { public partial class ServerBrowserForm : XtraForm { - private const string Version = "2.40"; + private const string Version = "2.42"; private const string DevExpressVersion = "v15.2"; private const string CustomDetailColumnPrefix = "ServerInfo."; private const string CustomRuleColumnPrefix = "custRule."; @@ -2260,7 +2260,7 @@ private void gvPlayers_RowCellStyle(object sender, RowCellStyleEventArgs e) return; var player = (Player)this.gvPlayers.GetRow(e.RowHandle); var server = (ServerRow)this.gvServers.GetFocusedRow(); - if (!server.GameExtension.IsValidPlayer(server, player)) + if (server != null && !server.GameExtension.IsValidPlayer(server, player)) e.Appearance.ForeColor = Color.Silver; } #endregion diff --git a/changelog.md b/changelog.md index 7ec854e..1ca6aba 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,12 @@ +2.42 +--- +- fixed steam master server timeout on Win 7 + +2.41 +--- +- TOXIKK: players in ArchRival game mode no longer show up as team Red +- fixed exception when hovering over a player and there is no selected server row + 2.40 --- - TOXIKK: auto-detect if steam sockets are supported by the server and if not, use IP:port to join the server