Oxide Car Player
In-vehicle YouTube music with 3D positional audio, passenger sync, saved playlists, a navigation map, and an optional jailbreak flow.
Overview
oxide-carplayer is an in-vehicle YouTube music system with 3D positional audio, passenger sync, saved playlists, a tiled map, and an optional jailbreak flow for revealing hidden POIs.
Players can open Car Player from any vehicle seat, paste a YouTube URL, manage a queue, save playlists per character, and use the map to find nearby configured locations. When music is playing, nearby players hear it through xsound with distance falloff and closed-vehicle muffling. Closing the main UI can hand off playback controls to the floating mini-player.
Technical
| Dependency | Required | Purpose |
|---|---|---|
oxmysql | Yes | Saves the map mode setting in the shared oxide_settings table |
ox_lib | Yes | Locale, callbacks, animation loading |
o-link | Yes, 1.8.0 or newer | Character lookup, usable items, inventory, progress bar, notifications, weather/time, and the shared map (mainland and Cayo Perico) |
xsound | Yes | 3D positional audio playback |
Storage: Playlists and saved player settings use FiveM KVP storage, per character. No SQL import is required — the only database value is the server-wide map mode, kept in the shared oxide_settings table, which is created automatically.
Frontend: Vue 3 + Vite NUI with screens for Home, Music, Map, and Settings, plus a floating mini-player and the circuit-trace jailbreak minigame. The interface ships prebuilt in web/dist, so there is nothing to build.
Features
- YouTube playback: Paste a standard YouTube URL to fetch metadata and start playback in the current vehicle.
- Queue and repeat controls: Add tracks to queue, play from queue, skip, and cycle repeat modes (
off,repeat,once). - Persistent playlists: Save, load, rename, append, and delete playlists per character with no database dependency.
- 3D vehicle audio:
xsoundplayback updates with vehicle position, speed, openness, and distance from the listener. - Passenger sync: Vehicle statebags keep all occupants synchronized, with proximity scanning used to recover nearby audio state.
- Tiled navigation map: Shows player position, street/cross-street, zone, current weather, current time, and nearby configured POI markers, drawn on o-link's shared map with optional Cayo Perico support.
- Quick Nav categories: Gas, store, and garage categories set a waypoint to the nearest configured location.
- Jailbreak flow: A usable USB item starts an
o-linkprogress bar, then a circuit-trace minigame. Success marks the current vehicle as jailbroken and reveals POI markers for that vehicle. - Mini-player and settings: Players can keep playback visible after closing the UI and save per-character settings such as theme color, default volume, mini-player behavior, and album art spin.
Quick Start
Place oxide-carplayer in your resources folder.
Start oxmysql, ox_lib, o-link (1.8.0 or newer), and xsound before oxide-carplayer.
Review shared/config.lua and shared/config/carplay.lua.
Register the jailbreak USB item (carplayjb_usb) if you want the jailbreak feature enabled.
Join the server, enter a vehicle, and press the configured keybind (M by default) or run /carplayer.
Updating from 1.x? Version 2.0.0 renames the open command to /carplayer, renames the mini-player keybind commands, and needs o-link 1.8.0 or newer. See Updating from 1.x before you update.