Skip to content

RedM Reports Installation ​

Requirements ​

RequiredNotes
RedM serverfx_version 'cerulean'
oxmysqlMust start before this resource
assetpacksRequired
A frameworkVORP, RSG Core, RedEM:RP — or standalone
OptionalEnables
screenshot-basic (RedM fork)All media capture. Auto-disables silently if absent
vorp_adminOnly if you set Config.Spectate.Mode = 'vorp_admin'

Use the RedM fork of screenshot-basic

The standard FiveM build will not work. Media features disable themselves cleanly — no errors — if screenshot-basic is missing or started too late, which makes this an easy problem to miss.

Folder name ​

The resource folder is pc_report. The manifest name is pc_reports. These are deliberately different, and it matters:

  • ensure uses the folder name → ensure pc_report
  • Exports use the folder name → exports.pc_report:...

If you would rather they matched, rename the folder to pc_reports and update your ensure line and any exports you have written.

5-minute setup ​

1. Dependencies first ​

cfg
ensure oxmysql
ensure assetpacks

# your framework
ensure vorp_core

# optional
ensure screenshot-basic

ensure pc_report

Load order is not optional. The framework must start before pc_report, or the bridge falls back to standalone and staff detection silently stops working.

2. Database ​

Nothing to import. Tables auto-create and migrate on first start:

lua
Config.Database = {
    enabled = true,
    tableChecker = true,
}

If you prefer to import manually, set tableChecker = false and run install/schema.sql.

With enabled = false the resource runs in memory only and everything is lost on restart — useful for testing, never for a live server.

3. Framework ​

Leave auto-detection on, or pin it explicitly:

lua
Config.Framework = {
    auto = true,
    force = nil,   -- 'vorp' | 'rsg' | 'redp' | 'standalone'
    resourceNames = { vorp = 'vorp_core', rsg = 'rsg-core', redp = 'redem_roleplay' },
}

Detection order is vorp → rsg → redp, falling back to standalone.

The console prints Framework bridge: <name> on start — check this line. If it says standalone and you run VORP, your framework started too late or its folder name differs from resourceNames.

4. Permissions ​

  • VORP uses its own user groups — no ACE needed
  • RSG checks rsg-core permissions first, then ACE
  • RedEM:RP / Standalone use ACE via install/permissions.cfg

For the ACE frameworks, exec that file from your server.cfg. Full detail: Permissions.

5. Discord (optional) ​

Webhook URLs live in two places:

  • server/webhook.lua — per-action URLs and embed colours
  • Config.Media.Webhook.url — media uploads, separate from the rest

Replace the placeholder URLs in both. Config.WebhookRouting adds per-category and per-priority overrides for report creation.

6. Start and test ​

cfg
ensure pc_report

Then run /report in game.

First test checklist ​

  • [ ] Console shows the correct Framework bridge: <name>
  • [ ] /report opens the menu and creates a ticket
  • [ ] The ticket appears for a staff account instantly
  • [ ] Claim it, and send a chat message in both directions
  • [ ] Open the Dashboard as staff and confirm stats load
  • [ ] Close it — the reporter is prompted to leave a review
  • [ ] A Discord webhook fires, if configured
  • [ ] A screenshot is captured on report open, if screenshot-basic is running

Anything failing here is covered in Troubleshooting.

Updating ​

  1. Stop the resource.
  2. Replace the folder — keep your edited config.lua and your webhook URLs in server/webhook.lua.
  3. Start it again. Database migrations run automatically; your tickets, notes and statistics are untouched.

Merge your settings into the new config.lua rather than copying the old file over it — see Updating Scripts. An old config missing newly added keys causes nil errors that look like bugs in the update.

Documentation for RedMorrow. Scripts are licensed per server — redistribution is not permitted.