harukadev-Whisper icon

Whisper

Fixes and improves Steam lobby discovery in Mage Arena by correcting distance filters and lobby list handling.

Last updated a day ago
Total downloads 20
Total rating 1 
Categories Mods
Dependency string harukadev-Whisper-1.0.0
Dependants 0 other packages depend on this package

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2304 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2304

README

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

📦 Installation

  1. Install BepInEx 5 for Mage Arena

  2. Drop Whisper.dll into:

    MageArena/BepInEx/plugins/
    
  3. Launch the game once to generate the config

  4. 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 ✨