User Guide
The instructions below use the default commands and keys. Server owners can change them in configuration; see Commands.
Create a report
- Open
/reportor press F6. - Start a new report and select a category.
- Enter a short title and a description of what happened.
- Add involved players using their current server IDs, if needed.
- Submit with Create. The ticket appears in your open reports.
Default limits are a 30-character subject, a description of 10 to 500 characters, a 60-second creation cooldown, and 3 active reports authored by the same player identity. The form displays character counts and disables submission outside the limits. The server independently validates Unicode code point lengths and rejects overlong text without silent truncation.
Nearby players are captured when the report is submitted. Being recorded as nearby is separate from joining the ticket as a participant.
Follow a ticket and manage participants
Select an open report to read the conversation and send a reply. Added participants can access the open ticket and chat. The author can add or remove participants and withdraw the report; staff can manage participants through the staff interface. The author cannot be removed from their own ticket.
Player health, armor, coordinates, and inventory snapshots are reserved for staff. They describe the captured state rather than a continuously refreshed view of the player. Inventory contents depend on the selected inventory bridge. Player-facing responses include only public ticket participant details.
Use the player close/withdraw action if the report is no longer needed. This closes it with the reason Withdrawn.
Add screenshot evidence
Screenshots require an existing open ticket, enabled captures, screenshot-basic, and a configured images webhook.
- Open the ticket's chat and choose the camera action.
- Aim the game view at the relevant scene. Nearby player ID labels may appear, depending on configuration.
- Left-click to capture, or press Esc to cancel camera mode.
- Wait for the uploaded image to appear in the conversation.
- Select the image thumbnail to open its preview.
The default capture cooldown is 8 seconds. maxPerReport = 0 or -1 means no configured per-ticket image limit. A positive limit is shared by the report's screenshots, not allocated separately to each participant.
Captures are uploaded by the server; clients never receive the images webhook. The integration stores attachment and message IDs and refreshes expired signed URLs when reports are loaded, using that server-only webhook. Deleted Discord messages, a replaced webhook, or old records missing those IDs can still make an image unavailable. This integration does not provide a permanent evidence archive.
Open the staff queue
Open /reports or press F7 with staff permission. The queue groups reports as:
| Group | Meaning |
|---|---|
| Mine | Reports claimed by your current player identity |
| Unclaimed | Reports waiting for a staff member |
| Others | Reports claimed by another staff member |
Mine and Others prioritize recent activity; Unclaimed prioritizes the oldest waiting reports. Staff unread indicators focus on Mine and Unclaimed.
Select a ticket to inspect its conversation, timeline, and player snapshots. Claim it to assign it to yourself. Use Unclaim to return it to the waiting queue; only the current assignee can unclaim it. Claiming assigns responsibility but does not make the ticket inaccessible to other staff.
Set staff duty and receive notifications
Use the On Duty / Off Duty switch in the staff sidebar.
| Setting | Default effect |
|---|---|
Config.StaffChat.defaultOnDuty = false | A staff member without a saved preference starts Off Duty |
Config.StaffChat.persistDuty = true | The duty preference is saved for that player identity |
Config.StaffNotify.onlyOnDuty = true | Report notifications are limited to staff On Duty |
Opening the staff menu does not automatically switch duty on. Duty controls the roster and notification eligibility; staff access still comes from permissions.
After receiving a report notification, press G to open the last notified report. The shortcut requires enabled staff notifications and a previous report notification.
Investigate and close a report
Player actions are available to staff when enabled by the server:
| Action | Purpose |
|---|---|
| Goto | Move yourself to the selected player |
| Bring | Move the selected player to you |
| Freeze / Unfreeze | Freeze or release the selected player |
Actions require an open report and an online, active participant. Goto and Bring also move the person into the destination routing bucket. For each ticket and person, the first return position and bucket are preserved across repeated actions, including multiple staff. Closing the ticket restores those positions for connected players. Freeze state comes from the server and updates after reloading a ticket. Return positions are held in memory and do not survive a resource/server restart.
To close a ticket, choose a reason: Resolved, No Response, Player Offline, Duplicate, or Other. Other requires a note in the staff UI. Closed reports leave the active queue and are available through history.
For integrations, the public CloseReport export has a narrower contract: it cannot submit an Other note. See Exports and Events.
Staff chat
Open Staff Chat to communicate with other staff. The on-duty roster shows available staff. Use @Name to mention a colleague; mention notifications target staff who are on duty. References such as #123 identify report numbers, and the interface recognizes references to existing reports.
Duty is not a separate permission to read staff chat. Access to the channel requires staff permission.
History and statistics
Open History to find closed reports. Staff can search all closed reports; player history lists reports authored by that player, not every ticket they participated in. Search, category, close reason, staff filters, sorting, and pagination help find a specific ticket.
Staff can open Statistics and select today, 7 days, 30 days, or 6 months. First response measures the first staff chat response, not the claim action. Report counts, response times, resolution times, and staff activity use database records. Player withdrawals are excluded from the administrative performance table.
For installation errors, see FAQ / Troubleshooting.
