Don't announce if already present in master server

This commit is contained in:
sardelka9515
2022-09-08 13:15:34 -07:00
parent c4b321324e
commit 3b5436064e
3 changed files with 18 additions and 6 deletions

View File

@ -42,6 +42,7 @@ namespace RageCoop.Server
} }
} }
private IpInfo IpInfo = null; private IpInfo IpInfo = null;
private bool CanAnnounce = false;
private void Announce() private void Announce()
{ {
HttpResponseMessage response = null; HttpResponseMessage response = null;
@ -78,7 +79,19 @@ namespace RageCoop.Server
Logger?.Error($"MasterServer: {ex.Message}"); Logger?.Error($"MasterServer: {ex.Message}");
} }
} }
if (!CanAnnounce)
{
var existing = JsonConvert.DeserializeObject<List<ServerInfo>>(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 try
{ {
Security.GetPublicKey(out var pModulus, out var pExpoenet); Security.GetPublicKey(out var pModulus, out var pExpoenet);

View File

@ -15,7 +15,7 @@ using System.Resources;
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// Version information // Version information
[assembly: AssemblyVersion("1.5.3.178")] [assembly: AssemblyVersion("1.5.3.180")]
[assembly: AssemblyFileVersion("1.5.3.178")] [assembly: AssemblyFileVersion("1.5.3.180")]
[assembly: NeutralResourcesLanguageAttribute( "en-US" )] [assembly: NeutralResourcesLanguageAttribute( "en-US" )]

View File

@ -1,13 +1,12 @@
using Lidgren.Network; global using System.Collections.Generic;
using Lidgren.Network;
using System; using System;
using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Net; using System.Net;
using System.Net.Http; using System.Net.Http;
using System.Xml; using System.Xml;
using System.Xml.Serialization; using System.Xml.Serialization;
namespace RageCoop.Server namespace RageCoop.Server
{ {
internal static partial class Util internal static partial class Util