diff --git a/RageCoop.Server/Networking/Server.Background.cs b/RageCoop.Server/Networking/Server.Background.cs index 17c638a..e5fcacc 100644 --- a/RageCoop.Server/Networking/Server.Background.cs +++ b/RageCoop.Server/Networking/Server.Background.cs @@ -42,6 +42,7 @@ namespace RageCoop.Server } } private IpInfo IpInfo = null; + private bool CanAnnounce = false; private void Announce() { HttpResponseMessage response = null; @@ -78,7 +79,19 @@ namespace RageCoop.Server Logger?.Error($"MasterServer: {ex.Message}"); } } - + if (!CanAnnounce) + { + var existing = JsonConvert.DeserializeObject>(HttpHelper.DownloadString(Util.GetFinalRedirect(Settings.MasterServer))).Where(x => x.address == IpInfo.Address).FirstOrDefault(); + if(existing != null) + { + Logger.Warning("Server info already present in master server, waiting for 10 seconds..."); + return; + } + else + { + CanAnnounce = true; + } + } try { Security.GetPublicKey(out var pModulus, out var pExpoenet); diff --git a/RageCoop.Server/Properties/AssemblyInfo.cs b/RageCoop.Server/Properties/AssemblyInfo.cs index a2bd59e..01e65a7 100644 --- a/RageCoop.Server/Properties/AssemblyInfo.cs +++ b/RageCoop.Server/Properties/AssemblyInfo.cs @@ -15,7 +15,7 @@ using System.Resources; [assembly: AssemblyCulture("")] // Version information -[assembly: AssemblyVersion("1.5.3.178")] -[assembly: AssemblyFileVersion("1.5.3.178")] +[assembly: AssemblyVersion("1.5.3.180")] +[assembly: AssemblyFileVersion("1.5.3.180")] [assembly: NeutralResourcesLanguageAttribute( "en-US" )] diff --git a/RageCoop.Server/Util.cs b/RageCoop.Server/Util.cs index b771dfe..55ab37a 100644 --- a/RageCoop.Server/Util.cs +++ b/RageCoop.Server/Util.cs @@ -1,13 +1,12 @@ -using Lidgren.Network; +global using System.Collections.Generic; +using Lidgren.Network; using System; -using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Xml; using System.Xml.Serialization; - namespace RageCoop.Server { internal static partial class Util