/// <summary> /// Initialize SmartCMServerList with a given server list provider /// </summary> /// <param name="provider">The ServerListProvider to persist servers</param> /// <param name="allowDirectoryFetch">Specifies if we can query SteamDirectory to discover more servers</param> public SmartCMServerList( IServerListProvider provider, bool allowDirectoryFetch = true ) { ServerListProvider = provider; canFetchDirectory = allowDirectoryFetch; servers = new Collection<ServerInfo>(); listLock = new object(); BadConnectionMemoryTimeSpan = TimeSpan.FromMinutes( 5 ); }
/// <summary> /// Initialize SmartCMServerList with a given server list provider /// </summary> /// <param name="provider">The ServerListProvider to persist servers</param> /// <param name="allowDirectoryFetch">Specifies if we can query SteamDirectory to discover more servers</param> public SmartCMServerList(IServerListProvider provider, bool allowDirectoryFetch = true) { ServerListProvider = provider; canFetchDirectory = allowDirectoryFetch; servers = new Collection <ServerInfo>(); listLock = new object(); BadConnectionMemoryTimeSpan = TimeSpan.FromMinutes(5); }
/// <summary> /// Borrowed this part from /// https://github.com/JustArchi/ArchiSteamFarm /// </summary> /// <param name="cellId">steam cellid</param> /// <param name="serverList">list of cm servers</param> private void InitializeCMs(uint cellId, IServerListProvider serverList) { CMClient.Servers.CellID = cellId; CMClient.Servers.ServerListProvider = serverList; Console.WriteLine("Initializing SteamDirectory ..."); try { SteamDirectory.Initialize(cellId).ConfigureAwait(false); } catch (Exception ex) { Console.WriteLine($"Error configuring CM. Connecting might take longer than usual. {ex.Message}"); } }
public ServersViewModel(INavigator navigator, IServerListProvider serverListProvider) { _navigator = navigator; _serverListProvider = serverListProvider; LogoutCommand = new DelegateCommand(OnLogout); Servers = new List <Server> { new Server { Name = "Alzyras", Distance = "Toli" }, new Server { Name = "Vilnius", Distance = "1" }, }; }
internal static void InitializeCMs(uint cellID, IServerListProvider serverListProvider) { if (serverListProvider == null) { Logging.LogNullError(nameof(serverListProvider)); return; } CMClient.Servers.CellID = cellID; CMClient.Servers.ServerListProvider = serverListProvider; }
public ISteamConfigurationBuilder WithServerListProvider(IServerListProvider provider) { state.ServerListProvider = provider ?? throw new ArgumentNullException(nameof(provider)); return(this); }
public MainViewModel( ILogger logger, ISettingsProvider settingsProvider, INewsProvider newsProvider, IHelpProvider helpProvider, IServerListProvider serverListProvider, IStatisticsProvider statisticsProvider, IServerStatusProvider serverStatusProvider, INotificationService notificationService, ISelfUpdateService selfUpdateService, IGameBackupService gameBackupService, IServerHostProvider serverHostProvider, ITroubleshootProvider troubleshootProvider, IProtocolGameLauncherService protocolGameLauncherService) { _logger = logger; _settingsProvider = settingsProvider; _newsProvider = newsProvider; _helpProvider = helpProvider; _serverListProvider = serverListProvider; _statisticsProvider = statisticsProvider; _serverStatusProvider = serverStatusProvider; _selfUpdateService = selfUpdateService; _serverHostProvider = serverHostProvider; _troubleshootProvider = troubleshootProvider; NotificationService = notificationService; LoadTheme(_settingsProvider.GetCurrentSettings().DarkTheme); AboutCommand = new RelayCommand(AboutButtonClicked); LaunchButtonClickedCommand = new RelayCommand(LaunchButtonClicked); BrowseGameFileCommand = new RelayCommand(BrowseGameFileClicked); BrowseServerFileCommand = new RelayCommand(BrowseServerFileClicked); ApplySettingsCommand = new RelayCommand(ApplySettingsClicked); BrowseResourceDirectoryCommand = new RelayCommand(BrowseResourceDirectoryClicked); OpenServerSettingsXmlCommand = new RelayCommand(EditServerSettingsXmlClicked); StartServerCommand = new RelayCommand(StartServerClicked); StopServerCommand = new RelayCommand(StopServerClicked); RestartServerCommand = new RelayCommand(RestartServerClicked); RemoveNotificationCommand = new RelayCommand <Notification>(RemoveNotificationClicked); ServerListTabGotFocusCommand = new RelayCommand <ServerBrowserViewModel>(ServerListTabGotFocus); ServerListViewModel = SimpleIoc.Default.GetInstanceWithoutCaching <ServerBrowserViewModel>(); VerifiedServerListViewModel = SimpleIoc.Default.GetInstanceWithoutCaching <ServerBrowserViewModel>(); VerifiedServerListViewModel.ServerFilter = s => s.IsVerified; FavoriteServerListViewModel = SimpleIoc.Default.GetInstanceWithoutCaching <ServerBrowserViewModel>(); FavoriteServerListViewModel.ServerFilter = s => s.IsFavorited; LocalServerListViewModel = SimpleIoc.Default.GetInstanceWithoutCaching <ServerBrowserViewModel>(); LocalServerListViewModel.ServerFilter = s => s.LAN; RecentServerListViewModel = SimpleIoc.Default.GetInstanceWithoutCaching <ServerBrowserViewModel>(); RecentServerListViewModel.ServerFilter = s => s.IsRecent; _serverListProvider.FavoritedServersUpdated += ServerListProviderOnFavoritedServersUpdated; _settingsProvider.SettingsSaved += SettingsSaved; CheckForUpdate(); GetNews(); GetTroubleshooting(); GetHelpItems(); GetStatistics(); GetServerStatus(); if (_settingsProvider.GetCurrentSettings().AskToBackUpGame) { gameBackupService.CheckBackupStatus(); } protocolGameLauncherService.CheckIfLaunchArgumentExists(); protocolGameLauncherService.TryVerifyProtocolRegistration(); EnsureEula(); }