F.A.Q

3 min readUpdated 2 weeks ago

Setup

Yes. Voice radio, channels, antennas, jammers and hacking all run without it. xsound only powers streamed music: station playlists, speaker zones and boombox audio. Set Config.Broadcast.streamingProvider = 'none' to silence those cleanly.

pma-voice. The primary channel, the secondary monitor channel and push-to-talk all run through it. Other voice resources are not supported.

Yes. Set Config.Mode = 'command' and the radio opens without an inventory item. In 'item' mode a radio or radio_military item is required.

Signal and Antennas

Coverage comes from infrastructure. Config.Signal.baseSignalWithoutAntenna = 0 means a player outside every tower and antenna range has nothing. Five fixed towers ship pre-configured; add more locations or let players place their own antennas.

Only if the location opts in with hackable = true. By default fixed towers cannot be hacked; player-placed antennas can, unless their tier disables it.

The antenna is knocked offline and locked for hackLockDuration (5 minutes by default), and its health takes damageOnSuccess damage (50 by default, infinite-health towers immune). The owner is warned after a delay, and locks survive restarts.

Yes. Position, health, active state and lockouts persist in the database. Picking an antenna up writes its condition onto the item.

Jammers

The jammer owner adds their frequencies to the jammer's whitelist from its interaction menu. Everyone else inside the radius reads JAMMED.

Yes, while Config.Jammer.durability.destroyable = true. It also drains power over time and needs batteries to keep running.

Stations and Music

Replace the tracks URLs in the station's autoplay block in config.lua with your own stream links. The shipped entries are public example streams.

config.lua
1autoplay = {
2    enabled = true,
3    tracks = {
4        { url = 'https://your-stream-host/stream', title = 'My Station' },
5    }
6}

The jobs listed in the station's permission table. The console offers queue management, play, pause, skip, shuffle, repeat, volume and crossfade, and voice ducking lowers the music while the DJ talks.

Yes. Fill Config.AllowedStreamHosts in server/config_server.lua with allowed hosts. Empty allows any public host; private addresses are always blocked.

Items and Battery

Every item name lives in Config.Items (radios, jammers, antennas, consumables) and Config.StereoProps.items. Change the names there and register matching items in your inventory.

The radio disconnects from the air. A warning fires once at Config.Battery.lowThreshold percent, and a battery item restores chargeAmount percent on use.

Updates

  1. Download latest from CFX Portal
  2. Backup config.lua and server/config_server.lua
  3. Replace all files except your configs
  4. Restart the resource

Database tables migrate automatically on start.