Anti-cheatSeguridadFiveM5 min de lectura

Proteger tu servidor FiveM con anti-cheat

Configuración de anti-cheat y medidas de seguridad para evitar tramposos.


¿Por qué necesitás anti-cheat?

Los servidores FiveM públicos son blanco frecuente de cheaters que usan mod menus para spawnar objetos, teletransportarse, crashear el servidor o robar dinero. Un buen sistema anti-cheat protege la experiencia de tus jugadores.

Sistema ACE/ACL como primera barrera

Antes de instalar anti-cheat, asegurate de que los permisos estén bien configurados. En server.cfg:

bash
# Solo admins pueden usar comandos peligrosos
add_ace group.admin command allow
add_ace group.admin command.stop allow
add_principal identifier.fivem:123456 group.admin

Nunca des permisos de admin a jugadores que no conozcas.

Opción 1: Anti-cheat server-side

Los anti-cheat server-side detectan acciones sospechosas sin depender del cliente:

Instalación básica

bash
cd ~/fxserver/server-data/resources/
git clone https://github.com/tu-anticheat-elegido anticheat

En server.cfg:

bash
ensure anticheat

Detecciones comunes

Un buen anti-cheat server-side detecta:

  • Spawneo de entidades: Vehículos o peds creados sin autorización
  • Teleport: Movimiento imposible entre coordenadas
  • Inyección de dinero: Cambios en la economía sin transacción válida
  • Explosiones: Explosiones generadas por mod menus
  • Weapon mods: Daño o cadencia de fuego modificados

Opción 2: Protecciones nativas de FiveM

FiveM incluye algunas protecciones que podés activar:

bash
# En server.cfg
set sv_scriptHookAllowed 0
set sv_enableNetworkedPhoneExplosions 0
set sv_enableNetworkedSounds 0

sv_scriptHookAllowed 0 bloquea ScriptHook (usado por muchos mod menus).

Opción 3: Validaciones en tus scripts

Agregá validaciones server-side en tus scripts de economía y vehículos:

lua
-- Ejemplo: validar que un jugador realmente completó un trabajo
RegisterServerEvent('trabajo:cobrar')
AddEventHandler('trabajo:cobrar', function(monto)
  local src = source
  if monto > 5000 then
    -- Monto sospechoso, loguear y rechazar
    print('[ANTICHEAT] Jugador ' .. src .. ' intentó cobrar $' .. monto)
    return
  end
  -- Procesar pago legítimo
end)

Configurar logs de detección

Enviá alertas a Discord cuando se detecte un cheater:

lua
-- Webhook de Discord para alertas
local webhook = "https://discord.com/api/webhooks/TU_WEBHOOK"

function enviarAlerta(jugador, motivo)
  PerformHttpRequest(webhook, function() end, 'POST',
    json.encode({content = '⚠️ **Detección**: ' .. jugador .. ' - ' .. motivo}),
    {['Content-Type'] = 'application/json'})
end

Baneos automáticos

txAdmin incluye un sistema de baneos integrado. Podés configurar tu anti-cheat para banear automáticamente usando la API de txAdmin o el comando:

bash
txaBan jugador_id motivo duración

Recomendaciones

  • Nunca confíes solo en validaciones client-side (se pueden bypassear)
  • Toda lógica de economía y spawneo debe validarse en el servidor
  • Mantené tu anti-cheat actualizado (los mod menus se actualizan constantemente)
  • Revisá los logs de detección diariamente
  • Combiná anti-cheat automático con moderadores activos en el servidor

¿Te resultó útil esta guía?