diff --git a/ArchiSteamFarm/InMemoryServerListProvider.cs b/ArchiSteamFarm/InMemoryServerListProvider.cs index e1046e8c9..cedf1cf0b 100644 --- a/ArchiSteamFarm/InMemoryServerListProvider.cs +++ b/ArchiSteamFarm/InMemoryServerListProvider.cs @@ -40,17 +40,19 @@ namespace ArchiSteamFarm { public Task> FetchServerListAsync() => Task.FromResult>(Servers); - public Task UpdateServerListAsync(IEnumerable endpoints) { - if (endpoints == null) { - Logging.LogNullError(nameof(endpoints)); + public Task UpdateServerListAsync(IEnumerable endPoints) { + if (endPoints == null) { + Logging.LogNullError(nameof(endPoints)); return Task.Delay(0); } - Servers.Clear(); - foreach (IPEndPoint endpoint in endpoints) { - Servers.Add(endpoint); + HashSet newEndPoints = new HashSet(endPoints); + if (Servers.SetEquals(newEndPoints)) { + return Task.Delay(0); } + Servers = newEndPoints; + ServerListUpdated(this, EventArgs.Empty); return Task.Delay(0);