Connection
Config.LicenseKeystringdefault ''Your licence key exactly as it appears in the panel. Leave it empty and set the convar in server.cfg instead if you prefer to keep keys out of the resource folder:
set argus_license "ARG-PL-XXXXX-XXXXX-XXXXX-XXXX"Config.Endpointurldefault 'https://api.arguss.ac/v1'The API endpoint. Only change it if support asks you to, or you run the self-hosted enterprise build against your own deployment.
Config.Localestringdefault 'en'Language for player-facing text: kick reasons, ban screens, chat replies. Must match a file in locales/. Ships with en, fr, de, es, pt, nl, pl. The panel language is set separately, per user.
When the API is unreachable
Config.OfflineMode'protect' | 'log' | 'off'default 'protect'What to do once the API has been unreachable for longer than the grace period.
protect keeps enforcing with the last known configuration and ban list (recommended). log keeps detecting but stops banning and kicking until the API returns. off disables all protection until it returns.
Config.OfflineGraceMinutesnumberdefault 5How long the API may stay unreachable before OfflineMode kicks in.
Config.OfflineCachebooleandefault trueCache the configuration and active ban list to disk, so a server restart during an API outage still comes up protected. Written inside the resource's own folder.
Console output
Config.ConsoleLoggingbooleandefault truePrint a line to the server console for every detection, in addition to the panel. Useful while setting up; noisy on a busy server.
Config.Debugbooleandefault falseVerbose internal diagnostics. Only turn this on when support asks.
Config.StartupBanner'full' | 'compact' | 'off'default 'full'What Argus prints once the server has finished loading every resource: the wordmark with version, mode and API state; a single line; or nothing. Printed last on purpose, because a banner shown at boot is long gone by the time anyone reads the console.
Timing
Config.FlushIntervalseconds, 1–15default 2How often telemetry is flushed to the API. Lower means a more responsive live panel and slightly more outbound HTTP.
Config.CommandIntervalseconds, 1–15default 3How often the server polls for commands issued from the panel or Discord — bans, kicks, screenshots. Lower means panel actions land faster.
Config.SpawnGraceMsmillisecondsdefault 15000How long after spawning before Argus starts reading a player's state.
While a session is starting, the engine and every framework legitimately make the ped invincible and invisible, hold it at the origin, and teleport it once the world streams in. A check that runs during that window is detecting loading, not cheating — the single biggest source of false positives in a FiveM anti-cheat. Argus also waits out screen fades, cutscenes and player switches regardless, so this is a floor. Raise it if your spawn flow is unusually long; there is no benefit to lowering it.
Safety
Config.RefuseWithOtherAntiCheatbooleandefault trueRefuse to start if another anti-cheat is detected on the server. Two at once produce false positives in both. Set to false only while migrating and deliberately running them side by side for a day.
Config.ReportUnauthorisedStopbooleandefault trueReport Argus being stopped without an authorised command. A normal restart is not reported: Argus recognises txAdmin's shutdown announcement and treats several resources stopping at once as a server going down. What is left is Argus alone being stopped while the server keeps running — what a compromised admin account or a malicious script does before cheating.
Config.IgnoredResourcesstring[]default {}Read this before adding anything. Adding a script here does not reduce false bans — it does the opposite. Argus uses its knowledge of your scripts to tell a legitimate action from a cheat; a script listed here becomes invisible, so every action it performs looks like it came from nowhere.
Only add a resource here if it fails to start with Argus installed. Script errors are never caused by Argus; if you are seeing errors, open a ticket rather than adding entries.
Config.ExtraStaffPrincipalsstring[]default {}Extra ACE principals treated as staff, on top of the permissions below. Most servers leave this empty and use the ACE permissions directly.
Permissions
Config.Permissionstabledefault { bypass = 'argus.bypass', commands = 'argus.commands', admin = 'argus.admin' }The ACE permission names Argus checks. Rename them only if they collide with something you already use. What each one grants is on the Permissions page.
Config.PanelStaffbooleandefault trueLet staff seats assigned in the panel hold the permissions above in-game. ACE is always checked first, so nothing here can take a permission away. false ignores the panel roster entirely.
In-game staff menu
An overlay staff open in game to see who is connected, what Argus has flagged, and act without leaving the server: spectate, screenshot, freeze, warn, message, kick, ban with a duration, review a detection as a false positive, and — for admins — bring, go to, teleport, lift bans and clear entities. Nothing the menu shows or does is decided by the player's game client; every action is re-checked server-side and logged to the panel.
Config.Menu.Enabledbooleandefault trueTurn the whole menu off. The chat commands keep working either way.
Config.Menu.Keystringdefault 'F6'Default key. Players can rebind it under Settings → Key Bindings → FiveM. Leave as '' to ship no default and let each staff member choose.
Config.Menu.Commandstringdefault 'argusmenu'Chat command that opens the same menu, for anyone who has rebound the key away.
The connection card
What a player sees while Argus screens them, and what a banned player sees instead of a plain kick message: the ban ID, reason, date, who issued it and when it expires, with buttons to appeal or open your Discord. A player who can read their own ban ID does not open a ticket asking for it.
Config.ConnectCard.Enabledbooleandefault truefalse falls back to the plain one-line deferral text.
Config.ConnectCard.Titlestring | nildefault nilThe card heading. nil uses your server name from the panel, falling back to sv_projectName.
Config.ConnectCard.Subtitlestringdefault 'Protected by ARGUS'The line under the heading.
Config.ConnectCard.LogoUrlurl | nildefault nilSquare image, https only, ideally 128×128 or larger.
Config.ConnectCard.SupportUrlurl | nildefault nilYour Discord invite. Shown as a button on the refusal card.
Config.ConnectCard.AppealUrlurl | nildefault nilWhere a banned player appeals. The panel's appeal URL wins if you set one there.
Config.ConnectCard.StepDelayMsmillisecondsdefault 900Pause after each completed screening step. Screening is usually fast enough that every step would finish in one frame and the player would see nothing; this is what makes the four steps read as four steps. 0 updates as fast as the checks finish.
Config.ConnectCard.MinDisplayMsmillisecondsdefault 12000The card stays up for at least this long in total. Be honest with yourself about this number — it is added to every join, every time. 12000 gives a player time to notice the server is protected; much beyond 20000 and you are taxing your own players for branding. A refused player never waits this out.
Config.ConnectCard.RejectDwellMsmillisecondsdefault 2500How long a refused player is left looking at the reason before the connection closes. Below about 1500 the card is torn down before it renders.