DRS Anti-VPN

Impede que jogadores banidos voltem com VPN: bloqueia ligações por VPN, proxy e datacenters logo na entrada.

v2.3.9 StandaloneQBCoreQboxESX drs_antivpn
Ver na loja

Impede que jogadores banidos voltem com VPN: bloqueia ligações por VPN, proxy e datacenters logo na entrada, com filtro de países, exceções para a staff e registo no Discord.

#Requisitos

Nenhum. Usa o serviço proxycheck.io — sem chave são 100 verificações por dia; com a chave grátis são 1000.

#Instalação

  1. Cria uma conta grátis em proxycheck.io e copia a tua chave.
  2. Cola-a no config.lua:
config.lua
Config.ApiKey = 'a-tua-chave'
  1. Adiciona ao server.cfg:
server.cfg
ensure drs_antivpn

#Como funciona

  • Ao entrar, o IP do jogador é verificado uma vez e o resultado fica em cache durante Config.CacheHours horas.
  • IPs da rede local nunca são verificados.
  • Quem estiver em Config.Whitelist ou tiver a ACE drs.antivpn.bypass entra sempre.
  • Se o serviço falhar (sem internet, limite diário atingido), Config.AllowOnError decide se o jogador entra.
server.cfg
add_ace group.admin drs.antivpn.bypass allow

#Opções principais

OpçãoPor defeitoDescrição
Config.BlockVPNtrueBloqueia VPNs e proxies
Config.BlockHostingtrueBloqueia IPs de datacenters (VPS, servidores)
Config.CountryMode / Config.Countriesblock / vazioallow = só estes países entram; block = estes não entram
Config.AllowOnErrortrueDeixa entrar se o serviço falhar
Config.CacheHours24Horas de cache por IP
Config.Whitelistvaziolicenses/Discord que entram sempre
Config.DiscordWebhook''Regista cada bloqueio

Os países usam códigos ISO, por exemplo { 'PT', 'BR' }.

#Comandos de consola

ComandoO que faz
drs_antivpnMostra as estatísticas (verificados, bloqueados, cache)
drs_antivpn clearLimpa a cache

#Configuração completa

config.lua
Config = {}

-- Idioma / Language: 'pt' ou 'en'
Config.Locale = 'pt'

-- Chave grátis do proxycheck.io (sem chave: 100 verificações/dia; com chave grátis: 1000/dia)
-- Free proxycheck.io key (no key: 100 checks/day; free key: 1000/day) - https://proxycheck.io
Config.ApiKey = ''

-- O que bloquear / What to block
Config.BlockVPN = true            -- VPN e proxies / VPNs and proxies
Config.BlockHosting = true        -- IPs de datacenters (servidores, VPS) / datacenter IPs

-- Países (códigos ISO). 'allow' = só estes entram; 'block' = estes não entram; lista vazia = desligado
-- Countries (ISO codes). 'allow' = only these join; 'block' = these can't join; empty list = off
Config.CountryMode = 'block'      -- 'allow' | 'block'
Config.Countries = {}             -- ex.: { 'PT', 'BR' }

-- Se o serviço falhar (sem internet, limite diário), deixar entrar? / If the service fails, let players in?
Config.AllowOnError = true

-- Guardar o resultado de cada IP (horas) para poupar pedidos / Cache each IP result (hours)
Config.CacheHours = 24

-- Exceções: estes identificadores entram sempre (license:, discord:, fivem:, steam:)
-- Exceptions: these identifiers always get in
Config.Whitelist = {
    -- 'license:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    -- 'discord:123456789012345678',
}
-- Também entra sempre quem tiver esta ACE / Anyone with this ACE always gets in too:
-- add_ace group.admin drs.antivpn.bypass allow

-- Webhook do Discord para registar bloqueios ('' = desligado) / Discord webhook for blocks ('' = off)
Config.DiscordWebhook = ''

-- Mostrar no console cada verificação / Print every check in the console
Config.Debug = false