Skip to main content

Config Files

All configuration is done inside config.lua. The file is unescrowd and fully editable.

Core Settings

Config.Locale = 'en'

Sets the language. Must match a file in the locales/ folder. Currently supported: en, sl.


Config.Debug = false

When true, prints debug output to the server and client console. Useful for troubleshooting.


Config.DefaultVolume = 0.3

Default audio volume for booths that don't specify their own. Range: 0.01.0.


Config.DefaultDistance = 30.0

Default xsound broadcast radius in metres for booths without an override.


Config.CooldownTime = 3000

Milliseconds a player must wait between DJ booth actions. Prevents spam.


Config.EnableJob2 = false

When true, a player's ESX secondary job (job2) is also checked against booth.job. Useful for servers using ESX's dual-job system.


Config.VolumeMin = 0.01
Config.VolumeMax = 1.0

Server-side volume clamp limits. All client input is validated against these values.


Config.DistanceMin = 5.0
Config.DistanceMax = 100.0

Server-side distance clamp limits in metres.


Config.MaxPlaylists = 10

Maximum number of named playlists per booth.


Config.MaxPlaylistTracks = 20

Maximum number of tracks per individual playlist.


Live Radios

You can define preset live radio streams that DJs can quickly play.

FieldTypeRequiredDescription
namestringDisplay label shown in the context menu
urlstringDirect stream URL

Example

Config.LiveRadios = {
{
name = 'Radio Veseljak',
url = 'https://live.radio.si/Veseljak',
},
{
name = 'Radio Center',
url = 'https://live.radio1.si/Radio1',
},
}

Booth Definitions

Booths are defined in Config.Booths. Each booth is a table with the following fields:

FieldTypeRequiredDescription
idstringUnique identifier used as the xsound sound name. Must be unique across all booths.
namestringDisplay label shown in the context menu title bar.
coordsvec3World position of the booth prop.
targetRadiusnumberox_target interaction sphere radius in metres.
soundRadiusnumberxsound broadcast radius override. Defaults to Config.DefaultDistance if nil.
jobstringRequired ESX job name. Set to nil for public access.
volumenumberInitial volume override. Defaults to Config.DefaultVolume if nil.

Example

Config.Booths = {
{
id = 'vu',
name = 'Vanilla Unicorn',
coords = vec3(120.5514, -1281.0736, 29.4805),
targetRadius = 1.5,
soundRadius = 35.0,
job = 'police',
volume = nil,
},
}
tip

To make a booth accessible to everyone regardless of job, set job = nil or simply omit the field.

info

You can define as many booths as you need by adding more entries to Config.Booths. Each id must be unique.