AXIOS WRAITH RADAR / ALPR INTEGRATION
Version 1.0.0

Worthy of the mission.


OVERVIEW

This package connects Wraith ARS 2X radar/ALPR activity with AXIOS CAD while
leaving Wraith as the radar and plate-reader interface.

The integration can perform AXIOS vehicle lookups from Wraith plate events,
surface actionable registration/vehicle/owner alerts, prepare the most recent
locked plate for AXIOS MDT use, create an AXIOS traffic stop from the locked
plate, and pass supported radar speed-lock information into the integration.

Wraith ARS 2X remains a separate project created by WolfKnight. AXIOS does not
claim ownership of, partnership with, sponsorship by, or endorsement by the
Wraith project.


PACKAGE CONTENTS

axios-wraith/
    AXIOS Wraith integration resource.

axios-cad-bridge/
    AXIOS CAD Bridge v1.7.22 required by this integration.

wk_wars2x-axios-compat.patch
    Compatibility patch for Wraith ARS 2X v1.3.1. It adds the idempotent plate
    lock export used by AXIOS and radar speed-lock telemetry used by the AXIOS
    integration.

README.txt
    Installation and configuration instructions.


REQUIREMENTS

- FiveM server with OneSync enabled
- AXIOS CAD community
- Wraith ARS 2X v1.3.1 installed as: wk_wars2x
- AXIOS CAD Bridge v1.7.22 or newer
- Linked AXIOS player/unit for protected AXIOS actions


INSTALLATION

1. Install Wraith ARS 2X v1.3.1 from its upstream project.

   Keep the resource folder name:

   wk_wars2x

2. Apply the AXIOS Wraith compatibility patch.

   From the root of the wk_wars2x resource:

   git apply /path/to/wk_wars2x-axios-compat.patch

   If git is not available:

   patch -p1 < /path/to/wk_wars2x-axios-compat.patch

   The patch does not replace or redesign the Wraith interface.

3. Install AXIOS CAD Bridge v1.7.22.

   Replace the existing axios-cad-bridge resource with the axios-cad-bridge
   folder supplied in this package.

   AXIOS connection credentials belong in server.cfg using server-only `set`
   convars. Do not place credentials into client-readable configuration files.

   Example:

   set axios_cad_url "https://axioscad.com"
   set axios_tenant_id "YOUR_AXIOS_TENANT_ID"
   set axios_server_key "YOUR_AXIOS_SERVER_KEY"
   set axios_server_secret "YOUR_AXIOS_SERVER_SECRET"

   The supplied v1.7.22 server configuration already permits the axios-wraith
   resource through the bridge resource ACL. If you maintain custom bridge
   configuration, merge those custom settings into the new version rather than
   restoring an older config/server.lua that omits the axios-wraith ACL entry.

4. Install the AXIOS Wraith resource.

   Copy the supplied folder:

   axios-wraith

   into your FiveM resources directory.

5. Review:

   axios-wraith/config.lua

   before starting the resource.

6. Add the resources to server.cfg in this order:

   ensure wk_wars2x
   ensure axios-cad-bridge
   ensure axios-wraith

7. Restart the affected resources or restart the FiveM server.


AXIOS WRAITH CONFIGURATION

The following options are available in axios-wraith/config.lua:

Config.Enabled
    Enables or disables the AXIOS Wraith integration.

Config.Debug
    Enables additional integration diagnostic logging. Leave disabled during
    normal production operation unless troubleshooting.

Config.PassiveLookupEnabled
    Allows AXIOS vehicle lookups from Wraith plate scan events.

Config.ManualLockLookupEnabled
    Allows AXIOS lookups when a plate is manually locked in Wraith.

Config.NotifyCleanResults
    Controls notifications for plate lookups with no actionable AXIOS alert.

Config.NotifyUnregisteredResults
    Controls notifications when no AXIOS registration record is found.

Config.AutoLockActionableHits
    Allows actionable AXIOS ALPR results to automatically lock the applicable
    Wraith reader when the compatibility patch is installed.

Config.Alerts
    Enables or disables alert categories including BOLO, stolen vehicle,
    warrant, registration, and insurance conditions.

Config.CacheMs
    Positive vehicle lookup cache duration.

Config.NegativeCacheMs
    Cache duration for no-record results.

Config.DuplicateAlertCooldownMs
    Suppresses repeated alert notifications for the same plate/camera during
    the configured cooldown period.

Config.PlayerDebounceMs
    Suppresses rapid duplicate plate scan handling.

Config.RateLimit
    Limits AXIOS lookup requests per player over the configured time window.

Config.UnavailableNoticeCooldownMs
    Controls repeated AXIOS-unavailable notifications.

Config.TrafficStopIntegration
    Enables AXIOS traffic-stop creation from the most recently locked plate.

Config.MdtHandoff
    Enables preparation of the locked plate for AXIOS MDT vehicle lookup.

Config.AutoOpenMdtOnManualLock
    When enabled, allows the integration to open the MDT after a manual Wraith
    plate lock.

Config.RadarTelemetryIntegration
    Enables supported Wraith speed-lock telemetry.

Config.RequireOnDuty
    Requires an active on-duty AXIOS unit for protected integration actions.

Config.RequireWraithCompatForAutoLock
    Requires the supplied Wraith compatibility patch before automatic plate
    locking is attempted.

Config.MaxPlateLength
    Maximum accepted plate length for integration lookups.


COMMANDS

/axioswraithstatus
    Displays AXIOS Wraith integration diagnostics including Wraith state,
    bridge state, bridge readiness, linked/on-duty state, ALPR/radar enablement,
    recent lookup state, and cache count.

/axioswraithvehicle
    Opens the AXIOS MDT for the most recently prepared manually locked plate.

/axioswraithstop
    Creates an AXIOS traffic stop from the most recently manually locked Wraith
    plate when the integration and player/unit state allow it.


RESOURCE ORDER

ensure wk_wars2x
ensure axios-cad-bridge
ensure axios-wraith


TROUBLESHOOTING

If the integration is not responding:

1. Confirm wk_wars2x is started.
2. Confirm axios-cad-bridge v1.7.22 or newer is started and reports ready.
3. Confirm axios-wraith is started.
4. Confirm the player is linked to the correct AXIOS community.
5. Confirm the player has an active AXIOS unit when RequireOnDuty is enabled.
6. Run /axioswraithstatus.
7. Review FiveM server and F8 output for AXIOS Wraith errors.
8. Verify the Wraith compatibility patch applied successfully if automatic
   plate locking or radar speed-lock telemetry is enabled.


SECURITY

Do not place AXIOS tenant credentials, server keys, server secrets, or other
protected integration credentials in axios-wraith/config.lua.

AXIOS credentials are handled by the server-side AXIOS CAD Bridge configuration.

Do not replicate server credentials to FiveM clients.


WRAITH ARS 2X LICENSE NOTICE

The compatibility patch included with this integration modifies portions of
Wraith ARS 2X. The upstream project is distributed under the MIT License.

MIT License

Copyright (c) 2020-2021 WolfKnight

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE.
