Can you integrate custom external audio engines like XSound? Yes. RAX Development integrates XSound (and similar FiveM audio resources such as interact-sound / xsound forks) for 3D positional media — club DJs, boomboxes, job speakers, haunted ambience, vehicle radios — while keeping pma-voice for player voice chat. They solve different problems: voice = talk; XSound = streamed or file-based sound in the world.
Quick answer: ensure xsound (or your fork) → server validates play/stop → client exports for PlayUrlPos / distance / volume → tie to items, zones, or jobs. Respect copyright on URLs. Request integration
XSound vs pma-voice (do not confuse them)
| System |
Purpose |
Typical source |
| pma-voice | Player microphone voice, radio, phone | Live voice streams |
| XSound | Music, SFX, ambient loops in 3D space | MP3/OGG files or allowed URLs |
| Native GTA audio | Engine sounds, some scenarios | Game banks (limited for custom RP) |
Both can run together. We configure volumes so DJ bass does not drown voice chat and document keybinds for staff.
What we integrate with XSound
- Nightclub / bar DJ — table or booth plays URL or playlist with range falloff
- Boombox / speaker item — place prop, server assigns sound id, pick track within rules
- Vehicle radio — sync to car entity, stop on exit/engine off
- Job ambience — mechanic shop radio, carnival, construction site
- Event scripts — timed stingers, announcement horns (short clips)
- Custom jobs with Lua from scratch calling XSound exports
Integration pattern (how we build it)
- Install maintained xsound (or agreed fork) matching your artifact version
ensure xsound before scripts that call its exports
- Server event — player requests play (item, target, zone); server checks job, item, cooldown, URL whitelist
- Server triggers clients in range with sound id, coords, max distance, volume
- Client uses XSound API: play at position, update on entity move if attached to vehicle/prop
- Stop / cleanup on disconnect, resource stop, item pickup, or leave zone
- Optional NUI playlist picker with server-approved track list only
- Test with multiple listeners at different distances on staging
Exports and concepts (typical XSound)
Exact export names vary by fork; we read your installed resource docs. Commonly used ideas:
- Play URL or file at coordinates with max distance
- Attach sound to entity (vehicle, object net id)
- Set volume / distance / loop per sound id
- Destroy sound by id when done
- Dynamic volume based on listener position (3D falloff)
We wrap exports in a thin server-owned module so leaked menus cannot play arbitrary YouTube URLs to the whole map.
Security, rules, and performance
- URL whitelist or file-only playback — no open URL field for players
- Rate limits — max concurrent sounds per player and per zone
- Copyright — streamed music can violate DMCA/platform rules; use licensed packs or host-owned files
- CPU/client load — many simultaneous streams lag weak PCs; cap club capacity
- Routing buckets — sounds in apartments should not bleed to bucket
0 (routing buckets)
- High ping — start/stop commands server-side (latency guide)
Alternatives and when not to use XSound
- interact-sound — Simple one-shot SFX (click, beep) without full 3D engine
- Native audio flags — Very short UI feedback
- NUI HTML5 audio — Menu-only music not heard in world (local)
We pick the lightest tool that meets the design so you do not run three audio stacks fighting volume.
Framework hooks
QBCore / ESX usable items, ox_target on DJ booth, or inventory metadata for “linked speaker” ids. Tebex items can grant speaker access with server validation (Tebex perks).
Common issues we fix
- Sound follows player after leaving club (not detached from coords)
- Orphan sounds after crash (no cleanup on playerDropped)
- Everyone on server hears one boombox (missing distance / wrong export)
- YouTube URL blocked or stutters (use direct file hosting)
- Conflict with second audio resource double-playing
Pricing
- Basic boombox / one-zone DJ — often Custom Script ($49) to Advanced ($99)
- Multi-venue + vehicle + whitelist admin — quoted on scope
- Included in full server build when in wishlist
How RAX Development helps
- Install XSound and bridge your jobs, items, and MLOs
- Server-validated playlists and staff override commands
- Works alongside pma-voice tuning
- Documented in your Git repo
US Navy Veteran, 13 years IT. Reviews · Shop · Contact
Related: pma-voice & submixes ·
Exclusive scripts ·
Launch timeline
Conclusion
Can you integrate custom external audio engines like XSound? Yes — RAX Development wires XSound for 3D music and SFX with server whitelists and cleanup, alongside pma-voice for player chat, so your RP venues sound professional without exploit-grade open URLs.