Skip to content

Wishmaster117/mod-multibot-bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 

Repository files navigation

mod-multibot-bridge

AzerothCore server-side bridge module for MultiBot Chatless

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.


Repository Addon Core Architecture Client
linux-build windows-build macos-build



Component Repository Install Location
Server Module mod-multibot-bridge azerothcore/modules/mod-multibot-bridge
Client Addon MultiBot-Chatless World of Warcraft/Interface/AddOns/MultiBot

Important Notice

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.


What is mod-multibot-bridge?

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

Requirements

Server

  • AzerothCore WotLK.
  • AzerothCore source build environment.
  • mod-playerbots installed and working.
  • Ability to rebuild the server after adding a module.

Client

  • World of Warcraft 3.3.5a client.
  • MultiBot-Chatless installed in the client AddOns folder.

Installation

1. Clone the module

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-bridge

Expected structure:

azerothcore/
└── modules/
    └── mod-multibot-bridge/
        ├── conf/
        └── src/

2. Re-run CMake

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/dist

Use the same CMake options you normally use for your server.


3. Rebuild AzerothCore

Rebuild your server after CMake detects the module.

Example:

cmake --build . --config Release

Or use your normal build command / IDE workflow.


4. Install or verify the module configuration

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.


5. Start the server

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

Client Addon Installation

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 MultiBot

Expected client structure:

World of Warcraft/
└── Interface/
    └── AddOns/
        └── MultiBot/
            ├── MultiBot.toc
            ├── Core/
            ├── UI/
            └── ...

The addon folder must be named:

MultiBot

not:

MultiBot-Chatless

Updating

Update the bridge module

cd /path/to/azerothcore/modules/mod-multibot-bridge
git pull

Then re-run CMake if needed and rebuild AzerothCore.

Update the addon

cd "World of Warcraft/Interface/AddOns/MultiBot"
git pull

Protocol Overview

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


Supported Bridge Areas

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.

Chatless Design

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.


Troubleshooting

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-bridge was compiled into the server.
  • worldserver was restarted after rebuilding.
  • MultiBot-Chatless is installed in Interface/AddOns/MultiBot.
  • The addon is enabled on the character selection screen.
  • The server console shows MBOT HELLO / HELLO_ACK traffic 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 = false

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


Repository Layout

mod-multibot-bridge/
├── conf/
│   └── MultiBotBridge.conf.dist
└── src/
    ├── MultiBotBridge.cpp
    └── mod_multibot_bridge.cpp

Related Repositories

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.

Notes for Developers

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.

Credits

Built for use with AzerothCore mod-playerbots and the MultiBot addon ecosystem.

Thanks to the Playerbots team and the AzerothCore community.


mod-multibot-bridge

Structured server data for a cleaner, mostly chatless MultiBot UI.



Bridge Module  •  Client Addon

About

Bridge for MultiBot-Chatless

Resources

Stars

17 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Languages