sonoran-stationdisplay/config.lua. Physical display records are saved separately in data/displays.json.
The dependency name, required base CAD version, DUI resolution/lifecycle, event rate limit, and version-check schedule are internal. Do not copy old settings for those values into a current configuration.
General
Promotional sample data
Config.PromoMode is a maintainer screenshot fixture:
stationdisplay_promodata on|off|status. It produces fictional data and must never be presented as live CAD state.
New-display and page defaults
Supported page IDs:
Clock and weather
See In-game Clock and Weather.
Cache and freshness
Push events can request an earlier refresh. Polling is server-wide and is not multiplied by display count.
Bodycams
These controls do not change the internal 4-second local capture interval, JPEG quality, 300 KB frame ceiling, four-feed subscription limit, or recording behavior. See Bodycams.
Distance and capacity
Internally, the client creates 1280 by 720 DUIs, waits up to 10 seconds for readiness, and delays destruction for 3 seconds so a quick range transition can be cancelled. The protected server allows 25 events per player/category per 10-second window.
Permissions
PermissionMode accepts ace or custom. Empty ACE values deny. Viewing has no ACE node; menu access, placement, editing, deletion, diagnostics, refresh, and webhook tests are independently configurable.
Config.CustomPermission(source, action) is called only in custom mode. It must return boolean true; errors deny. The callback receives backend actions menu, place, edit, delete, diagnostics, refresh, and webhookTest. See Permissions.
Call classification and fields
OTHER calls on a single-service display. Both-service displays already show them.
Keep caller disabled unless a future renderer and the display audience justify it.
Display model registry
Config.DisplayModels is the server allowlist. Player requests cannot spawn another model.
Use
WORLD_PLANE for independent display content. Named targets and texture replacement are global to identical model instances. Test custom models in-game from several angles, with two instances, and across restart/range cleanup.
Advanced service overrides
LEO, FIRE_EMS, or OTHER. Leave this disabled unless a confirmed customized/legacy cache has incorrect unit.data.page classification.
Map defaults
AUTO_FIT, FIXED_REGION, and FOLLOW_UNITS. Saved center components accept -20000 to 20000; zoom accepts 0.1 to 10.0. Minimum/maximum span and padding constrain automatic fits. Debug adds a projection overlay and should remain off in production.
Viewer interaction
Restart and persistence notes
Global configuration changes require a resource restart unless a page explicitly states otherwise. Defaults affect new displays and invalid-value fallbacks. Existing valid per-display values remain indata/displays.json; edit them in the management menu if they should change.
