Safe Events

Token de sessão em cada evento dos teus recursos, sem mexer no código.

#O que é

Com o guard instalado num recurso, cada TriggerServerEvent desse recurso leva um token de sessão. Um executor ou menu que dispare o evento de fora do script não tem o token e é bloqueado. O guard também limita o spam de eventos, recusa argumentos inválidos e protege exports.

Nota

O segredo do token não está no código: o servidor gera uma chave nova para cada jogador em cada sessão.

#Instalar o guard em todos os recursos

O FXServer não deixa um recurso escrever nos outros, por isso o guard instala-se com o servidor desligado, pelo instalador que vem com o BlackShield:

  • Windows: blackshield/tools/instalar-guard.bat (duplo clique)
  • Linux: sh blackshield/tools/instalar-guard.sh

Escolhe 1) Instalar. O instalador acrescenta uma linha ao fxmanifest.lua de cada recurso e guarda uma cópia do original (fxmanifest.lua.drsbak). 2) Remover repõe tudo. Depois liga o servidor e confirma na consola:

text
acguard status

#Modos

Começa em learn uns dias e só depois passa a enforce:

text
acsafe list              # eventos que chegaram sem token
acsafe exempt learned    # os aprendidos passam a exceção
acsafe mode enforce      # bloqueia e deteta
ModoO que faz
learnSó regista os eventos sem token
enforceBloqueia e deteta ("Evento sem token")
offDesligado

#Iscas

O BlackShield regista eventos-isca com nomes que os menus costumam disparar. Só monta uma isca se o recurso dono não existir e nenhum recurso do servidor usar o evento — nunca apanha um evento legítimo.

Algo não está claro? Abre um ticket.