Skip to content

VoxCore84/VoxGM

Repository files navigation

VoxGM

License: MIT

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

What It Does

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.

Features

GM Mode Tab

  • Toggle controls -- Fly, GM Mode, Visible, Stealth, God Mode (sends .cheat casttime/cooldown/god/power as 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 Operations Tab

  • 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

Character Tab

  • 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

Appearance Tab (requires VoxCore custom commands)

  • Player morph -- .wmorph (persistent) + .wscale on 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

Custom NPC Tab (requires VoxCore .cnpc system)

  • .cnpc commands -- 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

Dev Tools Tab

  • 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

Infrastructure

  • 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

Stock TC vs VoxCore Commands

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.

Installation

  1. Copy the VoxGM folder to your WoW addon directory:
    <WoW Install>/Interface/AddOns/VoxGM/
    
  2. Log in. The addon registers automatically.
  3. Type /vgm to open the panel, or click the minimap button.

Slash Commands

Command Description
/vgm or /voxgm Toggle the panel
/vgm reset Reset window position to center
/vgm minimap Toggle minimap button visibility

Requirements

  • 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

Glossary

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

File Structure

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.

Technical Notes

  • 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 PlayerName through the chat command path instead.
  • Staggered commands use C_Timer.After with 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 exact trinity_string output 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 fire CHAT_MSG_SYSTEM in 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.

License

MIT

About

Unified GM/Admin control panel addon for TrinityCore 12.x — 6 tabs (GM Mode, NPC Ops, Character, Appearance, Custom NPC, Dev Tools), minimap button, SavedVariables, command history. Sends dot-commands via chat — no server patches required.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages