
Mage Arena
You are viewing a potentially older version of this package. View Latest Version

A plugin for Mage Arena that synchronizes mods between host and clients.
ModSync.dll in the BepInEx/plugins folderIf your mod can be considered a "cheat" - You MUST add the "all" tag and follow below, or you risk your mod being removed.
Mod developers can specify their mod's sync type by adding a static field or property named modsync:
public static string modsync = "all"; // Requires matching on both host and client - This is what is considered when syncing lobbies
public static string modsync = "host"; // Only required on host - These do not count for syncing lobbies
public static string modsync = "client"; // Only required on client - These do not count for syncing lobbies
here is an example of how an all mod should act:
namespace ExampleMod
{
[BepInPlugin("com.example.mymod", "My Example Mod", "1.0.0")]
[BepInProcess("MageArena.exe")]
[BepInDependency("com.magearena.modsync", BepInDependency.DependencyFlags.HardDependency)]
public class ExampleMod : BaseUnityPlugin
{
// This mod requires both client and host to have it
public static string modsync = "all";
private void Awake()
{
// ModSync dependency is guaranteed by BepInEx hard dependency
// If ModSync is not present, this mod won't even load
Logger.LogInfo("ModSync found! Initializing mod...");
// Your mod initialization code here
}
}
}
Note the Bepinex Hard Dependency. This is REQUIRED for mods that can be considered cheats.
Timeout Errors
Mod Mismatches
[ModSync] entriesDonations are never required, but appreciated. The mod will always remain free and up-to-date.
You can submit issues or questions in the modding discord, on my mod-releases thread.