This guide is for broadcasters who run Mimiron’s Gold-o-Matic: WoW addon, Twitch Extension, and Desktop helper, and how they connect to the Backend (EBS).
Important: In source, the Backend implements MVP-2, the WoW addon MVP-3, the Desktop (WPF) MVP-4, and the Twitch Extension includes the MVP-5 viewer panel (roulette UI, EBS polling). See docs/reference/IMPLEMENTATION_READINESS.md and docs/overview/ROADMAP.md for parity and gaps. Until packaged releases exist, “setup” often means running from source with a developer (see SETUP-for-developer.md).
Normative behavior (chat commands, mail flow, logs) is defined in docs/overview/SPEC.md.
MVP scope: One broadcaster channel per Backend instance (docs/overview/SPEC.md deployment scope).
MimironsGoldOMatic (from a release zip or from src/MimironsGoldOMatic.WoWAddon in this repo once packaged).Copy it into your WoW client:
<WoW 3.3.5a folder>\Interface\AddOns\MimironsGoldOMatic\
/reload after first install). Enable the addon on the character select AddOns list.The Desktop utility and Backend integration rely on lines appearing in Blizzard’s chat log file:
<WoW folder>\Logs\WoWChatLog.txt
Enable chat logging in WoW options if needed so [MGM_WHO], [MGM_ACCEPT:UUID], and [MGM_CONFIRM:UUID] from the addon are written there. The Desktop watches this file (docs/overview/SPEC.md §10).
!twgold <CharacterName> in Twitch chat (subscriber-gated; see spec).!twgold consent; the addon prints tags the Desktop forwards to the EBS./run MGM_RunWhoForSpin("<currentSpinCycleId>","<CharacterName>") so the addon prints [MGM_WHO] + JSON (docs/overview/SPEC.md §8). currentSpinCycleId comes from GET /api/roulette/state.Details: docs/components/wow-addon/ReadME.md and docs/overview/SPEC.md §8–10.
When the Extension is live on Twitch:
Developers use the Extension Developer Rig and a configured Base URI pointing at the EBS or a tunnel. Streamers rarely need the Rig unless you are co-testing a dev build.
Build from repo (developers):
cd src/MimironsGoldOMatic.TwitchExtension
npm install
npm run dev
Hosted URL for Twitch must be HTTPS in production.
Component doc: docs/components/twitch-extension/ReadME.md.
GET /api/payouts/pending (and related routes).X-MGM-ApiKey matching Mgm:ApiKey on the Backend.NotifyWinnerWhisper, ReceiveGold) per docs/overview/SPEC.md §8.WoWChatLog.txt for [MGM_WHO], [MGM_ACCEPT:UUID], [MGM_CONFIRM:UUID].Today: build from source with the .NET SDK (see SETUP-for-developer.md):
dotnet run --project src/MimironsGoldOMatic.Desktop
On first run, open File → Settings: set the EBS base URL (same host as your Backend) and X-MGM-ApiKey (must match Mgm:ApiKey on the server). The API key is stored under %LocalAppData%\MimironsGoldOMatic with DPAPI. Set your WoW install folder (or an override path) so the app can tail Logs\WoWChatLog.txt (docs/overview/SPEC.md §10). Use Test connection to verify GET /api/payouts/pending.
Component doc: docs/components/desktop/ReadME.md.
You do not run PostgreSQL on the gaming PC if the API is hosted in the cloud. You do need:
The Desktop and Extension must point at the same EBS URL (different auth: JWT vs API key).
| Symptom | Check |
|---|---|
| Extension API 401 | Extension JWT / ExtensionClientId / ExtensionSecret on EBS. |
| Chat enrollments never arrive | EventSub subscription to channel.chat.message, public /api/twitch/eventsub URL, EventSubSecret match, Twitch subscription enabled. |
| No “reward sent” line in Twitch chat | BroadcasterAccessToken, BroadcasterUserId, HelixClientId, token scopes for Send Chat Message. |
| Desktop never marks Sent | WoWChatLog.txt path, addon printed [MGM_CONFIRM:UUID], Desktop tail running, same ApiKey. |
docs/overview/SPEC.md — full MVP contracts.docs/reference/UI_SPEC.md (hub) and docs/components/*/UI_SPEC.md — panel layouts (Extension, Desktop, addon).docs/overview/INTERACTION_SCENARIOS.md — scenarios and test cases.SETUP-for-developer.md — filling appsettings and running services locally.