Configuration

Complete reference for all oxide-carplayer configuration settings

Reference for the current oxide-carplayer config and persisted settings layout.

Config File Map

FilePurpose
shared/config.luaGeneral settings and the map mode
shared/config/carplay.luaCar Player, mini-player, Quick Nav, jailbreak
locales/en.jsonPlayer-facing strings and keybind labels
server/main.luaSaved settings and playlist persistence callbacks

General Settings

File: shared/config.lua

SettingTypeDefaultDescription
Config.DebugbooleanfalseEnable debug logging with [oxide-carplayer] prefix
Config.MapModestring'inherit'How the Home and Map screens show the mainland and Cayo Perico. Saved in the database after the first start — see Shared map mode

Car Player Settings

File: shared/config/carplay.lua

SettingTypeDefaultDescription
Config.CarPlay.EnabledbooleantrueEnable the main Car Player system
Config.CarPlay.Keybindstring'M'Key used for the carplayer command
Config.CarPlay.KeybindDescriptionstring'keybind.carplay'Locale key for the main keybind label
Config.CarPlay.DefaultVolumenumber50Default playback volume
Config.CarPlay.MaxQueueSizenumber20Maximum queue size
Config.CarPlay.AudioRangenumber12.0Open-vehicle hearing range
Config.CarPlay.AudioRangeClosednumber2.0Closed-vehicle hearing range
Config.CarPlay.VolumeMultClosednumber0.15Volume multiplier for sealed vehicles
Config.CarPlay.SpeedRangeBonusnumber0.25Extra hearing range added from vehicle speed
Config.CarPlay.PositionUpdateIntervalnumber150xsound position update interval in ms
Config.CarPlay.ProximityScanIntervalnumber2000Nearby playback scan interval in ms
Config.CarPlay.MaxPlaylistsnumber10Maximum saved playlists per character
Config.CarPlay.MaxPlaylistTracksnumber50Maximum tracks per saved playlist
Config.CarPlay.MapUpdateIntervalnumber500Map data refresh interval in ms

Audio behavior

  • AudioRange and AudioRangeClosed determine how far playback can be heard outside the vehicle.
  • VolumeMultClosed controls how muffled the vehicle sounds when doors and windows are closed.
  • SpeedRangeBonus increases effective range as vehicle speed rises.
  • The resource handles attenuation itself and uses xsound mainly for 3D positioning and playback.

Mini-Player Settings

File: shared/config/carplay.lua

Config.CarPlay.MiniPlayer controls the floating player shown after closing the main UI while music is still playing.

SettingTypeDefaultDescription
EnabledbooleantrueEnable the floating mini-player
Positionstring'bottom-right'Default mini-player position
PauseKeystring'Y'Default key for the carplayer_mp_pause command (pause/resume)
NextKeystring'U'Default key for the carplayer_mp_next command (next track)
RepeatKeystring'I'Default key for the carplayer_mp_repeat command (repeat mode)

Allowed default positions:

  • top-left
  • top-right
  • bottom-left
  • bottom-right
  • bottom-center

Quick Nav Locations

File: shared/config/carplay.lua

Config.CarPlay.QuickNav defines marker and waypoint groups used by the map screen.

GroupDefault StateDescription
gaspopulatedGas station locations
storeemptyConvenience store locations for your server
garagepopulatedGarage locations

Behavior:

  • the map screen renders these as markers
  • Quick Nav buttons exist for gas, store, and garage
  • pressing a Quick Nav button sets a waypoint to the nearest configured location in that category

Jailbreak Settings

File: shared/config/carplay.lua

SettingTypeDefaultDescription
Config.Jailbreak.EnabledbooleantrueEnable the jailbreak feature
Config.Jailbreak.RequiredItemstring'carplayjb_usb'Item required to start jailbreak
Config.Jailbreak.RemoveItembooleantrueRemove the item on successful jailbreak
Config.Jailbreak.Durationnumber8000Progress bar duration in ms
Config.Jailbreak.AnimDictstring'anim@amb@clubhouse@tutorial@bkr_tut_ig3@'Animation dictionary
Config.Jailbreak.AnimNamestring'machinic_loop_mechandplayer'Animation name
Config.Jailbreak.AnimFlagsnumber16Animation flags
Config.Jailbreak.Difficultystring'medium'Circuit-trace difficulty
Config.Jailbreak.ProgressLabelstring'config.progress_jailbreaking'Locale key for progress bar label

Difficulty values

  • easy
  • medium
  • hard

Jailbreak POIs

Config.Jailbreak.POIs defines the extra POI markers shown on the map after a successful jailbreak.

Important:

  • these are revealed as map markers, not as a normal Quick Nav button category
  • the default coordinates in the config are placeholder/example coordinates and should be replaced for production use
  • jailbreak state is stored on the current vehicle's statebag, so each vehicle must be jailbroken separately

Persisted Player Settings

File: server/main.lua

The resource also stores per-character player preferences through KVP-backed callbacks. These are not server-owner config values.

SettingTypeDefaultDescription
themeColorstring'#1DB954'UI accent color
miniPlayerEnabledbooleantrueWhether the floating mini-player should show
miniPlayerPositionstring'bottom-right'Saved preferred mini-player position
albumArtSpinbooleantrueSpin album art while a track is playing
defaultVolumenumber50Preferred default volume when nothing is currently playing

Playlist Persistence

File: server/main.lua

Playlists are stored per character under resource KVP keys in the form:

carplay:char:{characterId}

Limits enforced by the current code:

  • max playlists per character: Config.CarPlay.MaxPlaylists
  • max saved tracks per playlist: Config.CarPlay.MaxPlaylistTracks
  • playlist names are sanitized and trimmed before saving

Shared map mode

File: shared/config.lua (first-start default only)

Config.MapMode picks how the maps on the Car Player Home and Map screens show the mainland and Cayo Perico. The map itself comes from o-link (1.8.0 or newer), which owns the artwork and calibration, so this setting only chooses a mode.

ValueWhat players see
inheritDefault. Follow the server-wide default set in o-link
combinedMainland and Cayo Perico on one combined map
separateSeparate mainland and Cayo Perico views. The Map screen gets a region selector; the compact map on the Home screen picks the region from where the vehicle is
disabledMainland only — Cayo Perico and its markers are hidden
shared/config.lua
Config.MapMode = 'inherit'

Unlike the rest of this page, this one value is saved in the shared oxide_settings database table: shared/config.lua only seeds it on the first start, and the saved value wins after that. Change it live with oxide-carplayer:mapmode <value> from the server console, or /oxide-carplayer:mapmode <value> in game as an admin. Run it without a value to print the current mode to the server console.

inherit follows the server-wide default, which you set once for every Oxide resource with olink:mapmode <value> (combined, separate or disabled; o-link ships with combined). Open maps pick up a new mode without a restart.

Update o-link and oxide-carplayer together, then do a full server restart rather than restarting o-link on its own. The map tiles ship with o-link (o-link/web/map/tiles/), not with this resource.

Locale and Keybind Strings

File: locales/en.json

Notable locale groups:

PrefixDescription
nui.*Main UI labels, weather labels, nav labels, settings labels, jailbreak text
config.*Configurable progress-bar label
keybind.*Main Car Player and mini-player keybind labels

Current keybind locale keys and the commands they label:

Locale keyCommand
keybind.carplaycarplayer
keybind.carplay_mp_pausecarplayer_mp_pause
keybind.carplay_mp_nextcarplayer_mp_next
keybind.carplay_mp_repeatcarplayer_mp_repeat

Next Steps