RedM Pause Menu Permissions
The menu uses RedM aces only. Framework admin groups — VORP admin levels, RSG permissions, RedEM:RP groups — are deliberately not used, because:
- the same grant works identically on every framework, including standalone,
- access is controlled in one predictable place, your
server.cfgor permissions file, - no framework update can silently change who holds the desk keys.
The server is the law
Every desk action re-checks the ace server-side first, on every single request. UI visibility is a convenience, not a control.
The master ace
rm_pausemenu.deskConfigurable via Cfg.Desk.Ace. Holding it unlocks every badge plus the logbook.
# a whole group
add_ace group.admin rm_pausemenu.desk allow
# one person, by license identifier (survives name changes)
add_ace identifier.license:0123456789abcdef0123456789abcdef01234567 rm_pausemenu.desk allow
# or via a principal chain
add_principal identifier.license:0123456789abcdef... group.adminFind a player's license identifier with
rm_checkdesk <serverId>in the server console — it prints the exact string to use.
Per-badge aces
Each desk panel is guarded by a badge. By default every badge is false, meaning master ace only. To hand one out separately, set an ace string in Cfg.Desk.Badges:
Cfg.Desk = {
Ace = 'rm_pausemenu.desk',
Command = 'sheriff',
Badges = {
Bulletin = 'rm_pausemenu.bulletin', -- moderators may edit the notice board…
Events = 'rm_pausemenu.events', -- …and the calendar
Ticker = false, -- master only
Board = false,
Tuning = false,
Telegram = 'rm_pausemenu.telegram', -- event staff may send banners
Journal = false,
Keymap = false,
},
}add_ace group.moderator rm_pausemenu.bulletin allow
add_ace group.moderator rm_pausemenu.events allow
add_ace group.eventteam rm_pausemenu.telegram allowA player holding any badge sees the Sheriff tab, with only their panels active. Panels they lack are shown locked.
| Badge | Guards |
|---|---|
Bulletin | The notice board — create, edit and drop notices, including wanted posters |
Events | The events calendar |
Ticker | The marquee / message of the day |
Board | Home card toggles |
Tuning | Live runtime overrides and the Discord wire settings |
Telegram | Broadcast banners |
Journal | Journal pages |
Keymap | The keybinds card |
The Tuning badge includes the Discord wire
It covers reading and replacing the webhook URL. Give it only to people you trust with your staff channel.
The logbook is master-only
The audit logbook — who changed what, when — can only be read by holders of the master ace. Per-badge aces never grant it, by design: editors should not audit editors.
Diagnosing with rm_checkdesk
From the server console, not in-game chat:
rm_checkdesk 3For server id 3 it dumps the resolved identifier (character identifier, or license fallback), the master-ace result, and the result of every per-badge check.
| Symptom | Cause |
|---|---|
Master ace false for an admin | The add_ace line is missing, misspelled, or in a file that is not executed. Check Cfg.Desk.Ace matches the ace you granted |
Ace granted but still false | Granted to the wrong principal. Verify the license string printed by rm_checkdesk matches your add_ace line exactly — copy it from the output rather than typing it |
Everything true but no Sheriff tab | The tab comes from a fresh server check when the menu opens. Reopen the menu. On framework servers the profile must be loaded — character selected — first |
Ace changes need a restart
Changes to server.cfg aces require a server restart, or a re-exec of your permissions file, to take effect.