vMenu by TomGrobbe is one of the most widely used admin and player menus for FiveM. It gives admins a full in-game interface for managing players, spawning vehicles, controlling weather and time, and banning or kicking rule-breakers — all without a single chat command. Every feature is locked behind FiveM’s built-in ACE permissions system, so you decide exactly who can do what. This guide walks through a clean install, correct permissions.cfg setup, essential convars, and how banning works.
What vMenu Actually Is
vMenu is a server-sided resource. The menu logic runs on the server, not the client, which means players cannot tamper with their own permission level. The entire feature set is toggled through FiveM ace permissions — there is no separate config file that turns individual features on or off. If a permission node is granted, the feature is available; if it is absent, the feature is hidden. This design makes vMenu clean to manage once you understand the permissions structure.
The resource is maintained at github.com/TomGrobbe/vMenu and documentation lives at docs.vespura.com/vmenu. Always download from the official Releases page — do not clone the repository source directly for a live server.
Installation
The folder name must be exactly vMenu (case-sensitive) and fxmanifest.lua must sit at the root of that folder. A common mistake is double-nesting the download into /resources/vMenu/vMenu/ — that will break the resource.
- Download
vMenu-from the GitHub Releases page..zip - Extract into your server’s
resourcesfolder so the path isresources/vMenu/fxmanifest.lua. - Open
resources/vMenu/config/permissions.cfgand configure your groups (covered below). - Add the following two lines to
server.cfg— order is mandatory:
# Must come BEFORE ensure vMenu
exec @vMenu/config/permissions.cfg
ensure vMenu
If the exec line comes after ensure vMenu, the permissions are applied too late and vMenu will not function correctly. This is the single most common installation mistake.
Understanding the Permissions System
vMenu does not read permissions.cfg itself. Each line in that file is a native FiveM server command — the server executes them on startup via the exec directive. This means a resource restart alone will never apply permission changes; you must restart the full server.
Two commands do all the work:
add_ace— grants a permission to a group or player" " allow add_principal— makes the child inherit all permissions the parent has
Critical rule: never use deny in vMenu’s permissions. The official docs warn against this explicitly. To remove a feature from a group, comment out or delete that add_ace line instead.
Setting Up Groups in permissions.cfg
The default permissions file ships with three tiers: group.admin, group.moderator, and builtin.everyone. Inheritance flows so that admins automatically get everything moderators can do:
# Inheritance: admins get all moderator permissions
add_principal group.admin group.moderator
# Grant everyone the menu and basic features
add_ace builtin.everyone "vMenu.Everything" allow
# Or grant individual nodes to limit what regular players can do:
# add_ace builtin.everyone "vMenu.NoClip" allow
# add_ace builtin.everyone "vMenu.VehicleOptions.Menu" allow
# Moderator-only: temp bans, kick, summon
add_ace group.moderator "vMenu.OnlinePlayers.Menu" allow
add_ace group.moderator "vMenu.OnlinePlayers.Kick" allow
add_ace group.moderator "vMenu.OnlinePlayers.TempBan" allow
add_ace group.moderator "vMenu.OnlinePlayers.Summon" allow
add_ace group.moderator "vMenu.TimeOptions.Menu" allow
add_ace group.moderator "vMenu.WeatherOptions.Menu" allow
# Admin-only: permanent bans, unban, view identifiers
add_ace group.admin "vMenu.OnlinePlayers.PermBan" allow
add_ace group.admin "vMenu.OnlinePlayers.Unban" allow
add_ace group.admin "vMenu.OnlinePlayers.Identifiers" allow
add_ace group.admin "vMenu.DontKickMe" allow
add_ace group.admin "vMenu.DontBanMe" allow
# Assign players to groups using their Steam or license identifier
add_principal identifier.steam:110000112345678 group.admin
add_principal identifier.license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx group.moderator
Replace the identifiers with your actual players’ Steam hex IDs or Rockstar license hashes. You can find identifiers in txAdmin’s player manager or by checking the server console when a player connects.
If you want to open the full menu to everyone (common on public RP servers), grant vMenu.Everything to builtin.everyone and then selectively restrict admin-level nodes to your staff groups. If you want a restricted public menu, comment out vMenu.Everything and list only the nodes you want regular players to access.
Key Convars (server.cfg)
Convars are set with setr in server.cfg and must appear above the ensure vMenu line. Here are the most useful ones:
| Convar | Example value | What it does |
|---|---|---|
vmenu_use_permissions | true | Enables the full ACE permissions gate. Set to false only for testing. |
vmenu_menu_staff_only | false | When true, hides the menu entirely from anyone without vMenu.Staff. |
vmenu_auto_ban_cheaters | true | Automatically bans players who attempt to use permission-gated features they don’t have. |
vmenu_log_ban_actions | true | Logs all ban events to vmenu.log on the server. |
vmenu_log_kick_actions | true | Logs kick events to vmenu.log. |
vmenu_default_ban_message_information | "Appeal at discord.gg/yourserver" | Appended to every ban message shown to the banned player. |
vmenu_enable_weather_sync | true | Enables server-wide weather sync through vMenu. |
vmenu_enable_time_sync | true | Enables server-wide time sync through vMenu. |
vmenu_pvp_mode | 0 | 0=off, 1=on, 2=forced off for all players. |
A minimal recommended block above your ensure vMenu line looks like this:
setr vmenu_use_permissions true
setr vmenu_auto_ban_cheaters true
setr vmenu_log_ban_actions true
setr vmenu_log_kick_actions true
setr vmenu_default_ban_message_information "Appeal at discord.gg/yourserver"
exec @vMenu/config/permissions.cfg
ensure vMenu
Banning Players with vMenu
In-game bans are handled from the Online Players menu. Admins with vMenu.OnlinePlayers.TempBan can issue temporary bans up to 30 days. Those with vMenu.OnlinePlayers.PermBan can ban permanently. The vMenu.OnlinePlayers.Unban node lets an admin lift any active ban through the same menu.
Modern vMenu (v3.3.0 and later) stores ban records in FXServer’s built-in KVP key-value store — not in a bans.json file as older guides describe. You manage bans through vMenu’s in-game banned-players menu rather than by editing a file. (Only very old vMenu versions used a JSON file.) For a more robust moderation workflow, check out our FiveM ban and kick management guide which covers additional tools alongside vMenu.
To protect your own admin accounts from accidental kicks or bans by other staff, grant vMenu.DontKickMe and vMenu.DontBanMe to group.admin as shown in the permissions example above.
Weather and Time Sync Notes
If you run another resource that handles weather or time (such as a standalone sync script), disable vMenu’s built-in sync with setr vmenu_enable_weather_sync false and setr vmenu_enable_time_sync false. Running two sync systems simultaneously causes sky flickering — a common complaint that is entirely avoidable. For a dedicated weather and time management walkthrough, see our FiveM weather and time sync guide.
Where vMenu Fits in a Larger Server Stack
vMenu works standalone on any FiveM server — it does not require ESX, QBCore, or any framework. On framework-based servers it tends to be replaced by framework-native admin menus (QBCore has its own admin commands), but many mixed servers keep vMenu running alongside a framework purely for its vehicle spawner and weather controls, with admin nodes restricted to staff. If you are building a QBCore server, our FiveM server docs cover the broader stack in detail.
If you are spinning up a new server and want reliable hardware underneath all of this, take a look at our FiveM server hosting plans — provisioning takes under two minutes and txAdmin comes pre-installed.
Frequently Asked Questions
Why can I only see “Misc Settings and About” after installing vMenu?
This almost always means the exec @vMenu/config/permissions.cfg line is either missing from server.cfg or is placed after the ensure vMenu line. Permissions must be loaded before the resource starts. Double-check the order, restart the full server (not just the resource), and compare your permissions.cfg against the default shipped in the download.
Do permission changes take effect when I restart the vMenu resource?
No. The permissions.cfg file is executed by the server at startup via the exec command — it is not read by vMenu itself. A resource restart does not re-run that file. You must restart the full FiveM server process for any changes to permissions.cfg to take effect.
Can I set a permission to “deny” to block a feature for a specific group?
The official vMenu documentation explicitly warns against using deny anywhere in the permissions file — it can produce unexpected behavior. The correct approach is to simply not grant the permission in the first place. If you want to restrict something for a group, remove or comment out the relevant add_ace line for that group rather than adding a deny rule.
Ready to play?
Run your own FiveM server with XGamingServer
Spin up an always-on FiveM server your friends can join in minutes — no port-forwarding, no tech headaches.







