Reports System
gcm_reports is a complete staff report and ticket management system for FiveM servers.
It provides a structured workflow that allows players to submit reports and enables staff members to manage, respond to, and resolve support tickets directly in-game.
Overview
The Reports System streamlines staff support operations, allowing administrators and moderators to manage player reports efficiently through an integrated ticket workflow.
Core Features
- Player Report Creation – Players can create reports through an in-game command.
- Live Staff Chat – Real-time communication between staff and the reporting player.
- Staff Ticket Queue – Staff members can view, claim, and manage pending reports.
- Ticket Resolution Workflow – Tickets can be resolved and tracked through their lifecycle.
- Staff Duty Mode – Allows staff to toggle availability for handling reports.
- Staff Chat System – Internal communication channel for staff members.
Quick Staff Actions
Staff members can perform quick administrative actions directly from the report interface:
- Teleport to player
- Bring player / return player
- Revive player
- Open inventory
- Give items
- Change routing bucket
- Spectate player
- Screenshot modal
Quick actions now use internal adapters for multiple inventory, clothing, and ambulance stacks instead of relying only on ox_inventory, qb-clothing, and qb-ambulancejob.
Permission System
The resource includes a group-based permission system that allows administrators to configure:
- Staff groups and ranks
- Feature access restrictions
- Per-action permissions for staff members
Admin Analytics
The system also exposes endpoints and internal data for administrative tools, including:
- Report history
- Staff activity statistics
- Staff leaderboard tracking
Runtime Architecture
The system is designed to integrate seamlessly with common FiveM frameworks.
Framework Detection
The resource automatically detects the active framework during initialization in init.lua.
Supported frameworks:
qbx_coreqb-corees_extended
Core Dependencies
Required libraries used by the system:
ox_liboxmysql
Auto-detected integrations
The resource detects one active backend per category during startup.
- Inventory
ox_inventoryqs-inventoryorigen_inventorycodem-inventoryqb-inventoryps-inventorycore_inventorytgiann-inventoryjpr-inventory
- Clothing / appearance
origen_clothingillenium-appearancefivem-appearanceqb-clothingesx_skinrcore_clothing
- Ambulance / revive
qb-ambulancejobqbx_medicalwasabi_ambulanceesx_ambulancejob
Detection does not guarantee every quick action is available on every backend. Admin inventory opening still depends on a real adapter path for the detected inventory.
User Interface
The staff management interface is built using NUI, served from: web/dist/index.html
This interface provides the main staff panel, report management tools, and live chat system.
Database Persistence
The system stores runtime data in MySQL, including:
- Ticket information
- Report messages
- Staff groups and permissions
- Staff statistics
- Dynamic configuration values
System Flow
The report lifecycle works as follows:
- A player opens the
/greportcommand and creates a support ticket. - Staff members open the
/gadminpanel to view the report queue. - A staff member claims a pending ticket and begins handling the report.
- Staff and player communicate through the live chat interface while actions can be executed.
- Once the issue is resolved, the ticket is closed and staff statistics are updated.
- Runtime configuration values are stored through
ConfigManager, which persists settings using database-backed configuration keys.
The Reports System provides a structured workflow for handling player support requests efficiently.