Troubleshooting
Resolve common CCTV installation, camera, permission, recording, playback, and persistence problems.
Begin with the FXServer console and confirm both resources are current. Enable debug output only temporarily on a test server.
CCTV will not start
Confirm the exact folder names and start order:
ensure eventsCore
ensure eventsCctvEach fxmanifest.lua must be directly inside its resource folder. CCTV requires the free Events Core package and will not initialize correctly if Core is missing, starts later, or is below the required version.
/cctv does nothing
Confirm eventsCctv is running and the player has an appropriate permission such as cctv.admin, cctv.live.view, or cctv.recording.view. Check the server console for denied permission or configuration messages.
The interface opens but an action is denied
Check:
The ACE node for the requested action
The player's ACE group membership
Terminal-specific access with
cctv.terminal.<terminalId>Remote group access with
cctv.remote.<group>The resource's server-only permission configuration
A camera is listed but cannot be viewed
Verify cctv.live.view, terminal access, the camera's enabled state, routing bucket, distance rules, and the live-view viewer limit. Reopen the interface after correcting access.
A recording does not appear
Confirm:
Recording is enabled on the camera.
Motion triggers are enabled or an authorized bookmark was created.
The subject was inside the configured capture range and camera view.
The event cooldown had expired.
Events Core had time to finish the configured post-event period.
The reviewer has cctv.recording.view.
Historic playback is empty or stops
Check the server console for recording finalization or storage errors. Confirm the Events Core data directory is writable and has available disk space. Test a new recording with the default capture range and timing before increasing limits.
Map or MLO cameras are not found
Automatic discovery is disabled by default. After enabling it:
Enter the MLO so its objects are streamed.
Run /camerascan.
Run /cameraautoscanstatus.
Confirm the model is in both configured allowlists.
Verify the model-specific position and rotation offsets.
An automatically discovered camera disappears after restart
Enable both CCTV persistence and persistDiscoveredCameras. If discovered-camera persistence is disabled, those records are intentionally temporary. Review repeated scan status before using either cleanup command.
Settings or cameras reset after restart
Check that eventsCctv/data/cctv.json exists and can be written by the FXServer process. Restore a known-good backup only while the resource is stopped.
Upload or Discord actions fail
Confirm the server-side integration is enabled and configured, then verify cctv.recording.upload or cctv.discord.send. Keep endpoints, tokens, and webhooks out of client files and redact them from support logs.
Problems after an update
Replace both resources as complete packages, merge supported customer configuration into the new files, and start Events Core before CCTV. Do not mix protected runtime files from different versions. Restore data only after confirming it is compatible with the new release.
Still need help?
Collect the relevant startup and error lines, installed resource versions, reproduction steps, and whether the issue affects live view, recording, or playback. Remove tokens, webhooks, player identifiers, and other private information before contacting Sonoran Software support.
Last updated
Was this helpful?