Skip to content

Installing RedM Pause Menu on VORP

Requirements

RequirementNotes
RedM server (cerulean / rdr3)Any recent artifact
vorp_corev3+, started before rm_pausemenu
oxmysqlThe only hard dependency of the menu itself

Steam identifiers are required

VORP itself kicks any player joining without a Steam identifier, so steam_webApiKey must be set in your server.cfg. The menu keys its playtime table off the same identifier VORP resolves.

ox_lib is not required. Do not add it to the manifest.

1. Place the resource

The folder must be named exactly rm_pausemenu. NUI asset paths resolve from the resource name — a renamed folder gives you a menu with no interface.

2. Import the SQL

Import sql/vorp.sql. It creates the six rm_pausemenu_* tables and nothing else — it never touches a vorp_core table, and it is safe to re-run (CREATE TABLE IF NOT EXISTS only).

The resource also self-migrates the same schema on first boot, so the import is optional but recommended. It becomes required only if your MySQL user lacks CREATE privileges at runtime.

Optionally, once the resource has started once, import sql/demo_content.sql for a board of western showcase content.

3. server.cfg

cfg
ensure oxmysql
ensure vorp_core
ensure rm_pausemenu

4. Grant the desk

cfg
add_ace group.admin rm_pausemenu.desk allow

The menu deliberately does not read VORP admin groups — access is ace-only, so it works identically on every framework. See Permissions.

5. Check the boot line

[rm_pausemenu] framework: vorp | locale: en

If it says standalone, vorp_core was not started when the menu booted — fix the ensure order.

VORP-specific configuration

KeyOn VORP
Cfg.Core.Framework'auto' detects vorp_core fine. Pin 'vorp' for a hard guarantee
Cfg.PosseKeep false. VORP core has no posse/gang concept, so 'rsg' / 'redemrp' resolve to nothing here. If a companion resource tracks posses, plug in a resolver: Cfg.Posse = function(src) return exports.my_posse:LabelFor(src) end
Cfg.Notify.Mode'auto' routes through VORP's native right-tip. 'ui' forces the built-in toasts
Cfg.Portraitfalse shows the sketch placeholder; a URL string shows one picture for everybody; function(src) serves per-character portraits

The second money row says GOLD

Working as intended. VORP's second currency is gold, not a bank balance, so the dossier's second row carries a gold label and icon. There is nothing to configure. Both values are decimals with 2 places.

Verification

  • [ ] Console printed framework: vorp | locale: en
  • [ ] P or ESC opens the menu; the dossier shows name, job label, cash and gold
  • [ ] With the ace granted, /sheriff opens straight on the Sheriff Desk
  • [ ] /checkhours prints your playtime (needs ace command.checkhours)
  • [ ] rm_checkdesk <serverId> in the server console dumps the identifier and ace results

Troubleshooting on VORP

Players are kicked before they see the menu. That is VORP, not this resource — vorp_core rejects players without a Steam identifier. Set steam_webApiKey.

The dossier shows no name, job or money. The character has not been selected yet. VORP's getUsedCharacter is empty until the player picks one, and the adapter waits for the character-selected event before assembling the profile. If it stays empty after selection, confirm vorp_core is v3+ and its core export resolves.

Boot line reads standalone on a VORP server. vorp_core was not running when the menu booted. Fix the order, or pin Cfg.Core.Framework = 'vorp' so a misdetection surfaces the real startup problem in the console instead of silently falling back.

Everything framework-agnostic is in Troubleshooting.

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