Skip to content

RedM Pause Menu Configuration ​

All configuration lives in one file: shared/rm_config.lua. It is the only file you ever need to edit. 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.

⚡ Live overrides

Keys marked ⚡ Tuning can be overridden live, in game from Sheriff Desk → Tuning — no restart, no file edit. A live override beats the config value and persists in the database. Ticker, board cards and keymap rows likewise go live from their own desk panels once edited.

Core ​

KeyDefaultMeaning
Cfg.Core.Framework'auto''auto' sniffs the running core, or pin 'vorp' / 'rsg' / 'redemrp' / 'standalone'
Cfg.Core.Locale'en'One of the eight in langs/ — see Languages
Cfg.Core.DebugfalseFloods the console with debug chatter
Cfg.Brand.Name'RM'Brand mark on the side rail
Cfg.Brand.Tagline'ROLEPLAY'Small print under the mark

Controls ​

KeyDefaultMeaning
Command'camp'Chat command that opens the menu
Key'P'Default keybind — players can rebind it themselves in RedM settings
CaptureEsctrueAlso opens the menu on ESC, with the native pause menu suppressed
FixCommand'fixcamp'Escape hatch that clears a stuck pause pose or prop

Notifications ​

KeyDefaultMeaning
Cfg.Notify.Mode'auto''auto' uses the framework's native notifications, falling back to UI toasts on standalone · 'framework' forces native · 'ui' forces the built-in toast rack

Stagecraft — camera and pose ​

KeyDefaultMeaning
LenstrueCinematic side camera while the menu is open; the menu docks left. ⚡ Tuning
Pose.OntruePlay a reading pose with a prop in hand while paused. ⚡ Tuning
Pose.Dict / Pose.Anim / Pose.Flag'mech_carry_box' / 'idle' / 17The verified RDR3 animation combo
Pose.Prop'p_cs_newspaper_02x_noanim'Prop held in hand. Map alternatives, which need Off/Rot retuned: 'p_cs_map01x', 'p_map01x', 's_twofoldmap01x'
Pose.Bone'SKEL_L_Finger12'Bone the prop pins to
Pose.Off / Pose.Rotsee fileProp offset and rotation on the bone

Appearance ​

Ink — base accent colours ​

KeyDefault
accent#B02E2E (crimson)
accentSoft#B02E2E1A — washed, for fills and hovers
glowrgba(176,46,46,0.33)

Palettes ​

Five offered in preferences, each carrying the same three colours:

PaletteAccent
crimson#B02E2E (default)
gold#C9A227
sage#7A8B5C
dusk#4E6E8E
ash#8B8578

Add, remove or recolour them freely — rows keep the same three-colour shape. Cfg.DefaultPalette must name one that exists.

Cfg.DefaultSkin is 'worn' (textured), 'gilded' (gold ornate) or 'plain' (flat dark).

Scale ​

Cfg.Scale bounds the player's UI-scale slider: min 0.8, max 1.3, step 0.05, default 1.0.

Player customisation gates ​

Cfg.Allow decides which knobs players may touch. All four are ⚡ Tuning — flip them live from the desk.

KeyDefaultControls
PalettetrueSwapping between configured palettes
InkColortruePicking a fully custom accent
ScaletrueResizing the UI
SkintrueChanging the paper skin

Cfg.Links ⚡ Tuning holds the discord (saloon) and store (trading post) URLs.

Cfg.Socials is a list of { label, icon, url } rows; empty hides the section.

Cfg.NavExtras adds buttons to the side rail:

lua
Cfg.NavExtras = {
    { id = 'stable', label = 'Stables',  icon = 'horse', kind = 'command', value = 'stable' },
    { id = 'wiki',   label = 'Handbook', icon = 'book',  kind = 'url',     value = 'https://example.com/handbook' },
}

kind is one of 'command', 'clientEvent', 'serverEvent' or 'url'.

Dossier ​

Posse ​

ValueMeaning
false (default)Hide the posse row
'rsg'Read the RSG gang label
'redemrp'Read the RedEM:RP gang name
function(src)Your own resolver — return a string or nil

VORP has no core gang concept, so use a resolver there.

Portrait ​

ValueMeaning
false (default)Hand-drawn sketch placeholder
'https://…'One picture for everybody
function(src)Per-player resolver returning a URL — the hook for a mugshot resource

Pulse — the heartbeat card ​

KeyDefaultMeaning
ShowUptimetrueShow how long the server has been up
ShowRestarttrueShow the countdown to the next restart
RestartTimes{ '04:00', '16:00' }Daily restarts, 24h server time. Empty {} = none. ⚡ Tuning
Tickera welcome lineStarting marquee text — staff change it live from Desk → Ticker

Content ​

Bulletin ​

Cfg.Bulletin.Seeds plants notices only while the bulletin table is empty (first boot). After that the board runs entirely from the desk.

Eight fixed sections: dispatches (news) · law (rules) · lawmen (staff) · updates · gatherings · wanted (posters) · saloon (Discord) · trading (store).

Row shape: { section, title, body, link?, image?, date?, position? }.

Events ​

KeyDefaultMeaning
DaysAhead30How far ahead the calendar looks
AutoRestarttruePlant virtual restart entries from Cfg.Pulse.RestartTimes
Seedsone sampleSeeded only while the events table is empty

Eight fixed categories: restart · gathering · law · race · posse · trade · auction · weather.

Virtual restart entries cannot be deleted

With AutoRestart = true, restarts appear as calendar entries that are not database rows. The desk cannot delete them — turn them off in config, or change the restart times from Tuning.

Board, keymap ​

Cfg.Board sets which home cards start enabled — map, status (with sub-toggles for uptime, restart and ticker), wanted, news, dossier. Staff flip these live from Desk → Board.

Cfg.Keymap.On hides the keybinds card entirely when false. Seeds plants sample { key, label, desc } rows once, then it is edited from Desk → Keymap.

Desk, logbook and the wire ​

KeyDefaultMeaning
Cfg.Desk.Ace'rm_pausemenu.desk'Master ace — unlocks every badge plus the logbook
Cfg.Desk.Command'sheriff'Opens the desk view directly
Cfg.Desk.Badgesall falsePer-badge aces; false means master-ace-only. See Permissions
Cfg.Logbook.Ontruefalse stops writing the audit trail
Cfg.Logbook.MaxRows500Oldest entries trimmed past this

The Discord wire ​

KeyDefaultMeaning
Cfg.Wire.OnfalseMaster switch
Cfg.Wire.Url''Must start https://discord.com/api/webhooks/ or the discordapp.com variant
Cfg.Wire.Name'rm_pausemenu'Webhook display name
Cfg.Wire.LogEdits / LogTelegramstrueWhat gets posted

The webhook URL never leaves the server

It is not part of any client payload. The desk only ever shows whether a wire is set — reading and writing it are separate server-only calls.

Content limits — enforced server-side ​

WhatCap
Title128 characters
Body2000 characters
Link256 characters, must match https?://
Ticker300 characters
Bulletin entries100 per section
Event rows500
Journal pages50, with 40 blocks per page
Keymap rows100
Coordinates±10000
Telegram text300 characters

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