Admin Guide
Admin commands, the in-game settings menu, and how permissions work in oxide-radio.
Admin commands, the in-game settings menu, and how permissions work in oxide-radio.
Commands Overview
| Command | Description | Who can use it |
|---|---|---|
/radio settings | Open the live in-game settings editor | Admin |
/radio unlock <frequency> | Force-remove the password from an encrypted frequency | Admin |
Both are subcommands of /radio. Running /radio on its own (with no subcommand) shows usage. Only admins can run any /radio subcommand; the server console counts as an admin.
There is also one non-admin control every player has:
| Control | Description | Default |
|---|---|---|
| Toggle roster overlay | Show/hide the on-screen list of who's on your channel | Key U |
The overlay toggle is a rebindable keybind, not a chat command — players change it in Settings → Key Bindings → FiveM under "Toggle radio member overlay". Its default is set by Config.OverlayKey.
The radio's push-to-talk key belongs to pma-voice, not oxide-radio. Players rebind it in their own FiveM voice settings.
Command Details
/radio settings
Opens the live settings menu for oxide-radio. This is where you configure the resource after its first start — see The Settings Menu below.
Usage:
/radio settingsOutput:
- Success: the settings menu opens on your screen.
- Failure (not an admin): "You do not have permission".
/radio unlock <frequency>
Force-removes the password from an encrypted frequency. Use this when a channel's password has been lost, or when someone locked a channel to grief other players. No password is needed — this is the admin override.
Usage:
/radio unlock [frequency]Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
frequency | number | Yes | The frequency (a whole number, 1 or higher) to remove encryption from |
Examples:
/radio unlock 250 -- removes the password lock from frequency 250Output:
- Success: "Encryption removed from frequency 250".
- If the frequency wasn't locked: "Frequency 250 is not encrypted".
- If you typed it wrong: a usage message.
- Failure (not an admin): "You do not have permission".
This only applies to open frequencies that were password-locked by players. Restricted job channels are gated by job, not by password, so there is nothing to unlock on them.
The Settings Menu
After the first start, oxide-radio reads its configuration from the database, and /radio settings is how you change it. Edits apply live — no file editing and no restart. (See Configuration → How Configuration Is Stored for why.)
The menu has a Basic view (the settings you'll touch most) and an Advanced view (timers and debugging), with a search box. Each field explains itself, saves live, and can be reset to its factory default individually.
Editable settings:
| Section | Setting | What it controls |
|---|---|---|
| General | Radio enabled | Master on/off switch for the whole radio |
| General | Member overlay | Whether players can show the on-screen roster |
| General | Overlay keybind default | The default overlay key for new players |
| Radio Item | Radio item | The inventory item that opens the radio |
| Radio Item | Require the item | Whether players must carry the item |
| Channels | Restricted channels | The job-channel grid: add/remove frequencies and set each one's label, jobs, min grade, duty-only flag, and clock-on default |
| Channels | Auto-tune on clock-on | Tune players to their job's default channel when they clock on |
| Channels | Lowest / Highest open frequency | The open civilian dial range |
| Advanced | Talking update delay | How often "who's talking" updates are sent |
| Advanced | Access re-check interval | How often restricted-channel members are re-checked |
| Advanced | Debug logging | Extra console output |
Two entries appear in the menu but are read-only, marked "config-only": the transmit animation and the panel hold pose. These are animation and prop data edited in shared/config.lua, not from the menu. They're shown so you know they exist and where to change them. See Configuration → Config.Animation.
Restricted channels editor. Under Channels, the restricted-channel grid lets you add a frequency, give it a label, list the jobs allowed (case-sensitive — one job name per entry), set a minimum grade, and toggle duty-only and clock-on default. Removing a row removes that restricted channel. Changes take effect immediately, and anyone currently on an affected channel is re-checked right away.
Permissions
oxide-radio uses your framework's standard admin check through o-link. There are no per-command permission levels — a command is either admin-gated or it isn't, and /radio is admin-gated as a whole.
If admins on your server can already run admin commands in your other resources, they can run /radio too — no extra setup needed. Stock QBCore, QBX, and ESX admin setups all work out of the box.
If you need to grant admin to a specific person and they aren't recognized, the underlying check is FiveM's ACE permission system. Two lines in server.cfg make a player an admin:
# 1. Put the player in the admin group (use their license identifier)
add_principal identifier.license:YOUR_LICENSE_HERE group.admin
# 2. Grant the admin group the admin permission
add_ace group.admin admin allowNotes:
- The server console always counts as an admin, so you can run
/radio unlockfrom your server console even without a player admin set up. - ESX servers where admins are set by database group also work —
o-linkrecognizes ESX group-based admins in addition to the ACE check above. - You do not need to add any
command.radioACE. Do not try to gate/radiowith a per-command ACE — the resource handles the admin check itself.
Next Steps
- Configuration — every setting explained
- Features — how the radio works in game
- Troubleshooting — fixes for common problems