LibTomoKeystoneSync-1.0
LibTomoKeystoneSync-1.0 is a lightweight World of Warcraft library that allows addons to exchange Mythic+ keystone information without requiring LibOpenRaid or another large communication framework.
It was originally created for the Tomo addon ecosystem, but is designed as an open, embeddable library that any addon developer can integrate.
The library uses the lightweight TOMOKEYS addon-message protocol and can automatically share and receive Mythic+ keystone information between compatible addons.
Features
- Share the player's current Mythic+ keystone.
- Request keystone information from party or raid members.
- Request keystone information from guild members.
- Receive keystone updates through callbacks.
- Access known keystone data through a simple Lua API.
- Includes dungeon map ID, keystone level, class, specialization and Mythic+ rating.
- No LibOpenRaid dependency.
- Lightweight communication protocol.
- Safe to embed in multiple addons at the same time.
- Automatically avoids duplicate broadcasts when several compatible addons are installed.
- Compatible with TomoMod's native KeySync implementation.
- Gracefully handles WoW clients where Mythic+ APIs or events are unavailable.
Protocol
Addon message prefix:
TOMOKEYS
Request:
1:?
Keystone data:
1:K:<challengeMapID>:<level>:<classID>:<specID>:<rating>
Unknown protocol versions are ignored so the protocol can evolve without older clients attempting to interpret incompatible data.
For Addon Developers
Embed the library in your addon and load it before the code that uses it:
Libs\LibTomoKeystoneSync-1.0\LibTomoKeystoneSync-1.0.lua
Then access it with:
local KeySync = _G["LibTomoKeystoneSync-1.0"]
or:
local KeySync = LibTomoKeystoneSync
The public API includes functions for reading the local player's keystone, requesting party or guild keys, retrieving known keystone data, broadcasting updates, and registering callbacks.
Compatibility
Compatible addons can exchange keystone data even if the players are using completely different addons, as long as those addons implement LibTomoKeystoneSync or the compatible TOMOKEYS protocol.
When TomoMod is installed, its native KeySync implementation remains the authoritative sender while the library continues to provide its public API without producing duplicate messages.
License
LibTomoKeystoneSync-1.0 is distributed under the MIT License.
Created by TomoAniki.