Documentation

Everything you need to run Sentinel

From dropping the resource into your server to tuning detection thresholds and wiring up Discord alerts — the full manual lives here.

Introduction

Sentinel AC is a hybrid anticheat for FiveM combining client-side kernel-level detection, server-side validation, and a live admin dashboard. This guide walks you from a clean server through a fully tuned production deployment.

If you're new, follow the sections in order. Each step is independent — you can skip ahead once your server is connected and reporting.

Requirements

  • FXServer build 6683 or newer (artifact 6683+).
  • OneSync enabled (Legacy or Infinity).
  • Outbound HTTPS access from the server to sentinelac.co.uk.
  • A valid Sentinel license key (issued after purchase or trial signup).
  • txAdmin (optional, but required for the admin-bypass tag).

Installation

  1. Download the latest release from the dashboard Builds.
  2. Extract the archive into your server's resources/ directory. The folder must be named sentinel_ac.
  3. Add the resource to server.cfg — load it before your framework and gamemode:
cfg
# server.cfg
ensure sentinel_ac
ensure es_extended      # or qb-core / qbox
ensure my-gamemode

Restart the server. You should see:

[sentinel] online · build 2.4.1 · license OK · 12 modules loaded

License key

Set your key as a server convar so it's never committed to source control. You can find your key under Settings → License in the dashboard.

cfg
set sentinel_license "sk_live_xxxxxxxxxxxxxxxxxxxx"

Keys are bound to your FXServer license, but movable between machines at any time from the dashboard.

Configuration

All configuration lives in config.lua. Defaults are production-ready — only override what you need.

lua
Config = {}

Config.AutoBan        = true   -- auto-ban on score >= threshold
Config.BanThreshold   = 100    -- detection score that triggers a ban
Config.KickThreshold  = 60     -- score that triggers a kick
Config.ScreenshotURL  = "https://your-discord-webhook"
Config.EvidenceClip   = true   -- record last 30s on flag
Config.HeartbeatRate  = 5      -- seconds between client heartbeats

Detection modules

Sentinel ships with 12 detection modules. Toggle individually in config:

ModuleTypeWhat it catches
ac_memoryClientSignature scan for known cheat binaries
ac_injectionClientDLL & module injection into FiveM.exe
ac_luaClientUnauthorized Lua executors & runtime patches
ac_movementServerSpeed hacks, teleport, no-clip, freecam
ac_weaponServerTriggerbot, illegal damage, weapon spawning
ac_economyServerMoney dupes, inventory exploits
ac_eventsServerMalicious net-event triggers
ac_assetsServerAsset/resource integrity & dumper signatures
ac_antidumpServerResource dumping & evidence stripping
ac_connectionServerIdentifier spoofing & ban evasion
ac_adminsServertxAdmin admin role detection
ac_heartbeatBothClient liveness & tamper detection

Custom rules

The rule builder lets you write JSON rules for project-specific exploits without touching Lua. Rules live under Rules in the dashboard.

json
{
  "name": "Block illegal vehicle spawn",
  "event": "esx:spawnVehicle",
  "when": { "model": { "$in": ["LAZER", "HYDRA", "RHINO"] } },
  "action": "kick",
  "reason": "Restricted vehicle"
}

Discord webhooks

Get notified for every detection, ban, or appeal:

lua
Config.Webhooks = {
  detections = "https://discord.com/api/webhooks/...",
  bans       = "https://discord.com/api/webhooks/...",
  appeals    = "https://discord.com/api/webhooks/...",
}

Each payload includes the player, detection score, module, evidence link, and a one-click action button to ban or whitelist directly from Discord.

Admin bypass (txAdmin)

When ac_admins is enabled, players holding an active txAdmin role are tagged with an ADMIN badge in the dashboard and exempt from auto-kick / auto-ban. Detections are still logged for audit purposes.

lua
Config.AdminBypass = {
  enabled = true,
  roles   = { "superadmin", "admin", "moderator" },
}

Admin dashboard

The dashboard is your day-to-day control center:

  • Overview — live detection feed and active player count.
  • Players — searchable roster with full session history.
  • Detections — every flag with evidence playback.
  • Bans / Appeals — moderation queue with audit trail.
  • Rules — visual builder for custom detections.
  • Status — 90-day uptime and incident history.
Click any player in the roster to open a full profile — identifiers, connection history, detections, bans, and admin actions all on one page.

Troubleshooting

Resource fails to start

Check the console for a license error. Confirm sentinel_license is set and the server can reach sentinelac.co.uk over HTTPS.

Players being kicked after a recent update

Lower Config.KickThreshold temporarily and check the dashboard for the triggering module. If a module is misfiring, disable it in config and report the false positive via the dashboard.

Dashboard shows "Anticheat offline"

Heartbeats are missing. Verify the resource is running and that outbound HTTPS isn't blocked by your host's firewall.

Support

Stuck? We're around — open a ticket from the contact page or check the status page if something looks off. Enterprise customers have a direct on-call channel — check your welcome email for details.