RedM Reports Troubleshooting
The resource won't start, or ensure can't find it
The folder is pc_report but the manifest name is pc_reports. ensure uses the folder name:
ensure pc_reportRename the folder to pc_reports if you want them to match — but remember exports follow the folder name too, so anything you have written against exports.pc_report changes with it.
Staff aren't detected — no dashboard, no tools
Work through these in order:
- Confirm the framework. The console prints
Framework bridge: <name>on start. Force it if wrong:luaConfig.Framework.force = 'vorp' - VORP — the player's user group (not character group) must be a staff group in
bridge/vorp.lua. - RSG — they need
god/admin/mod, or an ACE (pc_reports.*). - RedEM / Standalone — grant the ACEs in
install/permissions.cfg, andexecthat file fromserver.cfg. - After changing any group or ACE while the player is online, run:
/refresh_report_permissions
"Framework bridge: standalone" but I'm on VORP or RSG
Your framework resource started after this one, or its folder name differs from what the config expects.
- Move the framework above
pc_reportinserver.cfg - Set
Config.Framework.resourceNamesif your core folder is named differently
Screenshots don't work
- Install the RedM fork of
screenshot-basic— the FiveM build will not work. ensureit before this resource.- Set
Config.Media.Webhook.urlto a valid Discord webhook. - Media auto-disables with no errors if
screenshot-basicis not started or the URL is empty. That silence is why this is easy to miss.
There is no video on RedM
Bursts are rapid screenshots, by design. This is a platform limitation.
Discord webhooks aren't sending
- Replace the placeholder URLs in
server/webhook.luaandConfig.Media.Webhook.url— they are separate. server/webhook.luamust load beforeserver/server.lua(the default order infxmanifest.lua) because it definesDispatchHook.- Check outbound HTTPS is not blocked on your host.
attempt to index a nil value (field 'Locale') on start
You are on an old build. Update — Config.LocaleUI must be a top-level key, which was fixed in the current version.
Reports don't persist after restart
Config.Database = { enabled = true, tableChecker = true }oxmysql must be running and started before this resource. With tableChecker = true the tables build automatically; otherwise import install/schema.sql.
"You must wait before creating another report"
That is the anti-spam cooldown:
Config.Cooldown = { Seconds = 60 } -- 0 = offSpectate won't stop, or I can't rebind the key
Press Backspace, or type /pcr_stop_spectate.
RedM does not expose rebindable keymaps here. To remap, change the hashes at the top of client/client.lua — SPECTATE_STOP_KEY, PREV, NEXT.
Auto-assign isn't assigning
Config.AutoAssign.Enabledmust betrue.- With
Config.Duty.Enabled = true, at least one staff member must be on duty (/reportduty).
This is the most common "alerts are broken" report, and it is working as designed.
Anonymous reports still show the name somewhere
Update to the current build. Name and server ID are masked in the queue, webhook, chat and typing indicator. The license is kept server-side only.
Priorities, categories or forms don't show my changes
config.lua is a shared script. Restart the resource:
restart pc_reportRe-opening the menu on the client is not enough for config changes.
RSG / RedEM specifics
Those adapters ship with sensible defaults but were not tested against a live core. If staff detection is off, edit the permission maps at the top of bridge/rsg.lua or bridge/redp.lua.
The UI is stale after an update
RedM caches NUI assets:
restart pc_report- Have players fully reconnect
- If it persists for one player, they clear
%localappdata%\RedM\RedM.app\data\cache— noteRedM.app, notFiveM.app
Still stuck?
Set Config.Debug = true, reproduce the problem, and check the server console for [PlayCraft Reports] lines.
Then open a ticket in Discord with that output, plus:
- Your framework and version, and the
Framework bridge:line from your console - Your RedM artifact build
- The full server console output around the failure
- The F8 client error, if there is one
Redact your server.cfg credentials and any webhook URLs first.