Skip to content

Bots & matchmaking

/admin/bots lists every bot account and lets the operator manage their AI personas, group composition, and event-driven behaviours.

Bot accounts

Bots live in the same auth.account table as humans, with is_bot = TRUE. An associated bot.accounts row carries:

  • Display handle (= the splintertag visible to other players).
  • Personality JSON (drives the LLM bot agent's tone, decisions, voice).
  • Goals JSON (active quests / activities the bot pursues).

Admins can:

  • Create a bot via POST /admin/accounts { is_bot: true, … } — random verifier so nothing ever authenticates as the bot via SRP6.
  • Edit personality + goals inline. Changes apply on the bot's next AI tick without restart.
  • Pause / resume the bot. Paused bots stay logged in but stop taking decisions.

NPC AI personalities (designer side)

The bot personality system shares the prompt + LLM-assignment pipeline with the NPC AI in Creatures & NPC AI. Same model, same prompt schema; bots just wrap a player character instead of an NPC.

Matchmaking

/admin/matchmaking surfaces the state of the matchmaking worker:

  • Active battleground queues (Alterac Valley, Warsong Gulch, Arathi Basin, Eye of the Storm, Strand of the Ancients, Isle of Conquest).
  • Active arena queues (2v2, 3v3, 5v5).
  • Per-bracket waiting time, MMR distribution.
  • Force a queue pop, kick a stale match, view per-match stats.

Battleground & arena templates

Edit individual battleground / arena templates (capacity, level range, map id, AV reinforcement counts, …) under /admin/battlegrounds and /admin/arena-maps.