Community Service
Compatibility
Compatibility
Frameworks
| Framework | Status |
|---|---|
| QBX Core (Qbox) | ✅ Native |
| QB-Core | ✅ Native |
| ESX (es_extended) | ✅ Native |
Inventory
Required: ox_inventory for the auto-strip-weapons feature. Without it, set Config.RemoveWeaponsOnCompletion = false and the rest of the script works normally.
Discord bot
Optional but recommended. If you use Config.Permissions.useDiscordWhitelist = true:
- Need a bot token (Bot must be in your Discord server)
- Bot needs
View Server Membersprivileged intent enabled in the Discord Developer Portal Config.Discord.guildIdis your server's snowflake ID (right-click server icon → Copy Server ID, with Developer Mode on)
Notification systems
Config.NotifySystem accepts:
| Value | Notes |
|---|---|
'qbcore' |
QB / QBX Notify |
'esx' |
ESX ShowNotification |
'ox_lib' |
ox_lib lib.notify (recommended) |
'mythic' |
Mythic Notify |
'okokNotify' |
OKOK Notify |
'custom' |
Edit Notify function in client.lua |
Routing bucket awareness
If another resource manages routing buckets (e.g. custom shell systems, instance scripts), make sure Config.PunishmentBucket = 999 doesn't collide. Pick any unique integer.
Caller integrations
| Resource | How it uses suty-sv_sync |
|---|---|
| hl-perfmon (internal) | Calls SendToCommunityService when catching illegal vehicle spawns |
| suty-chainsnatch | Calls SendToCommunityService on detected exploits |
Any external script can hook in via the exported SendToCommunityService(playerSrc, taskCount, reason) function.
Other suty resources
| Resource | Interaction |
|---|---|
| All other suty- | No conflicts |
Known incompatibilities
- Routing bucket conflicts with other punishment / instance scripts using the same bucket ID — pick a unique
Config.PunishmentBucket.
Open a ticket on Discord if you find one.
