Exemple #1
0
 public static void SetMasterServerOverride(MasterServerEndPoint overrideEndPoint)
 {
     if (OverrideEndPoint == null || !OverrideEndPoint.Equals(overrideEndPoint))
     {
         Plugin.Log?.Info($"Setting master server override now: {overrideEndPoint}");
         OverrideEndPoint = overrideEndPoint;
     }
 }
Exemple #2
0
 public bool Equals(MasterServerEndPoint endPoint)
 {
     if (endPoint == null)
     {
         return(false);
     }
     return(endPoint.hostName == hostname && endPoint.port == port);
 }
 internal static void Postfix(UserMessageHandler __instance,
                              MessageHandler.IMessageSender sender,
                              PacketEncryptionLayer encryptionLayer,
                              MasterServerEndPoint endPoint,
                              IAuthenticationTokenProvider authenticationTokenProvider)
 {
     GameClassInstanceProvider.Instance.UserMessageHandler = __instance;
 }
Exemple #4
0
 internal static void Postfix(NetworkConfigSO __instance, ref MasterServerEndPoint __result)
 {
     if (MPState.CurrentMasterServer.Equals(__result))
     {
         return;
     }
     MPState.CurrentMasterServer = new MasterServerInfo(__result.hostName, __result.port, __instance.masterServerStatusUrl);
     MPEvents.RaiseMasterServerChanged(__instance, MPState.CurrentMasterServer);
 }
Exemple #5
0
        [HarmonyPriority(Priority.Last)] // it's important we take priority over any mod plugins
        public static void Postfix(NetworkConfigSO __instance, ref MasterServerEndPoint __result)
        {
            MpConnect.ReportCurrentMasterServerValue(__result);

            if (MpConnect.OverrideEndPoint != null)
            {
                // We are overriding the endpoint, to replace either the official or modded value
                __result = MpConnect.OverrideEndPoint;
            }
        }
Exemple #6
0
        internal static bool Prefix(ref MasterServerEndPoint __result)
        {
            if (!Plugin.Configuration.Enabled)
            {
                return(true);
            }

            __result = new MasterServerEndPoint(Plugin.Configuration.HostName, Plugin.Configuration.Port);
            Plugin.Logger.Debug($"Patching master server end point (EndPoint='{__result}').");
            return(false);
        }
Exemple #7
0
 public MasterServerInfo(MasterServerEndPoint endPoint)
 {
     if (endPoint == null)
     {
         hostname = "localhost";
         port     = 2328;
         return;
     }
     hostname = endPoint.hostName;
     port     = endPoint.port;
 }
        internal static void Postfix(ref MasterServerEndPoint __result)
        {
            var server = Plugin.ServerDetailProvider.Selection;

            if (server.IsOfficial)
            {
                return;
            }

            __result = server.GetEndPoint();
            Plugin.Logger.Debug($"Patching master server end point (EndPoint='{__result}').");
        }
 internal static void Postfix(NetworkConfigSO __instance, ref MasterServerEndPoint __result)
 {
     if (__result != null)
     {
         MasterServerInfo info = new MasterServerInfo(__result);
         if (MPState.CurrentMasterServer.Equals(info))
         {
             return;
         }
         MPState.CurrentMasterServer = info;
         MPEvents.RaiseMasterServerChanged(__instance, info);
     }
 }
Exemple #10
0
        internal static void ReportCurrentMasterServerValue(MasterServerEndPoint currentEndPoint)
        {
            var isFirstReport = (LastUsedMasterServer == null);

            LastUsedMasterServer = currentEndPoint;

            if (OverrideEndPoint != null && currentEndPoint.Equals(OverrideEndPoint))
            {
                // This is our own override, not useful information
                return;
            }

            var hostName = currentEndPoint.hostName;

            if (hostName.EndsWith(OFFICIAL_MASTER_SUFFIX))
            {
                // This is the official / default master server (likely not using a server mod)
                _officialEndPoint  = currentEndPoint;
                _usingModdedServer = false;

                if (isFirstReport)
                {
                    Plugin.Log?.Info($"Default master server appears to be official: {_officialEndPoint}");
                }

                return;
            }

            // This is neither our override nor an official server, which means another mod is doing this
            _moddedEndPoint    = currentEndPoint;
            _usingModdedServer = true;

            if (isFirstReport)
            {
                Plugin.Log?.Warn($"Default master server appears to be modded: {_moddedEndPoint}");
            }
        }
Exemple #11
0
 static void Postfix(NetworkConfigSO __instance, ref MasterServerEndPoint __result)
 {
     __result = new MasterServerEndPoint("server1.networkauditor.org", 2328);
     Logger.Debug("Patched master server endpoint!");
 }