mod-multibot-bridge is the companion AzerothCore module used by the MultiBot-Chatless World of Warcraft addon.
It provides a structured addon-message bridge between the client UI and the server, allowing MultiBot to refresh bot data without relying on automatic legacy chat parsing.
| Component | Repository | Install Location |
|---|---|---|
| Server Module | mod-multibot-bridge |
azerothcore/modules/mod-multibot-bridge
|
| Client Addon | MultiBot-Chatless |
World of Warcraft/Interface/AddOns/MultiBot
|
This repository contains only the AzerothCore server-side bridge module.
You also need the client addon:
Without the addon, this module does nothing visible by itself.
Without this module, the addon cannot use the new bridge-first / mostly chatless UI refresh paths.
mod-multibot-bridge is a server-side module that exposes structured Playerbot data to the MultiBot addon using addon messages.
Instead of forcing the addon to trigger bot commands and parse localized chat replies, the addon can send structured MBOT GET~... requests to the server.
The bridge then answers with structured payloads that the addon can consume directly.
| Legacy behavior | Bridge-first behavior |
|---|---|
| Addon triggers bot commands | Addon sends structured MBOT GET~... requests |
| Bots answer with chat text | Bridge answers with structured addon messages |
| Addon parses localized chat lines | Addon consumes stable protocol payloads |
| Automatic UI refresh creates chat spam | Main UI refresh paths become mostly chatless |
- AzerothCore WotLK.
- AzerothCore source build environment.
mod-playerbotsinstalled and working.- Ability to rebuild the server after adding a module.
- World of Warcraft 3.3.5a client.
MultiBot-Chatlessinstalled in the client AddOns folder.
Clone this repository into your AzerothCore modules directory:
cd /path/to/azerothcore/modules
git clone https://github.com/Wishmaster117/mod-multibot-bridge.git mod-multibot-bridgeExpected structure:
azerothcore/
└── modules/
└── mod-multibot-bridge/
├── conf/
└── src/
After adding a new module, re-run CMake using your usual AzerothCore build workflow.
Example:
cd /path/to/azerothcore/build
cmake ../ -DCMAKE_INSTALL_PREFIX=/path/to/azerothcore/env/distUse the same CMake options you normally use for your server.
Rebuild your server after CMake detects the module.
Example:
cmake --build . --config ReleaseOr use your normal build command / IDE workflow.
The module provides a configuration template:
conf/MultiBotBridge.conf.dist
Depending on your AzerothCore setup, make sure the module configuration is copied, installed, or available in the configuration directory used by your worldserver.
Typical final layout may look similar to:
azerothcore/env/dist/etc/modules/MultiBotBridge.conf
or:
azerothcore/env/dist/etc/modules/MultiBotBridge.conf.dist
Follow the same config handling pattern you use for your other AzerothCore modules.
Start worldserver.
When the module is loaded correctly and the addon connects, the server console should show bridge traffic similar to:
MBOT HELLO
MBOT HELLO_ACK
MBOT PING
MBOT PONG
GET~ROSTER
GET~STATES
GET~DETAILS
Install the companion addon from:
Clone it into your World of Warcraft AddOns directory:
cd "World of Warcraft/Interface/AddOns"
git clone https://github.com/Wishmaster117/MultiBot-Chatless.git MultiBotExpected client structure:
World of Warcraft/
└── Interface/
└── AddOns/
└── MultiBot/
├── MultiBot.toc
├── Core/
├── UI/
└── ...
The addon folder must be named:
MultiBot
not:
MultiBot-Chatless
cd /path/to/azerothcore/modules/mod-multibot-bridge
git pullThen re-run CMake if needed and rebuild AzerothCore.
cd "World of Warcraft/Interface/AddOns/MultiBot"
git pullThe bridge uses the MBOT addon-message prefix.
Common request / response flow:
Addon -> Server: MBOT HELLO~<protocolVersion>
Server -> Addon: MBOT HELLO_ACK~<protocolVersion>~mod-multibot-bridge
Addon -> Server: MBOT PING~<token>
Server -> Addon: MBOT PONG~<token>
Addon -> Server: MBOT GET~ROSTER
Server -> Addon: MBOT ROSTER~...
Addon -> Server: MBOT GET~STATES
Server -> Addon: MBOT STATES~...
The exact payloads are consumed internally by the MultiBot addon.
| Area | Purpose |
|---|---|
HELLO / HELLO_ACK |
Bridge handshake and protocol detection. |
PING / PONG |
Connection check between addon and bridge. |
GET~ROSTER |
Refresh bot roster without legacy chat parsing. |
GET~STATES |
Refresh bot state flags and UI state data. |
GET~DETAILS |
Refresh detailed bot information. |
GET~STATS |
Refresh stat panel data. |
GET~PVP_STATS |
Refresh PvP statistics panel data. |
GET~TALENT_SPEC_LIST |
Refresh available talent spec templates without automatic chat parsing. |
GET~INVENTORY |
Refresh inventory data with item links and icons. |
GET~BANK |
Refresh bot bank contents when a banker is available near the bot. |
GET~GBANK |
Refresh the bot guild bank snapshot and withdrawal-rights state without requiring the player to be in the same guild. |
GET~SPELLBOOK |
Refresh spellbook data. |
GET~BOT_SKILLS |
Refresh character info skills, professions, secondary skills, weapon skills and armor skills. |
GET~BOT_REPUTATIONS |
Refresh visible bot reputation standings for the Character Info frame. |
GET~BOT_EMBLEMS |
Refresh bot emblem counts and money for the Character Info currencies tab. |
GET~PROFESSION_RECIPES |
Refresh known profession recipes, materials, craftable counts and recipe output metadata. |
GET~GLYPHS |
Refresh glyph sockets, glyph spell IDs and tooltip data. |
GET~OUTFITS |
Refresh outfit sets and bridge outfit actions. |
GET~TRAINER |
Refresh spells a bot can learn from the player's currently selected trainer, including costs and affordability. |
GET~QUESTS |
Refresh bot quest lists without localized chat parsing. |
GET~GAMEOBJECTS |
Refresh game object search results for the addon results frame. |
RUN~CRAFT_RECIPE |
Ask a bot to craft one known profession recipe and return detailed cast failure reasons. |
RUN~ITEM_ACTION |
Run whitelisted inventory item actions such as bank deposit, bank withdraw, guild bank deposit, guild bank withdraw and vendor buy. |
RUN~OUTFIT |
Run outfit create, update, reset, equip and replace actions through the bridge. |
RUN~TRAINER_LEARN |
Ask a bot to learn one trainer spell or all available trainer spells after revalidating the selected trainer. |
RUN~RTI |
Run whitelist-only RTI icon and RTI target commands. |
RUN~COMBAT |
Run whitelist-only combat strategy commands. |
RUN~POSITION |
Run whitelist-only disperse distance and disable commands. |
RUN~LOOT |
Run whitelist-only loot rules and loot list commands without addon-side chat parsing. |
This module is designed to reduce automatic chat spam caused by UI refresh operations.
It does not remove manual playerbot commands.
Manual commands are still useful for diagnostics and gameplay actions.
For example, players can still intentionally use commands such as:
who
co ?
nc ?
ss ?
The bridge only replaces the automatic data-refresh paths used by the addon UI.
The module does not appear to load
Check that the module is installed here:
azerothcore/modules/mod-multibot-bridge
and that the structure is not nested incorrectly.
Correct:
azerothcore/modules/mod-multibot-bridge/src
azerothcore/modules/mod-multibot-bridge/conf
Incorrect:
azerothcore/modules/mod-multibot-bridge/mod-multibot-bridge/src
Then re-run CMake and rebuild the server.
The addon loads but does not connect to the bridge
Check that:
mod-multibot-bridgewas compiled into the server.worldserverwas restarted after rebuilding.MultiBot-Chatlessis installed inInterface/AddOns/MultiBot.- The addon is enabled on the character selection screen.
- The server console shows
MBOT HELLO/HELLO_ACKtraffic when logging in or reloading the UI.
I still see some bot chat messages
The bridge removes automatic UI-refresh spam for migrated paths.
Manual commands and some gameplay write actions may still intentionally produce chat output.
In the addon, normal bridge-first usage should keep:
MultiBot.allowLegacyChatFallback = falseOnly enable legacy fallback temporarily for debugging.
Inventory, spellbook, glyphs or outfits are not updating
Check the server console for requests such as:
GET~INVENTORY
GET~SPELLBOOK
GET~GLYPHS
GET~OUTFITS
If these do not appear, the addon may not be connected to the bridge.
If they appear but data is missing, verify that the target bot is online, grouped, and available to the player.
Profession recipe crafting fails from the addon
Check the server console for responses such as:
PROFESSION_RECIPE_CRAFT~BotName~token~skillId~spellId~itemId~ERR~REQUIRES_SPELL_FOCUS
PROFESSION_RECIPE_CRAFT~BotName~token~skillId~spellId~itemId~ERR~MOVING
PROFESSION_RECIPE_CRAFT~BotName~token~skillId~spellId~itemId~ERR~NO_MATERIALS
The addon displays localized messages for known bridge reasons.
For cooking recipes, REQUIRES_SPELL_FOCUS usually means the bot must be near a cooking fire.
mod-multibot-bridge/
├── conf/
│ └── MultiBotBridge.conf.dist
└── src/
├── MultiBotBridge.cpp
└── mod_multibot_bridge.cpp
| Repository | Description |
|---|---|
| MultiBot-Chatless | Client-side World of Warcraft addon using the bridge-first UI refresh path. |
| mod-multibot-bridge | AzerothCore server-side bridge module. |
| MultiBot-Standalone | Deprecated combined repository kept for history. |
| mod-playerbots | Original AzerothCore Playerbots module required for bot functionality. |
This module is intentionally focused on exposing structured data to the addon.
Design goals:
- Keep the addon UI refresh paths independent from localized chat parsing.
- Preserve manual playerbot commands for diagnostics and gameplay.
- Keep the bridge protocol stable enough for addon-side consumers.
- Avoid unnecessary server-side behavior changes outside the bridge.
- Keep the module installable as a normal AzerothCore module.
Built for use with AzerothCore mod-playerbots and the MultiBot addon ecosystem.
Thanks to the Playerbots team and the AzerothCore community.