public static ServerInformation[] TryToGetList() {
if (SteamIdHelper.Instance.Value == null) throw new InformativeException(ToolsStrings.Common_SteamIdIsMissing);
for (var i = 0; i < ServersNumber && ServerUri != null; i++) {
var uri = ServerUri;
var requestUri = $"http://{uri}/lobby.ashx/list?guid={SteamIdHelper.Instance.Value}";
try {
var watch = Stopwatch.StartNew();
var parsed = LoadListUsingRequest(requestUri);
var loadTime = watch.Elapsed;
Logging.Write($"List (loading+parsing): {loadTime.TotalMilliseconds:F1} ms");
return parsed;
} catch (WebException e) {
Logging.Warning($"Cannot get servers list: {requestUri}, {e.Message}");
} catch (Exception e) {
Logging.Warning($"Cannot get servers list: {requestUri}\n{e}");
}
NextServer();
}
return null;
}