Radio Station Framework
File System
Section titled โFile SystemโThis page is a high-level map of the rs_radio resource.
Some files listed here are internal implementation files and may be escrowed in distributed builds. This page is for orientation and troubleshooting, not a request for server owners to edit protected source files.
Resource Map
Section titled โResource Mapโrs_radio/+- client/| +- audio/| | +- exports/| | +- events.lua| | +- main.lua| +- emitter/| | +- emitter runtime slices| +- ui_bridge/| | +- NUI bridge slices| +- utils/| | +- ui_bridge.lua| +- cl_audio_mixer.lua| +- cl_boombox.lua| +- cl_walkboy.lua| +- cl_dj_headphones.lua| +- cl_dj_locations.lua| +- cl_dj_panel.lua| +- cl_dj_voice.lua| +- cl_doorlock_debug.lua| +- cl_emitter.lua| +- cl_mic_state.lua| +- cl_native_music_block.lua| +- cl_radio_control.lua| +- cl_studio_monitor.lua| +- cl_studio_seating.lua| +- cl_ui.lua| +- cl_vehicle_radio_block.lua| +- cl_weather_display.lua+- config.lua+- data/| +- product_ads.json+- docs/| +- configuration.md| +- development.md| +- faq.md| +- features.md| +- file-system.md| +- installation.md| +- introduction.md| +- modes.md| +- rebel-radio-doors.md| +- rebel_radio_doors_ox_doorlock.sql| +- rebel_radio_doors_qb_doorlock.lua+- fxmanifest.lua+- nui/| +- audio/| +- vendor/| +- index.html| +- local_fit.html| +- local_panel_fit.js| +- local_preview.html| +- local_seed.js| +- logo.png| +- script.js| +- studio_monitor.html| +- style.css+- radio_boombox.png+- radio_walkboy.png+- server/| +- js/| +- state/| | +- server state slices| +- utils/| +- sv_alerts.lua| +- sv_boombox.lua| +- sv_call_system.lua| +- sv_diagnostics.lua| +- sv_dj_boss.lua| +- sv_doorlocks.lua| +- sv_emitter_fx.lua| +- sv_framework.lua| +- sv_listener_eq.lua| +- sv_local_duration_resolver.lua| +- sv_permissions.lua| +- sv_phone_routing.lua| +- sv_playlist.lua| +- sv_resolver_hook.lua| +- sv_saved_library.lua| +- sv_scheduler.lua| +- sv_state.lua| +- sv_station_admin.lua| +- sv_station_seed.lua| +- sv_stations.lua| +- sv_tracks_hotswap.lua| +- sv_weather_engine.lua+- shared/| +- config_defaults.luaCustomer-Editable Areas
Section titled โCustomer-Editable Areasโ-
config.lua- Main server-owner configuration: framework, permissions, stations, MLO placement, item names, feature toggles, emitter radius, weather provider, and boombox settings.
-
radio_boombox.png- Inventory image asset reference for servers that want to reuse the included boombox icon.
-
radio_walkboy.png- Inventory image rendered from the included Walkboy model.
-
data/product_ads.json- Shared product ad data.
-
docs/rebel_radio_doors_ox_doorlock.sql- Optional manual import for
ox_doorlock.
- Optional manual import for
-
docs/rebel_radio_doors_qb_doorlock.lua- Optional manual entries for
qb-doorlock.
- Optional manual entries for
Station Content
Section titled โStation ContentโThe standard package uses local .ogg and .mp3 files under songs/. The server operator is responsible for ensuring these files are appropriately licensed.
Use the in-game Station Creator/Admin UI for station content where possible.
The station creator handles:
- station identity
- station branding colors
- server-provided station audio
- ads
- SFX
- placement
- review/publish state
This avoids asking server owners to edit internal station data by hand.
Inventory And Framework Files
Section titled โInventory And Framework FilesโThe boombox and Walkboy items must be added to the serverโs inventory/framework resource when enabled.
Common places:
qb-core/shared/items.luafor QBCore/qb-inventoryox_inventory/data/items.luafor Qbox/ESX servers using ox_inventory
The item names must match:
Config.BoomboxItemNameConfig.WalkboyItemNameDefault:
radio_boomboxradio_walkboyProtected/Internal Areas
Section titled โProtected/Internal AreasโDo not treat internal Lua, JS, NUI, audio, state, bridge, or emitter files as customer edit targets.
For customer setup, use:
config.lua- Station Creator/Admin UI
- inventory item definitions
- documented doorlock import files
- supported integration events from
docs/development.md
Practical Troubleshooting Map
Section titled โPractical Troubleshooting Mapโ- Startup issue: check server/F8 console and confirm required dependencies are started.
- DJ UI issue: confirm DJ permissions, station location, and modified
pma-voice. - Listener UI issue: confirm keybinds, vehicle/boombox context, and NUI focus behavior.
- World emitter issue: test one source first, then vehicle/boombox/mixed-source scenarios.
- Boombox issue: confirm inventory item, target resource, and framework bridge.
- Cohost issue: confirm both players use the modified
pma-voiceand test invite/accept/monitor flow. - Station creator issue: confirm admin group permissions.
- Voice/call issue: confirm modified
pma-voiceand mic/channel setup. - Weather issue: confirm configured weather provider/resource is started.