The /safezonecreator command does nothing
Check permissions:
- Framework admin (ESX/QB/QBX admin flag), or
- ACE: default is
command.safezone— must matchaceinconfig/main.luaand yourserver.cfgprincipals.
Restart the resource after config changes.
Zones are not saving
The server writes to data/zones.json. If the file is missing, corrupt, or the folder is not writable, the resource logs repeated load errors and zones will not persist.
Fix: ensure data/ exists, restore valid JSON ({} at minimum), and check file permissions on your host.
Players are not disarmed in a no-weapons zone
Disable Firearms uses disarmPlayer in config/main.lua. For ox_inventory, the default ox_inventory:disarm event must work. For other inventories, extend that function to call your inventory’s disarm API.
No enter/leave notification
Check three layers:
notifications.enabled = truein config- Per-zone Notification enabled in the editor
customNotifications—trueshows the NUI banner;falseuses LT.Notify toasts (needs a working notify backend fromsetup.notify)
Zone borders are invisible
The zone needs Show Zone Borders on in the editor. You must also be within preview.maxDistance in config/main.lua (default 350 meters) for the outline to draw.
Polygon will not save or finish in point mode
You need at least three points placed in order along the border (no crossing edges). If the preview turns red or finish is blocked, undo points and trace the perimeter again without zig-zagging through the middle.
Job whitelist does not work
Job name in the whitelist must match the framework job id exactly (police, not Police). Min Grade is inclusive — grade 2 allows grade 2 and above if your framework uses numeric grades.
Whitelisted players are exempt from restrictions; they still physically enter the zone.
Server feels heavy with many zones or busy areas
Raise intervals in config/main.lua → safezone (vehicleScanMs, pedCollisionMs, vehicleCollisionMs). Disable heavy per-zone options (vehicle collision scans, ghost mode on huge areas) where you do not need them.