Features
Report types, admin features, and chat system in legacy-reports
Report Lifecycle#
Player Creates Report (open)
|
|--> Admin Claims (claimed)
| |
| |--> In Progress (in_progress)
| | |
| | |--> Resolved (resolved)
| | |--> Closed (closed)
| |
| |--> Resolved (resolved)
| |--> Closed (closed)
|
|--> Admin Deletes Report
Player Features#
Creating Reports#
Players open the reports panel with /reports and can submit a new report by providing:
- Report Type -- Select from available report types (Player Report, Bug Report, etc.)
- Title -- Short summary (minimum 3 characters, maximum 200)
- Description -- Detailed description of the issue (minimum 10 characters, maximum 2000)
- Priority -- Low, Medium, High, or Critical
- Images -- Up to 5 image URLs as attachments
A configurable cooldown (default 60 seconds) prevents spam between submissions.
Viewing Reports#
Players can view all of their own reports and see:
- Report status, priority, and type
- Message count
- Creation and update timestamps
- Full chat history with admins
Chat#
Players can send messages in their own reports, including up to 3 image URLs per message. Closed reports cannot receive player messages (admins can still message closed reports).
Admin Features#
Report Management#
Admins see all reports from all players, sorted by status (open first) and then by priority (critical first). They can:
- Claim -- Take ownership of an open report, changing its status to "Claimed"
- Change Status -- Update the report status to any valid state (open, claimed, in_progress, resolved, closed)
- Assign -- Assign a report to another online admin
- Delete -- Permanently delete a report and all its messages
Admin Notes#
Admins can add private notes to any report (up to 5000 characters). These notes are only visible to other admins and are not shown to the reporting player.
Quick Replies#
Pre-configured reply templates allow admins to respond quickly to common scenarios. Quick replies are categorized and can be managed through the admin panel.
Default quick replies:
| Title | Category | Purpose |
|---|---|---|
| Investigating | general | Acknowledge receipt and investigation |
| Need More Info | general | Request additional details from the player |
| Resolved | closing | Confirm the issue is resolved |
| Duplicate | closing | Mark as a duplicate of another report |
| Action Taken | general | Confirm action has been taken |
Admins can create, edit, and delete quick replies. Each quick reply has:
- Title -- Display name (minimum 2 characters)
- Message -- The reply text (minimum 5 characters)
- Category -- Organizational category (e.g.
general,closing)
Report Type Management#
Admins can manage report types through the admin panel:
- Create -- Add new report types with a name, icon (Lucide icon name), and color
- Edit -- Update the name, icon, color, or active state of existing types
- Deactivate -- Types with existing reports are soft-deleted (set to inactive) rather than fully removed
- Delete -- Types with no reports are permanently deleted
Statistics Dashboard#
The admin statistics view provides:
- Total reports, broken down by status (open, claimed, in_progress, resolved, closed)
- Average resolution time in hours
- Reports grouped by type and priority
- 10 most recent reports
- Top 5 reporters by submission count
Real-Time Notifications#
For Admins#
- New report notifications when any player submits a report
- Report status update notifications
- New message notifications for reports they are viewing
For Players#
- Status change notifications when an admin updates their report
- New message notifications when an admin replies to their report
All notifications are delivered via lib.notify from ox_lib and also update the UI in real-time if the reports panel is open.
Image Support#
Images in reports and chat messages are validated server-side:
- Must be valid HTTP/HTTPS URLs
- Maximum URL length of 500 characters
- Reports support up to
Config.MaxImagesattachments (default 5) - Chat messages support up to
Config.MaxChatImagesattachments (default 3)