Master Relay
Hidden comms and save helper for the Master addon suite.
Author: Sarcazmo
Clients: Retail (Midnight) and World of Warcraft: Forever
Version: 1.1.14
Master Relay has no window and no minimap button. It does not print to chat unless you turn debug on.
What it does
- Learns other players who run Master addons from target, mouseover, nameplates, and group
- Talks to them with silent addon whispers (no custom chat channel)
- Only remembers players who actually answer (suite users)
- Lets other Master addons send and receive data through one bus
- Captures Lua errors from Master addons locally (error text is never broadcast)
- Can notify once per login if a peer is on a newer Master addon version
- On Forever only, backs up Master addon settings in account macros (
Mz*) because SavedVariables can fail - On Retail, settings stay in SavedVariables. Relay will not create macros there, and it removes leftover backup macros
Requirements
Other Master addons should list:
## RequiredDeps: MasterRelay
Slash commands
| Command | Action |
|---|---|
/mrelay |
Status |
/mrelay debug |
Toggle debug prints |
/mrelay test |
Send a test ping |
API
MasterRelay:Register("YourAddon", "MSGTYPE", handler)
MasterRelay:Unregister("YourAddon", "MSGTYPE", handler)
MasterRelay:Broadcast("YourAddon", "MSGTYPE", data)
MasterRelay:Whisper("YourAddon", "MSGTYPE", data, "Name-Realm")
MasterRelay:Announce("YourAddon", "version")
MasterRelay:IsReady()
MasterRelay:InLockdown()
MasterRelay:GetRoster()
MasterRelay:Persist("Key", getter, setter)
MasterRelay:PersistNow("Key")
MasterRelay:PersistLoad("Key")
MasterRelay:PersistWipe("Key")
MasterRelay:IsForeverClient()
handler is called as handler(sender, data, msgType, addonName).
Install
Copy the MasterRelay folder into:
- Retail:
World of Warcraft/_retail_/Interface/AddOns/ - Forever:
World of Warcraft/_classic_era_/Interface/AddOns/(or your Forever AddOns folder)
Enable it in the addon list.
