Skip to content

Retro Radio

Current rs_radio structure centers around client audio logic, server broadcast state, NUI controls, and local media/data files.

  • Directoryclient/
    • Directoryaudio/
      • โ€ฆ
    • Directoryutils/
      • โ€ฆ
    • cl_audio_mixer.lua
    • cl_boombox.lua
    • cl_dj_panel.lua
    • cl_dj_voice.lua
    • cl_emitter.lua
    • cl_mic_state.lua
    • cl_radio_control.lua
    • cl_ui.lua
    • cl_vehicle_radio_block.lua
    • cl_weather_display.lua
  • Directoryserver/
    • Directoryjs/
      • โ€ฆ
    • Directoryutils/
      • โ€ฆ
    • sv_alerts.lua
    • sv_boombox.lua
    • sv_call_system.lua
    • sv_diagnostics.lua
    • sv_local_duration_resolver.lua
    • sv_permissions.lua
    • sv_phone_routing.lua
    • sv_playlist.lua
    • sv_scheduler.lua
    • sv_state.lua
    • sv_tracks_hotswap.lua
    • sv_weather_engine.lua
    • sv_resolver_hook.lua
  • Directorydata/
    • ads.json
    • playlist.json
    • sfx.json
    • weather_patterns.json
  • Directorynui/
    • Directoryaudio/
      • โ€ฆ
    • Directorycache/
      • Directoryyt/
        • โ€ฆ
    • Directoryvendor/
      • โ€ฆ
    • index.html
    • script.js
    • style.css
    • logo.png
  • Directorysongs/
    • Directoryads/
      • โ€ฆ
    • Directorymusic/
      • โ€ฆ
    • Directorysfx/
      • โ€ฆ
  • config.lua
  • fxmanifest.lua
  • client/

    • Listener logic, world emitter behavior, DJ interaction, mic handling, boombox carry/place flow, and weather display consumption.
  • client/audio/

    • Internalized runtime audio transport and manipulation helpers used by the resource.
  • client/utils/

    • NUI bridge and client-facing callback/event glue.
  • server/

    • Broadcast authority, playlist/scheduler logic, boombox state, calls, diagnostics, weather bridge behavior, and permissions.
  • server/js/

    • Bundled Node-side helpers such as the local duration resolver.
  • nui/

    • DJ tablet UI, listener UI, visual state rendering, browser audio logic, and bundled front-end vendor assets.
  • songs/

    • Local playable media organized by purpose.
  • data/

    • Editable playlist/scheduler source data.
  • docs/

    • Product and operator documentation for rs_radio.
  • config.lua
  • data/stations/south/playlist.json or data/stations/north/playlist.json
  • data/stations/south/ads.json or data/stations/north/ads.json
  • data/stations/south/sfx.json or data/stations/north/sfx.json
  • songs/stations/south/music or songs/stations/north/music
  • songs/stations/south/ads or songs/stations/north/ads
  • songs/stations/south/sfx or songs/stations/north/sfx
  • client/cl_emitter.lua
  • client/cl_boombox.lua
  • client/utils/ui_bridge.lua
  • server/sv_state.lua
  • server/sv_scheduler.lua
  • server/sv_call_system.lua
  • nui/script.js

If you are troubleshooting playback problems, separate them by layer:

  • media/data issue: songs/ or data/
  • world playback issue: client/cl_emitter.lua
  • UI issue: nui/
  • server-state issue: server/sv_state.lua and scheduler/call files