RedM Pause Menu Installation
Requirements
| Requirement | Notes |
|---|---|
| RedM server (cerulean / rdr3) | Any recent artifact |
oxmysql | The only hard dependency |
| A framework | Optional — VORP, RSG Core, RedEM:RP, or none |
The resource ships its own RPC layer, toasts and translator.
ox_libis not required and must not be added to the manifest.
Pick your framework
Each has a start-to-finish walkthrough paired with a self-contained SQL file — each one carries the complete schema on its own.
| Framework | Guide | SQL file |
|---|---|---|
| VORP | Installing on VORP | sql/vorp.sql |
| RSG Core | Installing on RSG | sql/rsg.sql |
| RedEM:RP | Installing on RedEM:RP | sql/redemrp.sql |
| Standalone | Installing standalone | sql/standalone.sql |
The generic sql/rm_pausemenu.sql works for any setup — the per-framework files ship the same schema. The rest of this page is the framework-agnostic reference.
1. Place the resource
The folder must be named exactly:
rm_pausemenuNUI asset paths are resolved from the resource name — a renamed folder gives you a menu with no interface.
2. Database
Make sure oxmysql is configured and can reach your database. That is usually all:
- The resource self-migrates its tables at boot (
CREATE TABLE IF NOT EXISTS), so no manual import is needed in the normal case. - Import the SQL by hand only if your MySQL user lacks
CREATEprivileges at runtime, or you want to inspect the schema first.
Optionally, after the resource has started once so the tables exist, import sql/demo_content.sql for a board full of western showcase content — notices, wanted posters, events and journal pages.
It never touches a framework table
All six tables are its own: rm_pausemenu_bulletin, _events, _journal, _kv, _logbook and _hours. Playtime included — hours live in the resource's own table keyed by identifier, so tracking works on every framework and on standalone.
3. server.cfg
Order matters — database first, your framework (if any) next, the menu last:
ensure oxmysql
ensure vorp_core # or rsg-core / redem_roleplay — omit entirely for standalone
ensure rm_pausemenu
# Sheriff Desk access for your admin group:
add_ace group.admin rm_pausemenu.desk allowSee Permissions for per-badge aces and identifier-based grants.
4. Configure (optional)
Everything lives in one file: shared/rm_config.lua. Every value is validated at boot — a bad value is swapped for its safe default with a console warning, so a typo never takes the menu down. See Configuration.
5. Start it up
Restart the server, then open the menu in game with ESC or P.
First boot — what to expect
Schema migration. All six of its own tables are created if missing.
Seeding — only while tables are empty.
Cfg.Bulletin.Seeds,Cfg.Events.SeedsandCfg.Keymap.Seedsare planted exactly once. A table that already holds rows is never touched, so desk edits are never overwritten by config on restart.Framework detection, printed as one boot line:
[rm_pausemenu] framework: vorp | locale: enIf that says
standaloneon a framework server, check yourensureorder — the framework must be started (or starting) before the menu boots.Content cache load. Every menu open is served from memory; opening the menu never queries MySQL.
Escrow builds
The escrowed build requires a recent RedM artifact with Asset Escrow support. These stay open for editing:
shared/rm_config.lua · langs/*.lua · the four adapters under framework/ · ui/dist/images/* · sql/*.sql · the docs
Everything else is protected, and never needs editing for normal use.
Updating
Replace the resource folder, keep your shared/rm_config.lua, and restart. Schema changes migrate themselves, and desk-edited content lives in the database and survives untouched.
If the interface looks stale afterwards, see Troubleshooting → old UI.