Configuration

Panel configuration reference

Every section of your server's configuration in the panel, what each setting does, what it ships as, and when to move it. Changes apply to the server live — no restart, no file edits.

Settings

Learning Modedefault on, 24 hours

Runs every detection without acting on it. Recommended for the first day of any install and after any big script change. The hours field is a timer after which enforcement turns on by itself; 0 disables the timer so it stays on until you turn it off.

Enforcementdefault on

The global kill switch. Off, the resource still detects and reports everything but never bans or kicks. Learning Mode is the same idea with a timer.

Ban and kick messages

What a removed player sees. {banId}, {reason} and {appealUrl} are substituted. The connection card shows the same information more legibly for banned players.

Command prefixdefault argus

The chat and console command name. Change it if it collides with another resource.

Handshake timeoutdefault 45 s

A client that has not completed the Argus handshake within this many seconds of joining is kicked. Raise it for players on very slow connections.

Livenessdefault on, every 20 s, timeout 90 s

After the handshake the server challenges each client on a schedule and the client answers with a signature and a census of its own detection loops. A client that stops answering has had Argus killed; one whose loops stop advancing has had them killed one by one. The timeout is how long without a valid answer before resource.client_silent fires.

Screen connectionsdefault on

Run the deferred connection checks — Chainban and ArgusNet — while the player is still on the loading screen, so a banned identity never loads in.

Ignored resources

Resources that must not be instrumented. Same warning as config.lua: only add a script that fails to start with Argus installed. Everything else you add here makes Argus less accurate about your server.

Detections

Every detection Argus ships, grouped by how much it can be trusted. Each row has the same five controls:

Enabled

Off means the detection does not run at all. When you turn one off the panel asks why and records it with your name and the date, so six months from now nobody re-enables something that was muted for a reason.

Actiondefault per detection

Ban removes the player and records a ban. Kick removes them for now. Flag records it and raises it in the panel and Discord for a human to look at. Log only records it. The shipped defaults never ban on a client-only signal.

Threshold and window

How many hits inside a rolling window of this many seconds before the action fires. A threshold of 3 in 60 means the third hit inside any minute acts. Threshold 1 acts on the first.

Ban duration

Optional per-detection override of how long a ban lasts. −1 is permanent.

The full list, with what each one catches and what can legitimately trip it, is the Detection catalogue.

Security Rules

Your own detections. A rule listens to one stream — detections, connections, chat, entities, events or the Resource API — matches on conditions that are ANDed together, and acts: ban, kick, flag, log, block (cancel the thing that matched where that is possible), or fire a webhook or Discord alert. Each rule has a cooldown so a matching player is acted on once per period rather than once per frame. Capped at fifty rules, because five hundred is a configuration nobody can reason about.

Entity Guard

Entity Guarddefault on

Master switch for model blacklists, spawn rate limits and whitelist zones. Off means entity creation is not inspected at all.

Spawn rate limitdefault 25 per 10 s

Scripted entities one player may create per 10 seconds before entity.spawn_flood fires. Ambient population the client streams in — traffic, pedestrians, parked cars — is never counted. Per-class overrides for vehicles (15), peds (20) and objects (60) sit under it; 0 means use the global limit.

Explosion burst limitdefault 6 per 10 s

Weapon-class explosions — grenades, rockets, sticky bombs, mines — one player may own per 10 s before combat.explosion_spam records a hit. Vehicle, fuel and fire explosions never count, whoever owns them.

Particle and fire burst limitsdefault 25 per 10 s each

Networked particle effects and fires one player may start per 10 s before exploit.ptfx_spam or exploit.fire_spam fires. These are the two most common crash-and-troll vectors and the limits are generous for honest scripts.

Allowed explosions

Explosion types permitted from clients. Empty allows everything, subject to the rate limits; non-empty means only those numeric types pass.

Minimum Integrity to spawndefault 0

Reject entity creation from players whose Integrity Score is below this. 0 disables the gate.

Blacklists

Vehicles, peds, objects and weapons by model name. Block cancels the spawn, allow exempts the model from every other entity check, log lets it through and records it. A block rule also carries what happens to the player — nothing, kick, temporary ban or ban — set on the Model Library page, because stopping a spawn and removing the person are different decisions. The shipped blacklist covers military vehicles, weaponised vehicles, dangerous props, animals and heavy weapons.

Whitelist zones

Areas where entity classes may be created; with exclusive set, the listed classes may only be created inside zones. For servers where every vehicle should come out of a garage script.

Delete on blockdefault on

Delete an offending entity instead of only recording it.

Player limits

Max armourdefault 100

player.armour_over_max fires above this. Raise it to match what your scripts hand out rather than disabling the detection.

Max healthdefault 0 (game default of 200)

player.health_over_max fires when the server reads a player's health, or the ped's own maximum, above this. 0 means the game default of 200. If your scripts raise max health above 200, raise this to match rather than disabling the detection.

Weapon Table

The values the combat checks compare against: base damage per body shot, rounds per minute, and range in metres (reach, for melee). Argus ships a table for every stock weapon. If your server sells modified weapons, register them here — per weapon hash — instead of turning the combat detections off. Impossible Hit Distance fires above twice the range and never below 80 metres, so a generous entry costs nothing and a stingy one flags honest long shots.

Combat tuning

The thresholds behind the server-side aim and damage checks. They ship tuned for stock weapons and ordinary latency; a server with modded weapons, a racing crowd or players on the far side of the world moves a number here instead of muting a detection.

Behind the shoulder linedefault 100°

Degrees off the shooter's facing past which a landed hit counts toward aimbot.off_axis. Normal aim stays inside about 30°; the gap up to the default is left for the server's copy of a heading being a moment stale. Lower it only if your players' pings are consistently low.

Hits needed / insidedefault 3 in 60 s

How many hits past that angle, inside how many seconds, before it fires. One is lag, two is bad luck, three is a pattern.

Minimum distancedefault 4 m

Closer than this and the angle is not judged at all: at arm's length a sidestep is ninety degrees.

Switch time / separationdefault 160 ms, 45°

For aimbot.target_switch: hits on two different players inside this many milliseconds, that far apart as seen from the shooter, count as the aim having jumped rather than moved. Hits from one trigger pull never count.

Different players hit / insidedefault 4 in 300 ms

For combat.mass_damage: how many distinct players, each in its own damage event, inside how many milliseconds. Raise the count on servers that run large organised shootouts.

Weapon swap gracedefault 3000 ms

For combat.phantom_weapon: after a swap, a hit from the previous weapon that lands inside this window is still honest. Raise it for high-latency players; below a second it will flag honest swaps.

Event Sink

Rotate event namesdefault on

Argus's own net event names are obfuscated per session so a dumped list goes stale on the next restart.

Encrypt payloadsdefault on

Payloads between the resource and the client are encrypted.

Honeypotsdefault 8

Fake event names published alongside the real ones. Nothing legitimate ever calls them, so a call is a menu enumerating events.

Rate limit multiplierdefault 1

Applied on top of the per-event baselines Argus learns from your own traffic. Above 1 is more lenient, below 1 stricter.

Protected events and exceptions

Protected events are refused (block) or recorded (log) when triggered from a client. Exceptions are exempt from rate detection entirely — for the chatty-but-honest events every framework has, where the learned baseline is still not generous enough.

Connections

Require clean namedefault off

Reject names that are not letters, digits, spaces or _ - . [ ].

Block duplicate identifiersdefault off

Refuse a connection whose strong identifiers are already on someone connected. Off by default: a player rejoining after a crash can briefly overlap themselves, and refusing that is worse than allowing the rare genuine clone.

VPN screeningdefault off

Via proxycheck.io with your own API key — Argus does not proxy it, so your quota and your players' IPs stay between you and the provider. Fails open: an unreachable provider never locks the front door. Action is log or kick.

Integration

Discoverydefault on

Read-only: enumerates resources, reads manifests, indexes events. Safe to leave on; it never writes to a file you own.

Auto-installdefault off

Whether Argus may write the integration line into other resources' manifests on its own. Off by default on purpose: it rewrites files you own, and an owner who has not agreed to that in so many words has not agreed. First boot scans, reports what it would change, and prints the one command that does it.

Integrate escrowed resourcesdefault on

Escrow encrypts the source bundle, not the manifest — the server reads the manifest in plaintext to know what to load, so adding a line to it has been routine for years. Escrowed paid scripts are frequently the ones most worth protecting. Turn it off if a vendor's resource ever objects; Argus also reverts automatically if an integrated resource stops loading.

Shadow modedefault on

No learned event policy can kick or ban however it is individually set. Your week-one safety net, and where a fresh install starts.

High-risk ceilingdefault 30 per minute

A hard cap for events whose handler moves money, items or permissions, regardless of what the profile learned. This is the anti-poisoning rule: observation may lower a limit, never raise it past here. Without it, an attacker patient enough to spam slowly teaches Argus that spamming is normal.

Event policies

What Argus learned about each event in your resources: discovered, profiled, constrained, high-risk or blocked. A policy starts in shadow so you see what it would have done against a week of real traffic before it can act on anyone. Discovering an event in a legitimate resource tells Argus what the event is, never that a given call is authorised.

Integrity

Every player carries an Integrity Score. Confirmed hits remove points by severity; clean play earns them back.

Starting scoredefault 100

Where every new player begins.

Recovery per hourdefault 2

Points earned back per hour of clean play. Credited minute by minute while the player is online — paused for any minute in which a detection fires — and for the hours they are away between sessions.

Ban belowdefault 0 (never)

Below this the player is banned on score alone — but only once a server-observed detection that itself kicked or banned has contributed to it. Client-reported signals can drain the score and never reach a ban by themselves. 0 means the score never bans by itself — the shipped default, so every ban traces to a specific detection.

Watch belowdefault 60

Below this every action by the player is recorded in full detail.

Restrict belowdefault 35

Below this entity creation and event rates are tightened for that player.

Chainban

Strictnessdefault balanced

How aggressively identifiers are linked into one identity. Lenient links only on the strongest identifiers; strict links on anything shared.

Link ondefault every identifier except IP

Which identifier kinds create a link when shared. IP is off by default because households and VPN exits share it.

Cascadedefault on

Ban every linked identity when one is banned.

ArgusNet

Consume / contributedefault on / on

Read reputation data from the network of Argus servers, and send your confirmed bans back to it.

Minimum corroborationdefault 2

How many independent servers must have banned an identity before it counts against a player on yours.

Actiondefault flag

What happens when a known identity connects. Flag by default so a human decides.

Logging

Discord webhooks

Separate webhooks for bans, detections, connections, staff actions and system events, so each goes to the channel that wants it.

Database mirrordefault off

Mirror chosen streams into a MySQL or Postgres database you control. The connection string is written to the resource host only and never stored in the panel in plaintext.

Retentiondefault 30 days

How long logs are kept in the panel, up to a year.

Screenshots

Capture on severitydefault 4 and above

Take a screenshot of the player's game on any detection at or above this severity, at the chosen quality, and optionally attach it to the Discord ban log. Evidence for the appeal you are going to get.

Clipsdefault on, armed, 15 s, 12 fps, 854 px, 1200 kbps

A recording of the seconds before a kick or ban, made in the player's own game and attached to the detection and the ban. Armed (the default) starts recording at a player's first hit or when they enter the watch band and stops after fifteen quiet minutes, so clean players cost nothing and the run-up to nearly every action is already recorded. Always records every player, for owners who want the clip on first-hit actions and accept the cost. When the action lands, the server holds the drop for up to four seconds while the game uploads; it never waits longer. The panel plays the WebM at once and offers an MP4 a few seconds later.