public static void SetMasterServerOverride(MasterServerEndPoint overrideEndPoint) { if (OverrideEndPoint == null || !OverrideEndPoint.Equals(overrideEndPoint)) { Plugin.Log?.Info($"Setting master server override now: {overrideEndPoint}"); OverrideEndPoint = overrideEndPoint; } }
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; }
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); }
[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; } }
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); }
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); } }
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}"); } }
static void Postfix(NetworkConfigSO __instance, ref MasterServerEndPoint __result) { __result = new MasterServerEndPoint("server1.networkauditor.org", 2328); Logger.Debug("Patched master server endpoint!"); }