Detection · live

Anti-VPN

Anti-VPN classifies the network endpoint of an incoming connect. It runs at the connect path and emits a verdict that the operator's chosen mode (observe / score / enforce) turns into action. Five independent layers contribute; the verdict is the consensus.

What it protects against

Operators on FiveM commonly want to block evasion patterns — a player banned on identifier A coming back on identifier B from a fresh VPN endpoint, or alt-account farming through cheap datacenter IPs. Anti-VPN gives the connect path enough network context to make that decision.

How the detection stack works

Five independent layers feed the final verdict. None of them produces enforcement on its own.

LayerSourceStrength
Offline IP → ASN / ISP lookupMaxMind plus our internal blacklistHigh — runs locally, no API roundtrip on the connect path.
Commercial VPN / proxy classificationThree independent partner intel sources, consensus-mergedHigh when at least two agree; surfaces as vpn / proxy.
Tor exit listDaily pull from the public exit-node listDefinitive — surfaces as tor.
Client-signal cross-validationWebRTC, latency-pattern and timezone consistencyMedium — used to detect residential-VPN endpoints that the IP layer can't.
Behavioral pattern detectionIn-house AI systems running on a dedicated EU GPU serverAdvisory — boosts existing scores, never an enforce trigger by itself.

The behavioral layer is deliberately advisory. It looks for things like the same player joining from three different ASNs in 24 hours (VPN rotation), or shared ASN plus hardware-token similarity across accounts (alt clusters). When it has something to say, it flips a soft token in the rule engine; it never overrides an operator's mode setting. See False positives for the boundary.

Datacenter ASNs take precedence over generic VPN-list overlap, because public ASN blacklists routinely mix data-center hosts in. We'd rather call a hosting IP a datacenter than mislabel it as a VPN.

Modes

ModeBehavior
observeDetection runs and produces a verdict, but no player-facing action is taken. Verdicts are written to the audit log so operators can review tuning before going live.
scoreThe verdict contributes to the player's aggregate risk score. Action is triggered when the score crosses the operator-configured threshold combined with other signals — never from this single check alone.
enforceThe verdict triggers the operator-configured action immediately (deny / queue / kick). Operators choose which actions a verdict maps to per server.

Verdicts

These are the verdict strings you'll see in dashboard logs and in the API response. They're stable strings — your tooling can match on them.

VerdictWhat it means
vpnEndpoint matches a known commercial VPN provider.
proxyAnonymizing proxy (open or commercial).
datacenterServer-hosted IP — cloud, hosting or scraping infrastructure. Datacenter takes precedence over generic VPN-list overlap.
torActive Tor exit node. Refreshed daily from the public exit list.
residential_vpnResidential-IP-based VPN (consumer-privacy services that route through real residential connections). Scored separately from commercial VPNs.
behavioral_alt_clusterJoins from this endpoint correlate with multi-account alt patterns. Advisory on its own; functions as a multiplier when combined with other verdicts. Never an enforce trigger by itself.
clearedEndpoint did not match any of the above.

Latency & cadence

< 50 ms
Connect-path lookup (typical)
In-process cache hit after the first lookup of an endpoint. Cold lookups are a one-time cost per endpoint per cache window.
~ 192 ms
Boot-time pull (cold)
First scheduler tick after resource start. Measured on a representative European host, FiveM artifact 5500+, sample of 20 cold starts.
every 15 min
Behavioral correlation pass
Off-path job that re-evaluates behavioral signals across recent joins. Doesn't affect the connect path.
daily, 03:00 UTC
ASN whitelist refresh
Public ASN allowlists pull once a day. Datacenter signals take precedence over generic VPN-list overlap.

Methodology: measurements are p99 over a representative sample, not median. Where we cite a number, we keep the bench script in the resource repo so we (and you) can reproduce it.

Operator recommendation

  • Roleplay (RP) servers: enforce on datacenter and tor; score on vpn and residential_vpn.
  • Competitive servers: enforce on everything except residential_vpn; that one stays on score with a higher threshold.
  • Build / test servers: observe across the board — you want logs, not kicks.