CES Menu

#CES Menu

CES Menu is a standalone admin and trainer menu for RedM, built to feel like vMenu on FiveM but made for RDR2. It covers self options, player moderation, teleports, weapons, horses and wagons, world time and weather, plus Red Dead Online style customization for your clothes, your horse's tack and your guns. Every option has its own ACE permission and the server checks all staff actions.

#What's included

  • Self: god mode, invisibility, infinite stamina and Dead Eye, no ragdoll, heal (fills cores), revive, clean up, and noclip with 7 speed levels.
  • Online Players (staff): teleport to, bring, spectate, freeze, heal, revive, kill, private message, kick, and timed or permanent bans.
  • Teleport: map waypoint (ground height is found automatically), 15 towns, typed coordinates and your own saved locations. Your horse or wagon comes with you.
  • Weapons: give by category, give all, refill ammo, infinite ammo, remove all.
  • Gunsmith: barrels, grips, sights, clips, and materials and engravings for the weapon in your hands. Saved per weapon.
  • Horses & Wagons: 23 horses, 18 wagons or any model, horse god mode, heal and clean, repair and delete.
  • Horse Customization: saddles, blankets, horns, stirrups, saddlebags, bedrolls, bridles, lanterns, masks, manes, tails and mustaches (about 870 styles), with saved tack sets.
  • Clothing & Character: hats, coats, shirts, vests, pants, boots, belts, holsters, jewelry, hair, beards, heads and bodies (about 3,000 styles each for Online Male and Online Female), with saved outfits.
  • Appearance: story, online, townsfolk and animal models, custom model, outfit presets, ped scale.
  • World: server-synced time (presets, hour slider, freeze) and 22 weather types.
  • Admin Tools: server announcements, ban list with unban, delete gun.
  • Misc: coordinates display and copy, overhead name tags, player blips.
  • addons.json: add your own peds, horses, wagons, weapons, clothing, horse tack and weapon parts without editing code.
  • Menu: 4 themes (Western, Parchment, Midnight, Blood), left or right position, adjustable size. You can walk and ride with it open, and a mouse and search mode lets you click items and filter any list.

#Requirements

  • A RedM server (recent artifacts recommended).
  • OneSync is recommended. Spectate and some player tools work best with it.
  • No framework is needed. It also runs alongside VORP, RSG or your own framework.

#Installing it

  1. Download ces_menu.zip and extract it. You should have a folder called ces_menu.
  2. Put the ces_menu folder in your server's resources folder. Keep the folder name exactly ces_menu.
  3. Add these lines to your server.cfg:
ensure ces_menu
exec @ces_menu/permissions.cfg
  1. If you already run weathersync or another time and weather script, open config.lua and set Config.World.Enabled = false. Otherwise the two scripts will fight over the clock.
  2. Restart your server.

#First-time setup

CES Menu uses ACE permissions. The included permissions.cfg has an admin group with full access and a moderator group that can manage players but can't ban.

To make yourself an admin, open permissions.cfg and add your identifier to the admin group:

add_principal identifier.license:YOUR_LICENSE_HERE group.admin

You can also use a Discord identifier (identifier.discord:...). You'll find yours in the server console when you connect, or by typing status in the console.

Permissions are hierarchical. ces_menu grants everything, ces_menu.players grants every player action, and so on. A deny always wins over an allow.

add_ace group.admin ces_menu allow                               # everything
add_ace group.moderator ces_menu.players allow                   # all player actions...
add_ace group.moderator ces_menu.players.ban deny                # ...except banning
add_ace builtin.everyone ces_menu.appearance.clothing allow      # everyone gets the wardrobe
add_ace builtin.everyone ces_menu.mounts.customize allow         # everyone gets horse customization

If you change ACEs while the server is running, type cesmenu_refreshperms in the server console. Players also get fresh permissions every time they open the menu.

#Using it

#Opening and moving around

Action Default
Open or close the menu F4 or /cesmenu
Move up and down Arrow keys or D-pad
Change a list or slider Left and right arrows
Select Enter
Go back Backspace
Mouse and search mode Left Alt (Esc to leave)
Noclip /noclip (a hotkey can be set in config)

You can keep walking or riding while the menu is open. In mouse mode you can click items, scroll, right-click to go back, and just start typing to filter the current list.

#Noclip

Turn noclip on from the Self menu or with /noclip. Use W, A, S and D to move, E or Space to go up, and Q to go down. Hold Shift to go faster or Ctrl to go slower. Change the base speed in Self > Noclip Speed.

#Clothing & Character

Open Appearance > Clothing & Character. Pick a category, then scroll through the items. Each item is previewed on you as you scroll. Use left and right to change its colour, and press Enter to equip it. If you leave a category without pressing Enter, you get back what you had on.

The full wardrobe is for the Online Male and Online Female models (Appearance > Online). Male story peds get a smaller set. Use Saved Outfits to store a look and put it back on later. Turn on Keep Outfit After Respawn to have your outfit come back when you respawn.

#Horse Customization

Mount a horse, or spawn one, then open Horses & Wagons > Horse Customization. It works the same way as the wardrobe: scroll to preview, left and right for colour, Enter to equip. Save a full set of tack with Saved Tack Sets. With Tack Newly Spawned Horses turned on, every horse you spawn from the menu gets your last tack automatically.

#Gunsmith

Hold the weapon you want to change, then open Weapons > Gunsmith. Pick a part and select an option to fit it. Your choices are saved for that weapon and put back on whenever you draw it. Use Reset To Factory to remove everything.

#Player moderation

Open Online Players and pick a player. From there you can teleport to them, bring them, spectate, freeze, heal, revive, kill, message, kick or ban. For a ban, pick the length with left and right, press Enter, then type a reason. Staff with the players.immune permission can't be targeted by staff who don't have it.

View and remove bans in Admin Tools > Ban List. Bans are stored in data/bans.json.

#Adding your own content (addons.json)

addons.json works like vMenu's add-on file. Add entries to the lists, then type cesmenu_reloadaddons in the server console. You don't need to restart. Entries can be a plain model name or an object with a label and category. Hashes can be written as hex ("0x8FFCF06B") or as names. Copy-ready examples are in the _examples block inside the file.

{
  "peds":   [ "my_addon_ped", { "label": "Sheriff", "model": "my_sheriff", "category": "Law" } ],
  "horses": [ { "label": "Painted Mustang", "model": "my_addon_horse" } ],
  "wagons": [ "my_addon_wagon" ],
  "weapons": [ { "label": "Golden Revolver", "hash": "WEAPON_REVOLVER_GOLDEN", "category": "Addon Weapons" } ],
  "clothing":   [ { "label": "Gold Hat", "category": "hats", "gender": "male", "hashes": ["0x12345678"] } ],
  "horse_tack": [ { "label": "Parade Saddle", "category": "horse_saddles", "hashes": ["0x12345678"] } ],
  "weapon_components": [ { "weapon": "WEAPON_REVOLVER_CATTLEMAN", "category": "GRIP", "label": "Ivory Grip", "component": "COMPONENT_MY_GRIP" } ]
}
List Fields Where it shows up
peds model, label, category Appearance, in its own category
horses model, label Spawn Horse > Add-on Horses
wagons model, label Spawn Wagon > Add-on Wagons
weapons hash, label, category Weapons, in its own category
clothing category, label, gender (male, female or any), hashes Wardrobe category, marked β˜…
horse_tack category, label, hashes Horse Customization category, marked β˜…
weapon_components weapon, category, component, label Gunsmith, marked β˜…

For clothing and tack, each hash in hashes becomes a colour option for that item.

#Troubleshooting / FAQ

The menu doesn't open. Check the server console for errors when ces_menu starts, and make sure the folder is named exactly ces_menu. If Config.RequireOpenPermission is true, you also need the ces_menu.open permission.

I only see Settings in the menu. You don't have any permissions yet. Check that your identifier is added to group.admin in permissions.cfg and that permissions.cfg is exec'd after ensure ces_menu. Then run cesmenu_refreshperms.

Time or weather keeps jumping back. Another script is also controlling time or weather. Set Config.World.Enabled = false in config.lua, or remove the other script.

The wardrobe says there are no items. The full wardrobe needs the Online Male or Online Female model. Switch to one in Appearance > Online. Animals and female story peds don't have wardrobe items.

My clothes change back when I log in again. Frameworks with their own character creator (VORP, RSG) load the saved character when you join, which replaces changes made in the menu. That's expected.

When I leave a category, the item I had on disappears. Putting your old item back relies on a game function that detects what you're wearing. If your RedM build doesn't have it, leaving a category after previewing clears that slot instead. Equip the item again to fix it.

My add-ons don't show up. Make sure addons.json is valid JSON (a missing comma breaks the whole file, and the console will say so). Then run cesmenu_reloadaddons. Add-on models also need to be streamed by another resource.

A native doesn't seem to do anything. Set Config.Debug = true in config.lua and check the F8 console for native errors, then send them to us on Discord.

#Configuration reference

All options live in config.lua.

Option Default What it does
Config.MenuTitle / Config.MenuSubtitle CES Menu / Crazy Eyes Studio Text shown in the menu banner.
Config.Keys.Open F4 Key that opens and closes the menu.
Config.Keys.MouseMode LALT Key that switches to mouse and search mode.
Config.Keys.Noclip false Optional noclip hotkey, for example PGUP.
Config.Commands.Open / Config.Commands.Noclip cesmenu / noclip Chat commands. Set to false to disable.
Config.RequireOpenPermission false Require ces_menu.open to open the menu at all.
Config.ShowLockedOptions false Show options you can't use as locked instead of hiding them.
Config.Defaults Western, right, 1.0, 10 Default theme, position, size and visible items for new players.
Config.PublicPermissions misc.coords Permissions everyone gets without ACE.
Config.DisabledPermissions none Permissions switched off for everyone, admins included.
Config.Noclip 7 speeds, speed 3 Speed steps, Shift and Ctrl multipliers, and whether you're invisible while nocliping.
Config.PedScale 0.2 to 3.0 Minimum and maximum ped scale.
Config.NameTags 60 m How far away name tags show.
Config.MaxSavedLocations 50 Saved teleport locations per player.
Config.World.Enabled true Server time and weather sync. Turn off if you use weathersync.
Config.World.MinuteDuration 2000 Real milliseconds per in-game minute.
Config.World.StartHour / StartWeather 9 / SUNNY Time and weather when the server starts.
Config.Bans.MatchIP false Also ban by IP address.
Config.Bans.UseTokens true Also ban by hardware tokens.
Config.Bans.AppealText Appeal on our Discord. Shown to banned players.
Config.Logging.Webhook empty Discord webhook URL for staff action logs.
Config.Hooks none Framework hooks: Revive, Heal, OnHorseSpawned, OnWagonSpawned.
Config.Locations, Horses, Wagons, Weapons, PedModels built-in lists The built-in content. Use addons.json for your own.

Framework hooks example for VORP:

Config.Hooks = {
    Revive = function() TriggerEvent('vorp:resurrectPlayer') end,
}

#Exports for developers

exports.ces_menu:RegisterMenu('my_menu', { title = 'My Stuff', build = function() return { { type = 'button', label = 'Hi', print('hi') end } } end })
exports.ces_menu:AddMainMenuEntry({ label = 'My Stuff', menu = 'my_menu' })
exports.ces_menu:AddAddon('clothing', { category = 'hats', label = 'Event Hat', gender = 'any', hashes = { '0x12345678' } })
exports.ces_menu:Notify('Hello!', 'success')
exports.ces_menu:HasPermission('players.kick')

#Support

Need help or found a bug? Join our Discord

Clothing, horse tack and weapon component data comes from femga/rdr3_discoveries. Thanks to femga and the contributors.

No ratings yet