Skip to content

Tickets & support

/admin/tickets is the GM ticket queue surfaced from characters.gm_tickets plus the LLM ticket-assist drafting flow.

Queue

  • Filter by status (open / replied / closed), assignee, age, last player message age.
  • Per-row badges for ticket category, character class, severity.
  • Bulk close with a canned reason.

Per-ticket view

  • Conversation thread (player messages + GM replies).
  • Character context: gear, talents, recent location, recent loot, active auras — operator can decide on a stuck-character ticket without having to log in as the player.
  • Action buttons: teleport character, restore quest progress, refund loot, restore mail, force unstuck.

LLM ticket-assist

When world.llm_assignment[use_case='ticket_assist'] is configured (autonomous=false by default), the GM gets a "Suggest reply" button. The ticket-agent (splintertree-common::ticket_agent) drafts a polite, GM-persona reply using the system prompt the operator set in world.llm_assignment.system_prompt. The GM reviews and either edits, sends, or discards.

Setting autonomous=true lets the agent send the draft directly without GM review — useful for low-severity templated answers but operators usually keep the human-in-the-loop default.

Calendar of GM shifts

/admin/calendar surfaces the on-call GM schedule from auth.gm_oncall. Useful for routing routing tickets to whoever's covering the shift the player opened the ticket in.

Bug reports

Player-submitted bug reports (characters.bug_reports) feed into the same queue with a separate filter.