LogoLogo
SupportServer Hosting
  • Sonoran CAD
  • 📱Download The App
    • Steam Browser - Workaround
    • Web Browser - Clear Cache
    • Desktop App - Clear Cache
    • GTA RP Tablet - Clear Cache
    • Steam Browser - Clear Cache
  • Why Choose Sonoran CAD?
    • 🏆Why Choose Sonoran CAD?
  • Other Products
    • 🖥️FiveM Hosting
    • 📝Sonoran CMS
    • 📡Sonoran Radio
  • Tutorials
    • Getting Started
      • Registering Your Account
      • Registering Your Community
      • Inviting Users to Your CAD
      • Granting Account Permissions
      • View Your Limits
      • Community ID and API Keys
      • Troubleshooting
    • Customization
      • Custom Domain & Login Page
      • Customizing Your Layout
      • Community Branding and Settings
      • Creating Custom Record and Report Types
      • Sharing Custom Records
      • Custom Search Types
      • Geographical Settings
      • Penal Codes
      • 10-Codes
      • Addresses and Street Names
      • Unit Status Codes
      • Tone Board
      • Custom Audio Notifications
      • Custom Emails
      • Quick Links
      • Custom Page Colors
      • User Account Restrictions
      • Configuring Multiple Servers
      • Advanced Query Strings
    • Dispatching
      • Creating a Call
      • Self Dispatch
      • Timers
      • Command Line Interface (CLI)
    • Records Management
      • Record Lookups
      • Adding a Record
      • PDF Records
      • Scene Diagram Builder
    • Administration
      • System Logs
      • Remove User Account
      • Deleting or Transferring your CAD
    • Other Features
      • Configurable Hotkeys
      • Voice Commands
      • Volume and Language
  • Integration Capabilities
    • 🗃️Paid Integration Resources
      • Mobile Command Center
      • ATM Robbery
      • In-Vehicle Radar
      • Evidence Camera
      • Power Grid
      • Speed Cameras
      • Shot Spotter
    • 🛠️Integrated Vendors
    • 📺Twitch Bodycam, Bot, & Lighting Integration
    • Database Sync and Merge
      • Database Sync Credentials
      • QB Core Mapping Tutorial
      • Troubleshooting
    • Discord Bot Integration
    • Discord Rich Presence
    • Discord Webhooks
    • TeamSpeak 3 Integration
    • Stream Deck Integration
    • 🎮FiveM
      • FiveM Installation
        • Submodule Configuration
          • Submodule Troubleshooting
          • Submodule Configuration Updates
        • FiveM Submodules
          • Body Camera
          • Call Commands
          • Check API ID
          • Civilian Integration
          • Dispatch Notify
          • Emergency Response Simulator (ERS)
          • Framework Support (ESX/QBCore) and Auto Fines
          • FivePD
          • ForceReg
          • Kick
          • Locations
          • Live Map
          • Lookups
          • Postals
          • Smart Signs
          • Sonoran Radio (sonrad)
          • Station Alert
          • Tablet & Mini-CAD
          • TeamSpeak 3
          • Traffic Stop
          • Unit Status
          • VehReg
          • WraithV2
      • FiveM Development Documentation
        • Client Functions
        • Shared Functions
        • Server Functions
        • Server Events
        • HTTP Request Handling
      • Error Codes
    • 🎮Roblox ER:LC
  • Developer API Documentation
    • 📖API Integration
      • Getting Started
        • Retrieving Your Credentials
        • Integration API ID
        • Account Secret ID
      • Push Events
        • Event Restrictions
        • Record Events
          • Record Added
          • Record Edited
          • Record Removed
        • Unit Events
          • Unit Panic
          • Unit Login
          • Unit Logoff
          • Unit Status Update
          • Unit Group Name Change
          • Unit Group Add
          • Unit Group Remove
        • Dispatch Events
          • New Dispatch
          • Modified Dispatch
          • Closed Dispatch
          • Dispatch Note
          • Attach Unit
          • Detach Unit
          • Toggle Bodycam
        • Event 911
        • Remove 911
        • Sign Updated
        • Tone Played
        • Civilian
          • Character Selected
        • ERS
          • New Callout
        • Station Alert
          • New Station Alert
      • API Endpoints
        • API Restrictions
        • Emergency
          • Identifiers
            • Get Identifiers
            • Modify Identifier
            • Set Identifier
            • Unit Panic
            • Kick Unit
            • Unit Status
            • Get Active Units
            • Update Unit Location
          • Dispatch and Emergency Calls
            • Get Calls
            • New Dispatch
            • Attach Unit
            • Detach Unit
            • Update Call Postal
            • Add Call Note
            • Update Call Primary
            • Close Dispatch
            • New 911 Call
            • Remove 911
          • Custom Blips
            • Get Map Blips
            • Add Blip
            • Modify Blip
            • Remove Blip
          • Street Signs
            • Set Street Sign Config
            • Update Street Sign
          • ERS
            • Set Available Callouts
          • Station Alert
            • Set Stations
        • Civilian
          • Set Character
          • Get Characters
          • New Character
          • Edit Character
          • Remove Character
          • DB Sync: Get Character Links
          • DB Sync: Link Character
        • General
          • Get Servers
          • Set Servers
          • Get Version
          • Set Penal Codes
          • Set API IDs
          • Custom Records
            • API Options for Adding and Modifying Records
            • Get Record Templates
            • New Record
            • Edit Record
            • Remove Record
          • Lookup By Value
          • Lookup Name or Plate
          • Get Account
          • Get Accounts
          • Check API ID
          • Apply Permission Key
          • Modify Account Permissions
          • Kick or Ban User
          • Verify Secret
          • Auth Street Signs
          • Set Postal Config
          • Set Clock Time
          • Send Photo
          • Leave Community
          • Join Community
        • Local Endpoints
          • Smart Lighting
        • Internal
          • FiveM Download
      • API Examples
        • Emergency
          • LUA Examples
            • Dispatch and Emergency Calls
              • New 911 Call
              • Remove 911
              • Add Call Note
              • Set Call Postal
            • Custom Blips
              • Add Blip
              • Add Blips
              • Add Temp Blip
              • Get Map Blips
              • Remove Blip
              • Remove Blip With Subtype
            • General
              • Lookup Name or Plate
          • JavaScript Examples
            • Dispatch and Emergency Calls
              • New 911 Call
              • Remove 911
              • Add Call Note
              • Set Call Postal
            • Custom Blips
              • Add Blip
              • Add Blips
              • Add Temp Blip
              • Get Map Blips
              • Remove Blip
              • Remove Blip With Subtype
            • General
              • Lookup Name or Plate
      • Development Branch
    • 💵Developer Bounties
    • 🌎Translation Support
  • Pricing
    • Pricing FAQ
      • Military and First Responder Discount
      • Expert Installation
      • Accessing the Payment Center
      • Create and Manage a Subscription
      • Request Discord Role
    • View and Compare Plans
  • Roadmap
    • 📋Changelog
  • Other
    • AI QA
    • Contact Us
    • Policy
      • Rocket CAD Closure
      • Terms of Service
      • Privacy Policy
      • Refund and Purchase Policy
      • Discord Bot
    • Archive
      • Fire Siren
Powered by GitBook
On this page
  • Installation Video
  • Installation Guide
  • 1. Download Release
  • 2. Extract
  • 3. Configure and Rename
  • 4. Server Config
  • 4.5. Convar Overrides
  • 5. Configure Push Events
  • 6. Installing Plugins
  • 7. Using the wk_wars2x Radar
  • 8. Steam API Key
  • Updates
  • Commands
  • Troubleshooting
  • Server Crashes
  • Warning: Could not find file X

Was this helpful?

Edit on GitHub
  1. Roadmap
  2. v2.X.X - Legacy

Framework Installation

Sonoran CAD's plugin framework imports common API method wrappers and functionality. Installing our integration framework is easy! Learn more below.

Last updated 10 months ago

Was this helpful?

ll Sonoran CAD integration plugins require the standard version of Sonoran CAD or higher. For more information, see our page.

Looking for VPS, web, or dedicated hosting? Check out our official ! Sonoran Servers customers receive free plugin installation and 30% off their monthly CAD subscription!

Installation Video

Installation Guide

1. Download Release

2. Extract

If you already have the wk_wars2x resource, please remove it from your resources folder and use the Sonoran version included with the framework download.

3. Configure and Rename

Open sonorancad\config.CHANGEME.json, update the values, then save it as config.json. Default configuration is below:

{
    "communityID": "",
    "apiKey": "",
    "mode": "production",
    "postTime": 5000,
    "serverId": "1",
    "primaryIdentifier": "steam",
    "apiSendEnabled": true,
    "debugMode": false,
    "updateBranch": "master",
    "statusLabels": ["UNAVAILABLE", "BUSY", "AVAILABLE", "ENROUTE", "ON_SCENE"],
    "allowAutoUpdate": true,
    "autoUpdateUrl": "https://raw.githubusercontent.com/Sonoran-Software/SonoranCADLuaIntegration/{branch}/sonorancad/version.json",
    "allowUpdateWithPlayers": false,
    "noUnitTimer": false,
    "forceSetApiId": false,
    "enablePushEventForwarding": false,
    "pushEventForwardUrl": "https://host",
    "disableOverride": false,
    "bodycamEnabled": true,
    "bodycamBeepFrequency": 300000,
    "bodycamScreenshotFrequency": 2000,
    "bodycamPlayBeeps": true,
    "bodycamOverlayEnabled": true,
    "bodycamOverlayLocation": "top-right",
    "bodycamCommandToggle": "bodycam",
    "bodycamCommandChangeFrequncy": "bodycamfreq"
}

Configuration Details

Option
Description

communityID

apiKey

postTime

Update locations every x ms. Default 5000. It is recommend to not set this lower than 5000 ms due to rate limiting.

serverId

primaryIdentifier

The identifier type your community uses in the CAD to enter their API IDs. Valid values are: license, steam, or discord.

apiSendEnabled

When disabled, the integration will not send any API requests to SonoranCAD.

debugMode

When set to true, useful debugging information it outputted to the console. Keep disabled in production due to console spam. This can be toggled by entering sonoran debugmode in console.

updateBranch

Use this branch when checking for updates. Keep master unless you know what you're doing.

statusLabels

allowAutoUpdate

When enabled, the resource will update itself. When disabled, it will simply show an update notification every 2 hours.

autoUpdateUrl

Where to check for updated versions. Don't touch this unless you have a reason.

allowUpdateWithPlayers

When enabled, it will run the updates even with players on the server. The updater will stop/start all associated resources which could cause client crashes. When disabled, the resource "waits" until there are no players.

noUnitTimer

When set to true, the CAD will not check every minute for a current unit list. Should only be enabled for troubleshooting issues with the unit cache.

enableCanary

When enabled, allows the CAD to update to beta (aka canary) releases.

enablePushEventForwarding

Enables push event forwarding to the specific URL defined in the next option. NOTE: DO NOT ENABLE IF YOU DO NOT KNOW WHAT YOU ARE DOING (Used for custom development only!)

pushEventForwardUrl

forceSetApiId

When enabled, the tablet resource will show an alert message stating they must set their API ID.

disableOverride

4. Server Config

Add the following to your server.cfg (if you don't want pNotify or wraith, leave those out):

It is very important that the sonoran_updatehelper resource is not started manually. Doing so may cause a server crash if updates are available due to a race condition.

DO NOT start the whole [sonorancad] folder as that will also start the sonoran_updatehelper which might cause crashing if it is started manually. Example of not what to do ensure [sonorancad]

ensure pNotify
ensure wk_wars2x
ensure sonorancad
ensure tablet

# permissions for auto-updater (REQUIRED)
add_ace resource.sonorancad command allow
add_ace resource.sonoran_updatehelper command allow

4.5. Convar Overrides

Starting with framework version 2.6.2, you can override any configuration option in your config.json file by specifying a convar before the sonorancad resource starts.

This feature does not work with arrays (like statusLabels). Any other configuration option can be set using the sonoran_<configSettingHere> format.

5. Configure Push Events

In the CAD admin panel, navigate to: Advanced > In-Game Integration Expand the "Server Events and Integrated Live Map" section.

Enter your server's public IP address and your game server's port. By default, this is port 30120.

5A. Admin Panel Configuration

5B. Forward Push Events to an External Server

You may wish to also send push events to another external web server, like a Discord bot.

In the framework configuration file, simply set enablePushEventForwarding to true and pushEventForwardUrl to your web server address.

6. Installing Plugins

7. Using the wk_wars2x Radar

As of new installations, the configuration file has been renamed to prevent it being overwritten by updates. To use the radar for the first time, you must rename the file config.dist.lua within the wk_wars2x folder to config.lua.

8. Steam API Key

Then, paste it into your server.cfg

# Steam Web API key
# If you want to use Steam authentication (https://steamcommunity.com/dev/apikey) # -> replace "" with the key
set steam_webApiKey "YOUR_KEY_HERE"

Updates

Sonoran CAD's integration framework and plugins will automatically update with the latest features, fixes, and changes!

Or, run sonoran update to instantly check and apply any updates for the framework core.

Commands

The Sonoran CAD integration framework comes with several commands. These commands can be run in your server console to provide information, update plugins, and more.

Command
Description

sonoran help

Display list of commands

sonoran update

Run core/framework updater

sonoran pluginupdate

Run plugin updater

sonoran plugin <name>

Display information about a plugin

sonoran debugmode

Toggle debug mode on/off

sonoran info

Dump version info and configuration data

sonoran support

Dump information for support staff

Troubleshooting

Server Crashes

1. Check to make sure sonoran_updatehelper or [sonorancad] is not being started in your server.cfg.

It is very important that the sonoran_updatehelper resource is not started manually. Doing so may cause a server crash if updates are available due to a race condition.

DO NOT start the whole [sonorancad] folder as that will also start the sonoran_updatehelper which might cause crashing if it is started manually. Example of not what to do ensure [sonorancad]

We have gotten isolated reports of servers crashing with the following error, this is assumed to be related to having lower end VPS hardware specs and txadmin rebooting the server because the update process is taking too long.

Warning: Could not find file X

1.) Check that the file in question is actually present in the specified file path. To find the correct path please read the example below:

Started resource sonorancad (3 warnings)
^3Warning: Could not find file `html/config.js` (defined in fxmanifest.lua:16^7

In this example, you would navigate to the sonorancad resource, open the html folder and ensure the file config.js is present.

This is simply a WARNING, if the resource works AS EXPECTED, you can simply ignore the warning and continue

View our for help on installing our framework.

Download the

Your SonoranCAD .

from your In-Game Integration settings.

If using in Sonoran CAD, specify the ID here.

Should match what you have set in your CAD's settings.

URL to forward push events to. NOTE: DO NOT ENABLE IF YOU DO NOT KNOW WHAT YOU ARE DOING (Used for custom development only!)

By default, the framework will try and automatically correct your if it detects something different. Set this to true to disable this functionality.

For information regarding the bodycam script config values, please see our

Set your game server port and IP address in the admin panel of Sonoran CAD. The map port can be left blank, unless you are also installing the .

Learn more about .

Check out our to make the integration useful. For basic functionality, we recommend at least the , , and plugins. You can also view our .

If your framework has the primaryIdentifier set to steam in the (used for your API ID type), you'll need to ensure a Steam API key is set in your server.cfg file.

You can register a new Steam API Key at

2. Try updating your smartsigns plugin manually to the latest version. This is done by copying over the lua files from the latest release found and overrideing the old files.

installation tutorial video
latest zip file from our Github.
Bodycam Plugin guide.
integrated live map
configuring multiple servers
Available Plugins
locations
callcommands
postals
standard plugin installation guide
http://steamcommunity.com/dev/apikey
here
configuration
Community ID
API Key
multiple servers
unit status code
server's IP, port, and outgoing IP address
pricing
server hosting
Web server
Sonoran Servers - Discount and Free Plugin Installation
Extract the zip file into your resources directory. Keep the [sonorancad] folder intact.
Be sure to call your new file config.json
Sonoran CAD - Game Port