ModSync

版本 v1.1.0·更新於 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.

模組介紹 作者原文

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.

安裝與使用 安裝:按包內說明操作

  1. 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
  2. 多數模組依賴遊戲的模組載入器:常見做法是用社群模組管理器(如 r2modman)選中本遊戲安裝,由管理器自動處理載入器與依賴。
  3. 手動安裝時,把模組檔案放進遊戲目錄下對應的 Mod / plugins 資料夾。
  4. 啟動遊戲確認載入成功;帶「前置依賴」的模組需要把依賴一併安裝。

不同模組的安裝位置差異較大,包內說明是最可靠的依據。

前置依賴

下面這些內容需要先安裝,否則該模組不會生效:

BepInEx-BepInExPack

檔案與校驗

檔案名稱
ModSync-1.1.0.zip
檔案大小
78.7 KiB