Admin Commands
Admin commands and tooling for managing Oxide Vending businesses, machines, and progression.
Admin commands and tools for oxide-vending.
Who can use these commands
There is a single permission check: your framework must consider the player an admin. This is checked through o-link, so it follows whatever admin setup your framework already uses. If a player who is not an admin tries one of these commands, they get an on-screen error notification telling them they don't have permission — the command does not silently do nothing.
If you are already running QBCore, QBX, or ESX with admins set up, those admins pass automatically — you do not need any extra setup.
To make someone a new admin, add them to the admin group and grant that group the admin ace by adding these two lines to your server.cfg (the text file that tells your server which resources and permissions to load), replacing <their-license> with the player's license identifier:
add_principal identifier.license:<their-license> group.admin
add_ace group.admin admin allowThe server console can always run these commands — but note that most of them send their replies as in-game notifications, so when run from the console they do their job silently. The commands that print readable output to the console are marked in the reference table at the bottom.
Business commands
/vendingbusiness <citizenid>
Shows a summary of the business owned by that player. The citizenid is the player's character identifier from your framework (for example, a QBCore citizen ID).
The summary shows: business ID, name, owner, level, machine count and limit, total revenue, uncollected revenue, and total items sold.
/vendingcreatebusiness <citizenid> <name>
Creates a business for a player without them paying the registration fee or visiting the showroom. Useful for replacing a lost business or setting up role-play scenarios.
/vendingdeletebusiness <businessId>
Deletes a business and everything attached to it: its placed machines, stock, revenue, employees, progression, milestones, and warehouse.
Machine commands
/vendinglist [type]
Lists every placed machine on the server. Add a machine type (like drinks) to only show that type.
Each line shows: machine ID, type, which business owns it, its map coordinates, how much cash is sitting in it, and its status.
This command prints properly in the server console too.
/vendingdelete <machineId>
Removes a placed machine from the world. The owner is not refunded and does not get the machine back — for a friendlier removal, the owner can pick the machine up themselves.
/vendingsetstock <machineId> <item> <quantity>
Puts stock directly into a machine, skipping the normal stocking flow. The item name must exist on your server.
/vendinggivemachine <playerId> <type>
Gives a player an unplaced machine for free. playerId is the player's server ID (the number you see in the player list), and type is a machine type from the config (like drinks or snacks). The player can then place it like any purchased machine.
/vendingteleport <machineId>
Teleports you to a machine. In-game only.
/vendingnear [radius]
Lists machines near you, closest first. The radius is in meters — default 100, minimum 10, maximum 1000.
Each line shows: machine ID, type, business name, distance, durability, and status.
In-game only, since it needs your position.
Progression command
/vendingsetlevel <businessId> <level>
Sets a business to any level from 1 to 10. The business's XP and lifetime revenue are also set to that level's requirements, so it won't instantly level up or down afterward.
NPC sales command
/vendingnpc <toggle|stats|force>
Controls the passive NPC sales system:
| Subcommand | What it does |
|---|---|
toggle | Turns NPC sales on or off until the next restart (the config file is not changed) |
stats | Shows how many NPC sales have happened since the last restart, the total revenue, and whether the system is running |
force | Runs one test round across all machines with a boosted sale chance — handy for checking that NPC sales work at all |
Prints properly in the server console too.
Debug command
/vendingdebug <subsystem> [args]
A set of inspection and repair tools:
/vendingdebug bank [businessId]
/vendingdebug daily [businessId]
/vendingdebug boxes [count]
/vendingdebug clearboxes
/vendingdebug progression <status|init|create <id>>bank [businessId]
Shows a business's current balance. If you run it in-game without a business ID, it uses your own business.
daily [businessId]
Prints everything about a business's daily bonus state to the server console: the saved "last claimed" date, the current streak, and a comparison against today's and yesterday's date (in UTC, which is what the daily bonus uses). Use this when a player says their daily bonus is acting strangely.
boxes [count]
Spawns test cardboard boxes on the wholesale pickup pallet so you can check the pallet location looks right. In-game only.
clearboxes
Removes every pickup box — from the world, from memory, and from the database. Use this if test boxes or stuck deliveries are cluttering the pallet.
progression <status|init|create <id>>
Repair tools for businesses missing their progression data (this can happen if the database tables were added after businesses already existed):
| Action | What it does |
|---|---|
status | Reports how many businesses are missing progression records |
init | Creates the missing records for all businesses at once |
create <id> | Creates the record for one business |
Command reference
"Console output" means the command prints readable results when run from the server console. Commands without it still work from the console — they just don't show a reply there.
| Command | What it does | Console output |
|---|---|---|
/vendingbusiness <citizenid> | View a business summary | No (in-game reply only) |
/vendingcreatebusiness <citizenid> <name> | Create a business for a player | No (runs silently) |
/vendingdeletebusiness <businessId> | Delete a business | No (runs silently) |
/vendinglist [type] | List placed machines | Yes |
/vendingdelete <machineId> | Delete a machine | No (runs silently) |
/vendingsetstock <machineId> <item> <qty> | Set machine stock | No (runs silently) |
/vendinggivemachine <playerId> <type> | Give an unplaced machine | No (runs silently) |
/vendingteleport <machineId> | Teleport to a machine | In-game only |
/vendingnear [radius] | Find nearby machines | In-game only |
/vendingsetlevel <businessId> <level> | Set a business level | No (runs silently) |
/vendingnpc <toggle|stats|force> | Control NPC sales | Yes |
/vendingdebug <subsystem> [args] | Debug tools | Yes (boxes is in-game only) |
For developers: admin exports
Other scripts can read or manage vending data through exports — see API Reference. The key admin ones:
GetAllBusinesses()GetBusinessById(businessId)GetBusinessStats(businessId)GetAllMachines()GetMachineById(machineId)AdminDeleteBusiness(businessId, adminIdentifier)AdminDeleteMachine(machineId, adminIdentifier)
Audit trail
When an admin deletes a business or machine through the exports above, a transaction record is written with type admin_delete and the admin's identifier, so you can see who removed what in the vending_transactions table.