Пример #1
0
 private Task Run(CancellationToken ct)
 {
     if (AppId == (uint)SteamGameIds.Arma3)
     {
         return(SteamActions.PerformArmaSteamAction(async api => {
             SteamApi = api;
             await RunWebsite(ct).ConfigureAwait(false);
         }, (uint)SteamGameIds.Arma3, _steamSessionFactory));
     }
     SteamApi = new DummyApi();
     return(DoWithSteamSession(() => RunWebsite(ct)));
 }
Пример #2
0
        private static async Task <IList <ArmaServerInfo> > PerformAction(ISteamApi steamApi, ServerFilterWrap filter)
        {
            using (var sb = await SteamActions.CreateServerBrowser(steamApi).ConfigureAwait(false)) {
                using (var cts = new CancellationTokenSource()) {
                    var obs =
                        await
                        sb.GetServersInclDetails(cts.Token, filter, true)
                        .ConfigureAwait(false);

                    var s = await obs.Take(10).ToList();

                    cts.Cancel();
                    return(s);
                }
            }
        }
Пример #3
0
        public async Task GetServers()
        {
            LoggingSetup.Setup("Tests");
            LockedWrapper.callFactory = new SafeCallFactory(); // workaround for accessviolation errors
            var serverFilterBuilder = ServerFilterBuilder.Build();

            serverFilterBuilder.FilterByAddresses(new[] {
                new IPEndPoint(IPAddress.Parse("5.189.150.147"), 2302),
                new IPEndPoint(IPAddress.Parse("5.189.136.56"), 2302),
                new IPEndPoint(IPAddress.Parse("80.241.208.192"), 2302)
            });
            var s = await
                    SteamActions.PerformArmaSteamAction(
                steamApi => PerformAction(steamApi, serverFilterBuilder.GetServerFilterWrap()), (uint)SteamGameIds.Arma3,
                new SteamSession.SteamSessionFactory()).ConfigureAwait(false);

            s.Count.Should().Be(3);
            var json = s.ToJson(true);

            Console.WriteLine(json);
            @"C:\temp\crawl\arma-servers.json".ToAbsoluteFilePath().WriteText(json);
        }
Пример #4
0
 protected Task <ServerBrowser> CreateArma3ServerBrowser() => SteamActions.CreateServerBrowser(_steamApi);