Dependencies
Required
- ml_bridge - Framework, inventory, target, notification and dispatch abstraction. All player and item operations run through it.
- ox_lib - Callbacks, zones, keybinds, DUI rendering for antenna status displays.
- oxmysql - Persistence for radio data, placed antennas, jammers and stereos.
- OneSync - Declared in the manifest. The script will not start on a server with OneSync off.
- pma-voice - Voice transport. Radio channels, the secondary monitor channel and push-to-talk all run through pma-voice. The download includes a pma-voice fork that adds the second channel; on stock pma-voice the dual channel switches itself off and nothing else changes.
Framework
server.cfg
1ensure qbx_core
2ensure oxmysql
3ensure ox_lib
4ensure pma-voice
5ensure ml_bridge
6ensure ml_radioserver.cfg
1ensure qb-core
2ensure oxmysql
3ensure ox_lib
4ensure pma-voice
5ensure ml_bridge
6ensure ml_radioserver.cfg
1ensure es_extended
2ensure oxmysql
3ensure ox_lib
4ensure pma-voice
5ensure ml_bridge
6ensure ml_radioAuto Detection
ml_bridge detects your framework automatically. No manual setup.
Optional
Audio Streaming
- xsound - Powers broadcast stations, autoplay playlists, speaker zones and boombox audio. Without it the voice radio still works fully; only streamed music is disabled. Set
Config.Broadcast.streamingProvider = 'none'to run without it silently.
Target System
- ox_target / qb-target - Antennas, jammers, stations and stereos show context options when a target resource is detected via
ml_bridge. Without one, interactions fall back to a keypress prompt.
Progression
- ml_skills: Optional gate on antenna hacking (
Config.Antenna.hack.requireSkill) and ready-made XP hook examples inopen/server.lua. The script runs unchanged without it.