entityCreating server-side event and cancels any unauthorized spawn — including spawns triggered by vMenu or other third-party spawner resources.
Requirements
sh-vehiclespawner depends on warmenu. Ensurewarmenu is started before sh-vehiclespawner in your server.cfg.
Installation
1
Download and place the resource
Copy the
sh-vehiclespawner folder into your server’s resources directory alongside warmenu.2
Import no SQL — none required
sh-vehiclespawner is stateless. There is no database schema to import.
3
Add to server.cfg
server.cfg
4
Configure config.lua
Open
sh-vehiclespawner/config.lua and adjust the values described in the sections below.5
Add ACE permission nodes
Grant the appropriate ACE nodes to your staff and player groups as shown in the Permissions section.
6
Restart the resource
Run
refresh then restart sh-vehiclespawner in the server console, or do a full server restart.Core Configuration
The table below covers the top-level options inconfig.lua. All values shown are the shipped defaults.
config.lua
Permissions
- config.lua
- server.cfg
Enable permission checking and define which ACE node controls each category. Setting a category’s permission to
nil makes that category open to anyone who can open the menu.config.lua
vehiclespawner.all overrides all category-level permission checks. Grant it only to trusted staff who should see every category regardless of individual category nodes.Defining Vehicles
Vehicles are organized inConfig.Vehicles as a list of category objects. Each category has a name (used as the permission key in Config.CategoryPermissions) and a list of vehicle entries. The category name must match its key in Config.CategoryPermissions exactly, or permission checks will not work.
config.lua
mods table is optional per entry. When Config.AllowCustomMods = true, every key in mods is applied to the vehicle immediately after it spawns.
Supported Mod Keys
Global Vehicle Whitelist
WhenConfig.EnableGlobalWhitelist = true, sh-vehiclespawner registers a server-side entityCreating hook. Any time a vehicle entity is about to be created, the hook checks whether the spawning player holds the required ACE permission for that vehicle model. If they do not, the spawn is cancelled — regardless of which resource triggered it.
This means a player with vMenu, a custom spawner, or a Lua executor cannot bypass your whitelist simply by using a different menu.
Notification System
sh-vehiclespawner supports four notification backends. SetConfig.NotifySystem to one of the following strings, or nil to fall back to a console print.
Supported notification resources
Supported notification resources