RealRyteAC v0.2
===================

1) Place RealRyteAC in your resources folder.
2) ox_lib must start first.
3) For VIDEO EVIDENCE install the current `screencapture` resource by itschip/projecterror.
   It supports server-triggered WebM recording and direct remote upload.
4) FiveManage media key stays SERVER-SIDE in server.cfg:

   set FIVEMANAGE_MEDIA_API_KEY "YOUR_FIVEMANAGE_MEDIA_KEY"

5) Optional Discord webhook (recommended as a server ConVar instead of config.lua):

   set tglac_discord_webhook "YOUR_DISCORD_WEBHOOK"

6) Start order:

   ensure ox_lib
   ensure screencapture
   ensure fmsdk              # optional, only used for structured FiveManage logs
   ensure RealRyteAC

7) Admin permissions:

   add_ace group.admin tglac.admin allow
   add_ace group.admin tglac.bypass allow

   IMPORTANT: tglac.bypass completely bypasses detections for that admin/player.
   Give it only to trusted staff who actually need it.

8) Open panel:

   /acpanel

9) Stop spectating if needed:

   /acstopspectate

EVENT PROTECTION
================
Edit Config.EventProtection.events in config.lua. Example:

Config.EventProtection.events = {
    ['myresource:server:giveReward'] = { maxCalls = 2, windowMs = 10000, score = 80 },
}

Other server resources can also call:

local allowed = exports.RealRyteAC:CheckProtectedEvent(source, 'myresource:server:sensitive', 3, 10000, 80)
if not allowed then return end

ENTITY PROTECTION
=================
Requires OneSync for server-side entity ownership/routing protections. Tune the thresholds to your server.
Do not set very low values if your resources legitimately spawn many props/vehicles/peds at once.

EVIDENCE BEHAVIOR
=================
- Serious detections start a video capture once the configured risk score is reached.
- Auto/manual bans can wait briefly for the clip upload, then store the FiveManage URL in bans.json and Discord.
- If screencapture or the FiveManage key is missing, banning still works; it just has no video URL.
- Video recording is game-view video only. Supported capture implementations do not provide game-output audio/microphone audio.

BYPASSES
========
The panel can persist:
- player identifier bypasses
- event bypasses
- detection-reason bypasses

These are saved in bypasses.json.


RealRyteAC v0.3 Panel Upgrade
- Redesigned Security Operations UI
- Live anti-cheat activity console
- Resource monitor with start/restart/stop controls
- Resource state-change logging
- Dashboard statistics and risk overview

Resource actions require tglac.admin ACE and the panel prevents stopping its own anti-cheat resource.


v1.2 Admin tools
----------------
Player Management now includes POV spectate, Covert spectate, admin ESP, goto/bring, freeze/unfreeze, heal, armor, evidence recording, clear risk, bypass, kick and ban.
Admin ESP is only toggled through the ACE-protected panel and defaults to off. ESP maximum distance is Config.AdminTools.espMaxDistance.


AIM TEST LAB (v1.3)
- Open /acpanel > Aim Test Lab.
- Spawn Dummy creates a LOCAL-ONLY, non-networked ped visible only to the admin.
- Start Assist Test can assist only toward that dummy while the admin is free-aiming.
- Head/chest, FOV, range, smoothing, Legit/Blatant/Snap profiles, and hitbox visualization are configurable.
- Simulation buttons create TEST ONLY detection-style console/Discord/FiveManage entries with zero risk and no ban.
- /acaimstop immediately stops the local aim test.


LIVE PLAYER AIM ANALYSIS (v1.4)
--------------------------------
- Open /acpanel > Aim Test Lab > Live Player Aim Analysis.
- Select an online player and press Start Analysis.
- The selected client reports observation-only camera/free-aim telemetry to the authorized admin through the server.
- Metrics include camera delta, player target ID, snap events, sustained locks, fast target switches, shots seen, and an analysis score/verdict.
- No aim, firing, damage, movement, recoil, or weapon state is changed on the selected player.
- Log Finding records the current review to the AC live console, Discord, and FiveManage without automatically banning the player.
- Sessions automatically expire after Config.AdminTools.aimTest.playerAnalysis.maxSessionSeconds.
- Treat the score as supporting evidence and verify suspicious players with Covert Spectate/evidence before punishment.


RealRyteAC v1.5 Aim Test Lab:
- Active aim-assist testing supports the local dummy and nearby non-player AI/NPCs.
- Live players remain analysis-only; no player aim lock/fire/damage controls are included.
