
Guardian Radio V2
- Lifetime updates & Discord support
- Protected by Cfx.re asset escrow
# GuardianLabs Radio V2
### Realistic tower-based radio system for FiveM roleplay servers
Give your server a radio that feels real. GuardianLabs Radio V2 is a standalone, modern handheld radio built on pma-voice. It has a clean UI, department-locked channels, and a **realistic signal system** that makes coverage matter.
---
## 📡 Realistic Tower Signal System
- Radio towers placed around the map with configurable **coverage radius**
- Players lose their radio connection when they leave tower range, and reconnect automatically when they re-enter
- **Per-tower channel assignment**, so each tower only carries the channels you choose (e.g. Paleto towers carry Paleto RTO)
- Optional in-world **tower props** that spawn as you approach, plus map blips
- Choose which channel types require signal: LEO/restricted, public, or both
- "Signal lost" and "Signal restored" notifications
- Can be turned off entirely if you want a simple radio
## 🛠️ In-Game Tower Placement Tool
Stand where you want a tower and run `/placetower [radius]`.
- Admin-only (ACE permission, configurable)
- Tower goes live for all players instantly
- Config-ready line is copied to your clipboard and saved to `placed_towers.txt`
## 🔒 Permission-Locked Channels
- Lock any channel to an ACE permission (LEO, DHS, FBI, DOT, EMS, etc.)
- Players without access can't join, and the restricted tab is hidden from them
- Fully server-side verified
- Works with any framework since it uses standard ACE permissions
## 📱 Modern Radio UI
- Handheld radio with power and volume controls
- Quick-join channel tabs: **RTO's** (restricted) and **Civilian**
- Manual channel entry
- Live **channel member list** with talking indicators
- On-screen **Radio List HUD** showing who's on your channel
- **5 frame colors:** Blue, Green, Purple, Orange, Gray (saved per player)
- Custom **name and callsign**, shown to everyone on the channel
- Join/leave tones and a mute toggle
- Open with **F3** (rebindable by players)
## ⚙️ Easy Configuration
Everything lives in an unlocked `config.lua`:
- Channels and channel names
- Permissions per channel
- Tower locations, radius and channels
- Signal rules, check interval, tower props and blips
- Place tool command, permission and default radius
## 🛡️ Built Right
- Server-side input sanitization on names, callsigns and channels
- Players are cleaned up on disconnect
- Lightweight, with no heavy loops
---
## 📋 Requirements
- [ox_lib](https://github.com/overextended/ox_lib)
- [pma-voice](https://github.com/AvarianKnight/pma-voice)
## 🔧 Installation
1. Drop `GuardianRadioV2` into your resources folder
2. Make sure `ox_lib` and `pma-voice` start **before** it
3. Add `ensure GuardianRadioV2` to your server.cfg
4. Add your ACE permissions, for example:
`add_ace group.police leo.guardian allow`
5. Edit `config.lua` to fit your server
## ℹ️ Details
- **Framework:** Standalone
- **Voice:** pma-voice
- **Config:** Open, editable `config.lua`
- **Support:** Via Discord