Skip to main content
Do not use FileZilla. It can corrupt or skip hidden files during upload. We recommend WinSCP.

Requirements

Server Build 17000+

Your FXServer artifact must be above 17000, with OneSync enabled.

A MySQL Wrapper

oxmysql or mysql-async. ESX Legacy, QBCore and Qbox all ship one already.

An Audio Resource

xsound (recommended) or mx-surround. Without one, the Music app stays silent.

Any Framework

ESX Legacy, QBCore, Qbox or Standalone — detected automatically, no bridge resource to install.

Installation Steps

1

Create the resource folder

Create a folder in your resources directory called [road] (or use one you already have), and extract the download into it.The resource folder itself must be named roadcarradio — the exports and the NUI page reference that name.
2

Start the resource

Add it to your server.cfg, after your framework and your MySQL resource:
server.cfg
3

Database

Nothing to import. On the first start RoadCarRadio creates every table it needs and prints:
roadcarradio.sql is still included if you prefer to import the schema by hand, but it is not required.
4

Add the inventory item

Only needed if you keep the install system enabled (Config.NeedInstall = true). Add these items to your inventory:
Want every vehicle to have it without any item? Set Config.NeedInstall = false in config.lua and skip this step entirely.
5

Restart and open it

Get into a vehicle and press M (configurable via Config.OpenKey).
Installation complete. Head to Configuration below to tune it to your server.

Configuration

Everything lives in config.lua, which is escrow_ignore — you can read and edit it freely. The settings you will most likely touch first:

Access

config.lua

Install system

config.lua

Music

config.lua

Custom Music API

Replace the built-in library entirely and serve songs from your own HTTP server.

Rear camera

config.lua
autoReverseDelay stops the camera flipping up every time someone taps S while manoeuvring. Set it to 0 for the old behaviour of switching instantly.

Autopilot

config.lua

Diagnostics

config.lua

Updating

1

Back up your config.lua

Updates overwrite everything except the files you have edited. Keep a copy of config.lua, MusicAPI.lua and locales/ before replacing the folder.
2

Replace the resource folder

Delete the old roadcarradio folder and upload the new one, then restore your config.lua.
Compare your old config.lua against the new one. New releases add keys, and a key that is missing falls back to a built-in default — which may not be the value you want.
3

Restart

New tables and columns are added automatically on start. There is no SQL file to import for an update.

Coming from RoadCarPlay?

The resource was renamed, and so were the things your other scripts might reference:
Your installed vehicles migrate themselves. On the first start the old roadshop_carplay_cars table is copied into roadshop_carradio_cars and renamed to roadshop_carplay_cars_migrated. Nothing to do by hand — you can delete the renamed table once you have checked it went through.

Next Steps

Commands

Every command and keybind the resource registers

Custom Music API

Serve your own music library from your own server

Client API

Exports for integrating RoadCarRadio with your own scripts

FAQ

Common questions and troubleshooting