FiveM Anticheat: cómo proteger tu servidor de cheaters

Guía de fivem anticheat por capas: validación server-side, permisos ACE, scripts seguros y cómo evaluar un anticheat dedicado para blindar tu servidor.

Equipo Cube Resources

Tarde o temprano llegará: un jugador spawneando dinero, otro volando por el mapa, un tercero disparando desde el otro lado de la ciudad. Buscar “fivem anticheat” y comprar lo primero que aparezca no te va a salvar, porque ningún producto compensa un servidor mal protegido de base. La seguridad real de un servidor de FiveM se construye por capas, y la mayoría de ellas son gratuitas: dependen de cómo está escrito tu código y configurado tu servidor. En esta guía repasamos las amenazas reales y las cinco capas de defensa que deberías tener, en orden de importancia.

Las amenazas reales

Antes de defender, conviene saber de qué te defiendes. Esto es lo que de verdad hace daño en servidores de roleplay:

  • Mod menus: menús de cheating inyectados en el cliente que permiten al atacante ejecutar código, spawnear entidades, teleportarse o volverse invulnerable.
  • Inyección de eventos: la técnica más dañina y menos vistosa. El cheater dispara directamente los eventos de red de tus scripts con los parámetros que le convienen. Si tu tienda tiene un evento que entrega items, él lo llamará sin pagar.
  • Spawn de dinero e items: casi siempre es consecuencia de lo anterior; un evento de recompensa mal protegido se convierte en una impresora de billetes.
  • Blips y ESP: visualización de jugadores, policía o mercancía a través de las paredes. No rompe la economía, pero destroza el roleplay competitivo.
  • Crasheos y abuso de OneSync: spawn masivo de entidades para tirar el servidor o la zona.

Fíjate en un detalle: la mayoría de estas amenazas explota tu código, no el juego. Por eso la primera capa de defensa no es un producto, es una disciplina.

Capa 1: server-side first, no confíes nunca en el cliente

La regla de oro de la seguridad en FiveM: todo lo que llega del cliente puede ser mentira. Cualquier evento de red puede dispararse con parámetros arbitrarios, así que la validación tiene que vivir en el servidor. Compara:

-- VULNERABLE: confía en lo que envía el cliente
RegisterNetEvent('shop:server:buyItem', function(itemName, price)
    local player = QBCore.Functions.GetPlayer(source)
    player.Functions.RemoveMoney('cash', price)
    player.Functions.AddItem(itemName, 1)
end)

El cheater dispara este evento con price = 0 y se lleva lo que quiera gratis. La versión correcta ignora todo dato sensible del cliente y lo resuelve en servidor:

-- SEGURO: el servidor decide precio y validez
RegisterNetEvent('shop:server:buyItem', function(itemName, amount)
    local src = source
    local player = QBCore.Functions.GetPlayer(src)
    if not player then return end

    local item = Config.ShopItems[itemName]
    if not item then return end

    amount = tonumber(amount)
    if not amount or amount < 1 or amount > 10 then return end

    local total = item.price * amount
    if player.Functions.RemoveMoney('cash', total, 'shop-purchase') then
        player.Functions.AddItem(itemName, amount)
    end
end)

Los principios son siempre los mismos: el precio sale de la configuración del servidor, nunca del cliente; se comprueba que el item existe y que la cantidad es razonable; y el dinero se retira antes de entregar nada, comprobando que la operación tuvo éxito. Añade a esto validaciones de contexto (¿está el jugador cerca de la tienda?, ¿tiene el trabajo requerido?) y habrás cerrado la puerta principal por la que entran los cheaters.

Dos refuerzos adicionales que cuestan poco: limita la frecuencia con la que un mismo jugador puede disparar eventos sensibles (nadie compra cincuenta veces por segundo de forma legítima) y evita nombres de eventos genéricos que faciliten adivinarlos. No es un cifrado mágico, pero cada fricción cuenta.

Capa 2: permisos y ACE en server.cfg

FiveM incluye un sistema de permisos nativo (ACE) que se configura en server.cfg y que txAdmin complementa con su propio sistema de roles para el panel. Bien usado, limita el daño incluso si alguien compromete una cuenta de staff:

add_ace group.admin command.kick allow
add_ace group.admin command.ban allow
add_ace group.mod command.kick allow
add_principal identifier.license:abc123def456 group.admin
add_principal identifier.license:789ghi012jkl group.mod

Tres reglas prácticas: da a cada rango solo los permisos que necesita (el moderador que solo modera no necesita poder dar items), usa el identificador license como referencia porque es estable, y revisa la lista de principals cada vez que alguien deje el staff. Un ex-administrador con permisos vigentes es una brecha esperando fecha.

Capa 3: scripts que protegen el dinero y los items

Aunque tu propio código sea perfecto, tu servidor ejecuta decenas de scripts de terceros, y cada evento de dinero o items que ellos expongan es superficie de ataque. Por eso la calidad de los scripts que instalas es, literalmente, parte de tu anticheat.

Antes de instalar cualquier recurso que toque la economía, pregúntate: ¿valida en servidor o confía en el cliente? ¿Registra las transacciones para poder auditarlas? ¿Limita cantidades y frecuencia? En los scripts de nuestro catálogo esta es una exigencia de diseño: todos los eventos sensibles se validan en servidor, precisamente porque los probamos en producción en nuestro propio servidor de roleplay, donde los cheaters no avisan antes de intentarlo.

Este criterio importa más que cualquier producto de seguridad: un anticheat dedicado puede detectar comportamiento sospechoso, pero no puede arreglar un script que regala dinero a quien se lo pida educadamente.

Capa 4: anticheats dedicados, qué evaluar sin caer en el marketing

Con las tres primeras capas en su sitio, un anticheat dedicado añade una red de detección que tú no puedes construir a mano. No vamos a recomendarte marcas: el mercado cambia rápido y lo que hoy es sólido mañana está abandonado. En su lugar, estos son los criterios para evaluar cualquiera:

  • Detecciones server-side: desconfía de los que presumen solo de protecciones en el cliente; el cliente está en manos del atacante y cualquier protección que viva ahí puede desactivarse. La detección valiosa observa comportamiento desde el servidor: eventos imposibles, teleports, entidades spawneadas fuera de la lógica del juego.
  • Frecuencia de actualizaciones: los cheats evolucionan cada semana; un anticheat sin cambios en meses es un placebo con panel bonito.
  • Gestión de falsos positivos: pregunta cómo se ajustan las detecciones y si permite listas de excepciones por recurso. Un anticheat que banea a jugadores legítimos durante un evento con muchos vehículos te hace más daño que un cheater.
  • Panel y logs útiles: necesitas revisar por qué se baneó a alguien y poder revertirlo con evidencia delante.
  • Compatibilidad con tu stack: frameworks, inventario y OneSync con muchos jugadores. Pide referencias de servidores de tamaño similar al tuyo.

Y mantén las expectativas honestas: ningún anticheat detiene el cien por cien. Su función es subir el coste de hacer trampas y darte visibilidad, no sustituir las capas anteriores.

Capa 5: higiene, staff y logs

La última capa es operativa, y es la que más servidores descuida:

  • No instales leaks. Los scripts filtrados son el vector clásico de backdoors: código ofuscado que abre una puerta remota a tu servidor semanas después de instalarlo. Lo barato sale carísimo; en nuestra guía sobre scripts gratis para FiveM explicamos cómo distinguir el open source legítimo de la trampa, y en el artículo sobre el sistema de escrow de FiveM por qué la protección de assets también protege al comprador.
  • Audita lo que instalas: revisa los eventos que registra cada recurso nuevo y desconfía de código ofuscado fuera del escrow oficial.
  • Registra todo lo sensible: transacciones de dinero, movimientos de items, acciones de administración. Sin logs no hay investigación posible, solo palabra contra palabra. txAdmin cubre parte, tus scripts deben cubrir el resto.
  • Forma a tu staff: un procedimiento claro (observar, documentar, banear con evidencia) evita tanto cheaters impunes como baneos injustos que queman a la comunidad.
  • Protege las credenciales: la contraseña de la base de datos vive en server.cfg; no compartas ese archivo, no lo subas a repositorios públicos y limita quién accede a la máquina. Muchos “hackeos” son simplemente un server.cfg pegado en un Discord.

La seguridad es un proceso, no una compra

Si te llevas una sola idea de esta guía, que sea esta: el mejor fivem anticheat es un servidor cuyos scripts validan todo en el servidor, con permisos mínimos, logs completos y un staff que sabe qué mirar. El producto dedicado es la quinta capa, no la primera. Empieza por auditar tus eventos de dinero e items esta misma semana; es gratis y es donde están los agujeros de verdad.

Y cuando amplíes tu servidor, hazlo con recursos que traten la seguridad como requisito y no como nota al pie: en nuestro catálogo de scripts para FiveM cada recurso pasa por producción real antes de publicarse, con soporte 24/7 para ayudarte también en lo que no se ve en el vídeo de presentación.

Sigue leyendo