Decompiled source of PartyUp v1.0.2
ModAwareMultiplayer.dll
Decompiled a month agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Reflection; using System.Reflection.Emit; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyCompany("ModAwareMultiplayer")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+46bf929789843dca7cdb3087bb000cf0d7400aea")] [assembly: AssemblyProduct("Handles interaction between vanilla and modded game instances")] [assembly: AssemblyTitle("ModAwareMultiplayer")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace Marioalexsan.ModAwareMultiplayer { [BepInPlugin("Marioalexsan.ModAwareMultiplayer", "ModAwareMultiplayer", "1.0.0")] public class ModAwareMultiplayer : BaseUnityPlugin { public static string ModdedNetworkApplicationVersion { get; private set; } private void Awake() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) //IL_000c: Expected O, but got Unknown Harmony val = new Harmony("Marioalexsan.ModAwareMultiplayer"); val.PatchAll(); ModdedNetworkApplicationVersion = Application.version + " (modded)"; } } } namespace Marioalexsan.ModAwareMultiplayer.HarmonyPatches { [HarmonyPatch(typeof(GameManager), "Init_CacheExplorer")] internal class GameManager_Init_CacheExplorer { private static bool Prefix() { return false; } } [HarmonyPatch] internal static class VersionPatches { private static IEnumerable<MethodInfo> TargetMethods() { yield return AccessTools.GetDeclaredMethods(typeof(LobbyDataEntry)).FirstOrDefault((MethodInfo x) => x.Name.Contains("_joinButtonInteractable")); yield return AccessTools.Method(typeof(LobbyListManager), "Iterate_SteamLobbies", (Type[])null, (Type[])null); yield return AccessTools.Method(typeof(MainMenuManager), "Set_MenuCondition", (Type[])null, (Type[])null); yield return AccessTools.Method(typeof(ChatBehaviour), "OnStartAuthority", (Type[])null, (Type[])null); yield return AccessTools.Method(typeof(ChatBehaviour), "New_ChatMessage", (Type[])null, (Type[])null); yield return AccessTools.Method(typeof(SteamLobby), "OnLobbyCreated", (Type[])null, (Type[])null); } private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> code) { //IL_0003: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Expected O, but got Unknown //IL_008f: Unknown result type (might be due to invalid IL or missing references) //IL_0095: Expected O, but got Unknown CodeMatcher val = new CodeMatcher(code, (ILGenerator)null).MatchForward(false, (CodeMatch[])(object)new CodeMatch[1] { new CodeMatch((OpCode?)OpCodes.Call, (object)AccessTools.Property(typeof(Application), "version").GetGetMethod(), (string)null) }); List<Label> labels = val.Instruction.labels.ToList(); val.Instruction.labels.Clear(); val.RemoveInstruction().Insert((CodeInstruction[])(object)new CodeInstruction[1] { new CodeInstruction(OpCodes.Call, (object)AccessTools.Property(typeof(ModAwareMultiplayer), "ModdedNetworkApplicationVersion").GetGetMethod()) }); val.Instruction.labels = labels; return val.InstructionEnumeration(); } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
NoPlayerCap.dll
Decompiled a month agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using Mirror; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("NoPlayerCap")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+4bb6758d9a5449880cdfdfc1f73d9d875ee9dfcc")] [assembly: AssemblyProduct("NoPlayerCap")] [assembly: AssemblyTitle("NoPlayerCap")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace Marioalexsan.NoPlayerCap { [BepInPlugin("Marioalexsan.NoPlayerCap", "Raises server max player cap to 64", "1.0.0")] public class NoPlayerCapMod : BaseUnityPlugin { private Harmony _harmony; private void Awake() { //IL_0007: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Expected O, but got Unknown _harmony = new Harmony("Marioalexsan.NoPlayerCap"); _harmony.PatchAll(); } } } namespace Marioalexsan.NoPlayerCap.HarmonyPatches { [HarmonyPatch(typeof(LobbyListManager), "Awake")] internal static class LobbyListManager_Awake { private static void Postfix(LobbyListManager __instance) { __instance._lobbyMaxConnectionSlider.maxValue = 64f; } } [HarmonyPatch(typeof(ProfileDataManager), "Load_HostSettingsData")] internal static class ProfileDataManager_Load_HostSettingsData { private static void Postfix(ProfileDataManager __instance) { if (File.Exists(__instance._dataPath + "/hostSettings.json")) { string text = File.ReadAllText(__instance._dataPath + "/hostSettings.json"); __instance._hostSettingsProfile = JsonUtility.FromJson<ServerHostSettings_Profile>(text); if (__instance._hostSettingsProfile._maxAllowedConnections < 2) { __instance._hostSettingsProfile._maxAllowedConnections = 2; } if (__instance._hostSettingsProfile._maxAllowedConnections > 64) { __instance._hostSettingsProfile._maxAllowedConnections = 64; } MainMenuManager._current.Load_HostSettings(); ((NetworkManager)AtlyssNetworkManager._current).maxConnections = __instance._hostSettingsProfile._maxAllowedConnections; } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }
PartyUp.dll
Decompiled a month agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using HarmonyLib; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("IncreasedPartyLimit")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("IncreasedPartyLimit")] [assembly: AssemblyCopyright("Copyright © 2024")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("4e12bfed-6188-4ebe-bbfd-c93103ea32ab")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [BepInPlugin("com.jswee.partyup", "Increased Party Limit Mod", "1.0.0")] public class PartyUp : BaseUnityPlugin { private void Awake() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) new Harmony("com.jswee.partyupd").PatchAll(); } } [HarmonyPatch(typeof(PartyObjectBehavior), "SerializeSyncVars")] public static class Patch_PartyObjectBehavior { [HarmonyPrefix] public static void SetMaxPartyLimit(PartyObjectBehavior __instance) { __instance.Network_maxPartyLimit = 99; } }