diff --git a/SS14.Launcher/Assets/Locale/en-US/text.ftl b/SS14.Launcher/Assets/Locale/en-US/text.ftl index 7cc5b43c..60cff648 100644 --- a/SS14.Launcher/Assets/Locale/en-US/text.ftl +++ b/SS14.Launcher/Assets/Locale/en-US/text.ftl @@ -216,8 +216,8 @@ filters = Filters ({ $filteredServers } / { $totalServers }) tab-servers-search-watermark = Search For Servers… tab-servers-table-players = Players tab-servers-table-name = Server Name -tab-servers-list-status-error = There was an error fetching the master server lists. -tab-servers-list-status-partial-error = Failed to fetch some or all server lists. Ensure your hub configuration is correct. +tab-servers-list-status-error = There was an error fetching the master server lists. Maybe try refreshing? +tab-servers-list-status-partial-error = Failed to fetch some of the server lists. Ensure your hub configuration is correct and try refreshing. tab-servers-list-status-updating-master = Fetching master server list… tab-servers-list-status-none-filtered = No servers match your search or filter settings. tab-servers-list-status-none = There are no public servers. Ensure your hub configuration is correct. diff --git a/SS14.Launcher/Models/ServerStatus/ServerListCache.cs b/SS14.Launcher/Models/ServerStatus/ServerListCache.cs index 1b43efc3..b0ddf0e7 100644 --- a/SS14.Launcher/Models/ServerStatus/ServerListCache.cs +++ b/SS14.Launcher/Models/ServerStatus/ServerListCache.cs @@ -108,7 +108,6 @@ public async void RefreshServerList(CancellationToken cancel) else if (request.IsCanceled) { Log.Warning("Request to hub {HubAddress} failed: canceled", hub); - } allSucceeded = false; @@ -136,7 +135,14 @@ public async void RefreshServerList(CancellationToken cancel) return statusData; })); - Status = allSucceeded ? RefreshListStatus.Updated : RefreshListStatus.PartialError; + if (_allServers.Count == 0) + // We did not get any servers + Status = RefreshListStatus.Error; + else if (!allSucceeded) + // Some hubs succeeded and returned data + Status = RefreshListStatus.PartialError; + else + Status = RefreshListStatus.Updated; } catch (OperationCanceledException) {