Whisper
Fixes and improves Steam lobby discovery in Mage Arena by correcting distance filters and lobby list handling.
模組介紹 作者原文
Whisper — Lobby Discovery Fix for Mage Arena
Whisper is a lightweight BepInEx mod that fixes Steam lobby discovery issues in Mage Arena by removing unnecessary client-side filters applied by the game.
If public lobbies exist, Whisper makes sure they are actually visible.
✨ Features
- ✅ Removes restrictive Steam lobby distance filters
- ✅ Allows worldwide lobby discovery
- ✅ Increases the maximum number of returned lobbies
- ✅ Optional version filtering
- ✅ Clean fallback to vanilla behavior when disabled
- ✅ Zero impact on matchmaking, gameplay, or voice chat
❓ What This Mod Does (and Does NOT Do)
✔️ What it does
- Fixes broken or overly strict lobby discovery
- Ensures Steam returns all discoverable public lobbies
- Prevents duplicate or cached lobby entries
❌ What it does NOT do
- ❌ It does not create lobbies
- ❌ It does not make private or friends-only lobbies public
- ❌ It does not bypass Steam privacy rules
- ❌ It does not add matchmaking
If no lobbies appear, it means no public Steam lobbies exist at that moment.
🔧 Configuration
Whisper is fully configurable via BepInEx.
Example config file:
Settings file was created by plugin Whisper v1.0.0
Plugin GUID: com.harukadev.magearena.whisper
[Compatibility]
Allows joining lobbies with different game versions (unsafe).
Setting type: Boolean
Default value: false
IgnoreGameVersion = false
Disables Whisper lobby discovery and uses the game's original behavior.
Setting type: Boolean
Default value: false
DisableWhisperPatch = false
[Debug]
Enables verbose debug logging.
Setting type: Boolean
Default value: false
EnableDebugLogs = false
[General]
Toggle the mod
Setting type: Boolean
Default value: true
Enabled = true
[Lobby Discovery]
How far Steam should search for lobbies.
Setting type: FilterOptionsEnum
Default value: Global
Acceptable values: SameRegion, NearbyRegion, Continent, Global
LobbyDistance = Global
Maximum number of lobbies requested from Steam.
Setting type: Int32
Default value: 100
Acceptable value range: From 20 to 250
MaxLobbyResults = 100
Ignores the game's original lobby size filter (2p / 8p).
Setting type: Boolean
Default value: true
IgnoreLobbySizeFilter = true
`
Lobby Distance Options
| Option | Description |
|--------------|-------------------------------|
| SameRegion | Very close / same region only |
| NearbyRegion | Nearby regions |
| Continent | Same continent |
| Global | Worldwide (recommended) |
🧠 How It Works
Whisper patches the following methods:
- BootstrapManager.GetLobbiesList
- BootstrapManager.OnGetLobbyList
It replaces the game's Steam lobby request with:
- A configurable distance filter
- Higher result limits
- Optional version filtering
- Clean lobby injection without redundant filtering
If Steam returns 0 lobbies, Whisper safely falls back to the game's original behavior.
🧪 Tested On
- Mage Arena 0.8.1
- BepInEx 5.4.23.4
- Steamworks.NET
- Windows 64-bit
📦 Installation
- Install BepInEx 5 for Mage Arena
- Drop Whisper.dll into:
MageArena/BepInEx/plugins/
- Launch the game once to generate the config
- Adjust settings if desired
🐞 Troubleshooting
“I see players online but no lobbies”
This is normal.
Steam player count ≠ public lobbies.
Most players host private or friends-only lobbies.
Whisper cannot show lobbies that Steam does not expose.
📜 License
MIT License
Feel free to fork, modify, and improve.
🧙 Final Notes
Whisper is intentionally minimal.
It fixes one problem — and does it well.
If Mage Arena ever changes its lobby system, this mod can be easily adapted.
Enjoy ✨
安裝與使用 安裝:按包內說明操作
- 解壓本站下載的壓縮包,先讀包內的 readme / 說明檔案。
- 多數模組依賴遊戲的模組載入器:常見做法是用社群模組管理器(如 r2modman)選中本遊戲安裝,由管理器自動處理載入器與依賴。
- 手動安裝時,把模組檔案放進遊戲目錄下對應的 Mod / plugins 資料夾。
- 啟動遊戲確認載入成功;帶「前置依賴」的模組需要把依賴一併安裝。
不同模組的安裝位置差異較大,包內說明是最可靠的依據。
下面這些內容需要先安裝,否則該模組不會生效: