GCMod

Installation

Setup steps, ensure order, and startup validation for gcm-reports.


1. Requirements

Required resources:

cfg
ensure ox_lib
ensure oxmysql
ensure gcm_reports

Framework requirement (one active):

cfg
ensure qb-core
ensure gcm_reports

Optional integrations:

cfg
ensure ox_inventory
ensure screenshot-basic
ensure qb-ambulancejob
ensure qb-clothing

Supported optional integrations detected at runtime:

  • Inventory: ox_inventory, qs-inventory, origen_inventory, codem-inventory, qb-inventory, ps-inventory, core_inventory, tgiann-inventory, jpr-inventory
  • Clothing: origen_clothing, illenium-appearance, fivem-appearance, qb-clothing, esx_skin, rcore_clothing
  • Ambulance: qb-ambulancejob, qbx_medical, wasabi_ambulance, esx_ambulancejob

Notes:

  • screenshot-basic is only required for the screenshot modal flow.
  • Admin inventory opening is currently implemented for ox_inventory, qb-inventory, ps-inventory, origen_inventory, core_inventory, tgiann-inventory, and jpr-inventory.
  • qs-inventory and codem-inventory can still be detected for item list / item delivery paths, but opening another player's inventory is not bridged in the current gcm_reports implementation.

2. Import SQL

Import database.sql from:

gcm_reports/database.sql

Important: current runtime queries in server/database/Database.lua use gcm_reports_* table names (for example gcm_reports_tickets). Verify schema alignment before production.

3. Configure core files

Review and adapt:

  • config.lua
  • svconfig.lua
  • custom/server.lua

custom/server.lua now ships with default adapters for common stacks. Review it before replacing it with project-specific logic.

4. Startup verification

After restart, verify:

  • framework/inventory/clothing detection is printed in console,
  • ambulance detection is printed in console,
  • no SQL errors on ConfigManager / ReportManager load,
  • default commands open panels:
    • /greport
    • /gadmin
  • quick actions return real success/failure depending on detected backend support.

5. Security note

svconfig.lua contains Config.discordWebhook. Keep production webhook secrets out of public repos.