This addon is for Game Masters on TrinityCore private servers. It does not work on retail Blizzard servers.
Unified GM/Admin control panel for TrinityCore 12.x private servers. Replaces 60+ macros with a single tabbed interface that sends dot-commands through the chat system -- no server patches required.
Note: VoxGM was built for VoxCore, a TrinityCore fork with custom commands. Some features (marked below) require VoxCore-specific commands that do not exist on stock TrinityCore. The core GM/NPC/Character features work on any TC server.
Repository: github.com/VoxCore84/VoxGM
Open the panel with /vgm and every GM command you use regularly is one click away. Toggle GM mode, fly, god mode, stealth, visibility. Change speed with a slider or quick buttons. Spawn NPCs, morph your character, hide armor slots, manage custom NPCs, tweak CVars -- all from a single draggable window.
VoxGM sends commands through the active chat edit box using the same path as typing them manually -- no C++ hooks, no Eluna, no server-side components.
- Toggle controls -- Fly, GM Mode, Visible, Stealth, God Mode (sends
.cheat casttime/cooldown/god/poweras a staggered sequence) - Visibility OFF auto-targets self and removes the transparency aura (37800)
- Speed slider with quick-select buttons (1, 3, 6, 8, 10)
- Phase tracker -- shows current phase, Check Me / Check Target buttons
- NPC actions -- Delete (with confirmation), Move Here, Respawn, NPC Info
- Spawn NPC -- preset buttons (Banker, Transmogrifier, Stable Master) + custom entry ID
- NPC properties -- faction dropdown + custom ID, scale, aura/unaura
- Session setup -- Max Reputations, Max Titles, Max Achievements, Max Professions (dim after first use)
- Economy -- Max Gold, Open Barber, Bags (4x Warband Bank + 1x Reagent Bag)
- Manual commands -- Add Item (ID + quantity), Learn Spell
- Player morph --
.wmorph(persistent) +.wscaleon one row - Target morph --
.morph+ Demorph (stock TC) - Hide appearance slots -- 10 individual buttons + Hide All for head, shoulders, back, chest, waist, hands, legs, feet, wrists
- Custom .disp grid -- per-slot appearance ID entry for all 14 equip slots
.cnpccommands -- Create, Spawn, Delete (with confirmation), Remove Variation- Race dropdown (25 races), gender toggle
- Text fields for name, subname, guild, rank, display ID, face
- Equipment slots with equip/remove per slot
- Scale and tameable toggles
- Client tools -- Reload UI, Frame Stack, Event Trace
- Editable CVars -- each CVar shows current value, edit box, Set button, and green/orange status indicator
- Apply All to Preset resets all CVars to configured defaults
- Server commands -- Set Time with quick buttons (Dawn/Noon/Dusk/Night), Typing toggle, Combat Log toggle, GOB Visible
- Minimap button -- draggable, left-click toggles panel
- Addon Compartment -- appears in the 12.x addon menu
- SavedVariables -- persists window position, last-used values across sessions
- Schema migration -- versioned DB with automatic migration on update
- Command history -- every command sent is logged with timestamp and source (data layer; UI browser planned for v1.1)
- Favorites system -- data layer for bookmarking commands, NPC spawns, display IDs (UI browser planned for v1.1)
- Event parsers -- auto-detects server responses for GM mode, fly, visibility, speed, phase changes and syncs toggle states
- Status bar -- shows last command sent, auto-clears after 5 seconds
- Scrollable tabs -- mouse wheel scrolling on all tab content
| Feature | Required Commands | Stock TC? |
|---|---|---|
| GM Mode tab (toggles, speed, phase) | .gm, .cheat, .modify speed, .debug phase |
Yes |
| NPC Operations (spawn, delete, move) | .npc add, .npc delete, .npc move, .respawn |
Yes |
| Character (gold, items, spells) | .modify money, .additem, .learn |
Yes |
| Character (reps, titles, achievements) | .maxrep, .maxtitles, .maxachieve |
Varies by fork |
| Player morph + scale | .wmorph, .wscale, .remorph |
No -- VoxCore only |
| Target morph | .morph, .demorph |
Yes |
| Hide appearance slots | .disp |
No -- VoxCore only |
| Custom NPC tab | .cnpc |
No -- VoxCore only |
| Max Professions | .profs |
No -- VoxCore only |
| Typing toggle | .typing |
No -- VoxCore only |
| Barber | .barber |
No -- VoxCore only |
Buttons for commands your server doesn't support will produce a "command not found" error in chat. The addon itself will not crash.
- Copy the
VoxGMfolder to your WoW addon directory:<WoW Install>/Interface/AddOns/VoxGM/ - Log in. The addon registers automatically.
- Type
/vgmto open the panel, or click the minimap button.
| Command | Description |
|---|---|
/vgm or /voxgm |
Toggle the panel |
/vgm reset |
Reset window position to center |
/vgm minimap |
Toggle minimap button visibility |
- WoW 12.x client (Interface 120001)
- TrinityCore server with standard dot-commands (some features require VoxCore-specific commands; see table above)
- GM account with appropriate RBAC permissions
| Term | Meaning |
|---|---|
| TrinityCore | Open-source WoW server emulator. VoxGM sends commands to this server |
| Dot-commands | Server GM commands typed in chat, prefixed with . (e.g., .gm fly on) |
| RBAC | Role-Based Access Control -- the server permission system that controls which commands each account can use |
| Stock TC | Unmodified TrinityCore, as opposed to custom forks like VoxCore |
| VoxCore | A TrinityCore fork with additional custom commands (.wmorph, .cnpc, .disp, etc.) |
VoxGM/
VoxGM.toc -- Addon manifest
Core.lua -- Bootstrap, slash commands, event frame
Constants.lua -- Colors, dimensions, tab definitions
Util.lua -- Helpers (print, clamp, parse, sanitize, status messages)
State.lua -- SavedVariables management + schema migration
Commands.lua -- Command dispatch via ChatEdit_SendText
Events.lua -- System message parsers for state sync
UI.lua -- Widget library + main frame + tab system
Minimap.lua -- Draggable minimap button
Compartment.lua -- Addon Compartment integration
Data/
Presets.lua -- NPC spawn + faction presets
Races.lua -- 25 playable races for CNPC
Slots.lua -- 14 .disp equipment slot definitions
CVars.lua -- Developer CVar preset values
Modules/
PhaseTracker.lua -- Phase detection + display
Favorites.lua -- Bookmark system
History.lua -- Command history (100 cap, FIFO)
Tab_GM.lua -- GM Mode tab
Tab_NPC.lua -- NPC Operations tab
Tab_Character.lua -- Character tab
Tab_Appearance.lua -- Appearance tab
Tab_CNPC.lua -- Custom NPC tab
Tab_DevTools.lua -- Dev Tools tab
22 files loaded, ~2,500 lines of Lua. No external libraries. No Ace3.
- ChatEdit_SendText hides the edit box after each send. VoxGM re-opens it with
ChatFrame_OpenChat("")before every command, which is critical for multi-command sequences (god mode, hide all, etc.). - Protected APIs like
TargetUnit()cannot be called from addon code. Self-targeting uses/target PlayerNamethrough the chat command path instead. - Staggered commands use
C_Timer.Afterwith 0.2-0.3s intervals to avoid server-side race conditions. - Toggle state sync -- the addon parses system messages (
CHAT_MSG_SYSTEM) from the server to keep toggle buttons in sync with actual server state. Patterns are matched against the exacttrinity_stringoutput for GM mode, fly mode, visibility, speed, phase, and god mode. Note: some TC commands send notifications (SMSG_PRINT_NOTIFICATION) rather than system messages, which may not fireCHAT_MSG_SYSTEMin all client versions. As a fallback, all toggles also use optimistic state (the button assumes the command worked). If you manually type a GM command in chat, the button state may desync until the next server response. - Reload resets toggle state -- after
/reload, all toggle buttons reset to OFF because Lua memory is cleared. The server state is not affected. Clicking a toggle will re-send the command. The event parsers will re-sync state from the next server response.
MIT