ModSync

v1.1.0·Updated 2025-08-23

A plugin for Mage Arena that synchronizes mods between host and clients. Press F9 to enable auto-kicking of non matching mod lists.

About this mod Author’s original text

ModSync - Chat-Based Mod Synchronization

A plugin for Mage Arena that synchronizes mods between host and clients.

NEW: FRIENDSMODE configuration! Press F8 to disable all kicking/leaving functionality of modsync, to guarantee your private lobbies arent messed with by modsync.

Features

  • Automatic Detection: Detects when players join and automatically checks their mod compatibility
  • Lobby Lock: Host can enable lobby lock (F9) to kick players with mismatched mods (clients get 10 seconds to respond to mod requests)
  • Visual Feedback: Shows success/error messages in the game UI
  • Renames Lobbies: Automatically names lobbies MODDED: (list of mods)

How It Works

For Hosts:

  • When a player joins, ModSync sends a mod request to the player.
  • If the player has ModSync, they respond with their mod list
  • Host compares mod lists automatically and either accepts or kicks the player.
  • Mods with the "all" tag will be considered when matching mod lists. This means that client side mods should not affect the compatibility between host and player.

For Clients:

  • When joining a lobby, clients automatically send their mod list to the host
  • Clients respond to mod requests from the host
  • If mods don't match, clients receive a mismatch message
  • Most client side mods should be fine to run without getting a mismatch error.

Installation

  • Install BepInEx for Mage Arena
  • Place ModSync.dll in the BepInEx/plugins folder

Usage

For Hosts:

  • Press F9 to toggle lobby lock on/off
  • When lobby lock is enabled, players with mismatched mods will be automatically kicked
  • Press F8 to toggle FRIENDSMODE. This will disable all kicking/leaving functionality so modsync does not mess up your private lobbies.
  • This can also be modified in the config file.

For Clients:

  • No manual intervention required
  • ModSync automatically handles synchronization when joining lobbies
  • Check the game logs for detailed ModSync information

Configuration

If 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.

Donations

Donations are never required, but appreciated. The mod will always remain free and up-to-date.

Support Development

Modding Discord & Support

You can submit issues or questions in the modding discord, on my mod-releases thread.

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack

File & checksum

Filename
ModSync-1.1.0.zip
File size
78.7 KiB