Skip to content

Getting Started

You need a FiveM Enhanced server.

txAdmin is the control panel that comes with every FiveM server. When you create a new server in it, it can set everything up for you from a “recipe”, which is a list of steps it follows to download and configure your server.

vMenu Enhanced has its own recipe. It gives you a fresh server with vMenu Enhanced already installed, working permission and configuration files, and the routing buckets, theme picker and custom themes plugins. Whoever you set up as the admin in txAdmin can use the whole menu right away.

Pick the vMenu Enhanced recipe in txAdmin’s setup screen if it is listed there. If it is not, choose “Remote URL Template” and paste this link:

https://github.com/TomGrobbe/vMenu/releases/latest/download/txadmin-vmenu-enhanced-recipe.yaml

That link always points to the newest release. When txAdmin is done you can skip the rest of this page, your server.cfg already has every line it describes. It also explains how to set up the permissions of the plugins, which only becomes possible after your server has started once.

Grab the latest pre-release zip from the GitHub releases page and unpack it into your server’s resources folder.

add_filesystem_permission vMenu.Enhanced write vMenu.Enhanced
ensure vMenu.Enhanced

FiveM Enhanced blocks resources from writing to disk unless you allow it, and vMenu writes its example config files into its own folder. Both names in that first line are resource names: the one being granted access, and the one whose folder it may write to.

If you use an integration with role sync, vMenu also needs these two lines. Role sync means your integration decides which permission groups a player is in, and vMenu adds them to or removes them from those groups for you. FiveM only lets a resource do that when you allow it, which is what these lines do. They are already at the top of the example permissions.cfg, so if you copy that file you have them.

add_ace resource.vMenu.Enhanced command.add_principal allow
add_ace resource.vMenu.Enhanced command.remove_principal allow

The zip comes with an example permissions file, so you do not have to start your server first. You will find it here:

resources/vMenu.Enhanced/config/permissions.cfg.example

An “ace” permission is FiveM’s way of saying “this player or group is allowed to do this thing”. This file is where you decide who gets access to which parts of the menu.

vMenu also rewrites this file every time it starts. That way it always lists everything your server knows about, including anything you added yourself, like your own vehicle or weapon categories.

Copy that file and name the copy permissions.cfg, so both sit next to each other. The .example file is left alone on purpose, so a future update can refresh it without wiping your settings.

If you only play with friends and want to get going quickly, this single line is all you need in there:

add_ace builtin.everyone "vMenu.Enhanced.Everything" allow

Add an exec line above what you already added:

exec @vMenu.Enhanced/config/permissions.cfg
add_filesystem_permission vMenu.Enhanced write vMenu.Enhanced
ensure vMenu.Enhanced

Without it your permissions are never loaded and nobody can open the menu.

Section titled “6. Optional but recommended, the configuration file”

configuration.cfg.example sits in the same folder and holds settings rather than permissions, so things like how vMenu behaves and what is turned on. It works the same way: copy it, call the copy configuration.cfg, edit it, and add one more exec line:

exec @vMenu.Enhanced/config/permissions.cfg
exec @vMenu.Enhanced/config/configuration.cfg
add_filesystem_permission vMenu.Enhanced write vMenu.Enhanced
ensure vMenu.Enhanced

Restart your server, join, and press M to open the menu. For everything else vMenu puts on a key, see Key Bindings.

On a Linux server, vMenu’s C# code cannot currently check the security certificates of websites. That breaks everything vMenu sends over the internet, like update checks, webhook logging and integrations. This is a FiveM bug, and it has been reported.

Until it is fixed, vMenu hands that traffic to a small JavaScript helper that ships with it, server/net_bridge.js. JavaScript on the same server does not have the bug. This happens by itself, you do not need to set anything up. Your console shows a line saying the net bridge is in use when it starts.

The helper needs a server build that supports Node 22, which is the JavaScript engine FiveM runs. If your console warns that the net bridge never answered, update your server artifacts first.

If you ever need to switch it by hand, add one of these to your server.cfg:

set vMenu.Enhanced.NetBridge native
set vMenu.Enhanced.NetBridge js

native always uses the normal C# code, and js always uses the helper, also on Windows. Leave the line out and vMenu picks by itself.

Come say hi on the Discord, or take a look at the GitHub repository.

If you are running the current stable version for FiveM Legacy, use the vMenu Legacy documentation instead.