For the complete documentation index, see llms.txt. This page is also available as Markdown.

Installation

Install Sonoran Station Displays, SonoranCADFiveM, permissions, and a first test display.

Before you begin

You need:

  • A current FXServer with OneSync

  • SonoranCADFiveM version 4.0.72 or newer for units and calls

  • Access to the CFX account that owns the Tebex asset

  • Permission to add resources and ACE entries to the server

The resource does not enforce a specific FXServer artifact number. Use a supported current artifact. No framework, SQL database, menu library, Node.js runtime, or radio_fivem installation is required.

1. Download the resource

After purchasing the resource, download it from the CFX portal account that owns the asset. See Accessing Tebex Assets for the established store download process.

Extract the download before copying it to the server.

2. Verify the folder structure

The folder containing fxmanifest.lua must be named:

sonoran-stationdisplay

A correct installation looks like:

Do not leave an extra nested folder:

If that occurs, move the inner sonoran-stationdisplay folder into the resources directory and remove the empty outer folder.

3. Install or update SonoranCADFiveM

Install SonoranCADFiveM according to the SonoranCADFiveM installation guide.

The default dependency resource name is:

Sonoran Station Displays requires version 4.0.72 or newer and the local GetUnitCache, GetCallCache, and GetEmergencyCache exports. It does not require a second CAD API key.

The optional Bodycams page additionally needs a package/build that exposes GetBodycamRuntime() and the runtime event, plus the standard screenshot-basic resource. The base 4.0.72 cache requirement does not guarantee that every package with that version contains the newer bodycam bridge.

The dependency name is managed internally and must remain sonorancad.

4. Configure start order

Add:

Start SonoranCADFiveM and screenshot-basic first. Sonoran Station Displays can remain started if either stops; normal boards recover with CAD, while bodycam imagery reports the missing capture dependency and recovers when it returns.

The current preconfigured SonoranCADFiveM bundle may instruct you to use exec @sonorancad/sonorancad.cfg instead of manually ensuring its resources. In that installation, place the exec line before ensure sonoran-stationdisplay; the required core resource must still start as sonorancad.

Do not add ensure radio_fivem for this product unless your server separately uses Sonoran Radio. The radio resource is not a dependency.

5. Add ACE permissions

For an administrator group:

Viewing displays does not require an ACE. Grant sonoran.stationdisplay.menu to each group that should open the administrative menu, then grant only the required action ACEs. See Permissions for least-privilege examples and custom permission mode.

6. Review configuration

Open sonoran-stationdisplay/config.lua and confirm:

  • Config.PermissionMode = "ace"

  • Default pages, service filter, theme, rotation, clock/weather, and distances

  • Live Map and bodycam defaults

  • The included display model registry

Update checks, the dependency name/minimum version, DUI lifecycle, and security rate limits require no customer configuration. Do not place API keys, Tebex credentials, or license credentials in this file, and do not modify protected implementation files.

7. Restart and verify startup

Restart the server. In the server console, expect messages similar to:

On first start, the resource creates:

If CAD is missing, old, or incompatible, the server prints an SSD-CAD-* error. See Troubleshooting.

8. Place a test display

  1. Join with the administrator ACE permissions.

  2. Confirm at least one unit is on duty in Sonoran CAD.

  3. Run /stationdisplay.

  4. Select Mounted Displays.

  5. Select Place New Display.

  6. Choose a model, service filter, and one or more pages.

  7. Leave the rotation interval at the default 30 seconds.

  8. Select Continue to Placement.

  9. Position the preview within 15 meters, then select Confirm Placement.

  10. Walk within the display's render distance and confirm current state appears without the CAD unavailable overlay.

If the display has no rows, confirm its service filter matches the on-duty unit's unit.data.page classification.

Tebex Asset Escrow

The production package is intended for FiveM Asset Escrow. Customer-editable files are excluded from encryption:

  • config.lua

  • server/admin_webhook_config.lua

  • locales/*.lua

  • data/displays.DEFAULT.json

  • docs/*.md

  • README.md

Runtime display data is written to data/displays.json. Back it up before replacing the resource during an update.

Source builds

Customers do not build the web interface. It ships as static production files and has no Node.js dependency.

Repository maintainers can validate and package a source checkout from the repository root:

The package command creates build/stationDisplay.zip with one top-level sonoran-stationdisplay folder.

Last updated

Was this helpful?