Instalación
Instalación del anticheat — paso a paso
Esta guía te lleva de cero a una configuración funcional. También explica por qué importa cada paso, para que sepas dónde mirar si algo falla.
Antes de empezar — requisitos
| Requisito | Por qué es necesario |
|---|---|
| FiveM artifact 6121+ | Los net events del servidor en los que se apoya el anticheat (giveWeaponEvent, explosionEvent) solo se comportan de forma fiable a partir de esta build. |
| OneSync activado | set onesync on. La propiedad de entidades y las detecciones con autoridad de servidor no funcionan sin él. |
| oxmysql | La única dependencia obligatoria. Baneos, detecciones y ajustes se leen y escriben a través de él. |
| MySQL / MariaDB 10.4+ | ¿Aún sin base de datos? Consulta la guía de base de datos. |
| screenshot-basic (opcional) | Captura capturas de pantalla como prueba en el momento del baneo. |
1. Descargar el paquete
Cuando tu suscripción esté activa: Panel → Servidores → tu servidor → «Descargar anticheat»
O directamente con tu clave de licencia:
curl -H "X-License-Key: YOUR_LICENSE_KEY" \
-o tosun-ac.zip \
https://admin.tosundev.com/api/ac_package_download.php
server/core/anticheat_000_license.lua. Si tu copia aparece en otro sitio, se puede demostrar su origen. No compartas tu paquete ni tu clave de licencia.
2. Extraer en tu carpeta resources
resources/
└── [tosun]/
├── tosun-ac/
└── tosun-ac-guardian/
Ambas carpetas deben estar al mismo nivel. Guardian es un recurso independiente — en un momento verás por qué.
3. Importar el esquema de base de datos
Solo en la primera instalación:
mysql -u USER -p DATABASE < tosun-ac/sql/ts_anticheat.sql
Como alternativa, pon ts.autoSQL = true en configs/anticheat_config.lua, arranca el servidor una vez y vuelve a dejarlo en false.
ℹ️ En las actualizaciones, las diferencias de esquema se aplican automáticamente (ADD COLUMN IF NOT EXISTS) — nada manual.
4. server.cfg — el orden importa
ensure oxmysql
ensure tosun-ac
ensure tosun-ac-guardian
stop tosun-ac y jugar sin ser baneado nunca. El problema es que cuando tosun-ac se detiene, sus propios hilos de protección mueren con él — no puede revivirse solo.
tosun-ac-guardian es un recurso separado, así que sobrevive: ante una parada no autorizada reinicia el anticheat en menos de un segundo y detiene el recurso que emitió el comando. Ambos se vigilan mutuamente — apagarlos a la vez no es posible.
Guardian debe ir después de
tosun-ac.
5. Conectar el panel
En configs/anticheat_config.lua:
ts.webPanelURL = "https://admin.tosundev.com"
ts.webPanelKey = "YOUR_API_KEY"
Obtén la clave API en Panel → Servidores → tu servidor → Clave API.
Puedes dejar ambos vacíos — el anticheat los toma de la tabla panel_settings al arrancar. Si lo configuraste desde el panel, ya están ahí.
6. Arrancar y verificar
Reinicia el servidor. Deberías ver:
[Tosun AC v9.0] NetEventGuard aktif
[AC-Guardian] Aktif — tosun-ac harici gözetmen koruması altında.
Después, dentro del juego:
/ts status → estado de los módulos
/ts test → autodiagnóstico
Panel → AC → Live debería mostrar tu servidor en línea en menos de 30 segundos.
7. Endurecer la plataforma — el paso de mayor valor
# Los clientes no pueden crear entidades en red (vehículos/peds/objetos)
set sv_entityLockdown "relaxed"
# Solo el servidor puede escribir state bags
set sv_stateBagStrictMode "true"
# Secuestro del control de entidades (lanzar vehículos, lanzar jugadores)
set sv_filterRequestControl "2"
# Eventos en red susceptibles de abuso
set sv_enableNetworkedSounds "false"
set sv_enableNetworkedPhoneExplosions "false"
set sv_enableNetworkedScriptEntityStates "false"
# Clientes con ScriptHookV
set sv_scriptHookAllowed "false"
# Archivos de cliente modificados (usados para silent aim)
set sv_pureLevel "1"
El anticheat audita estos valores al arrancar y enumera los que falten. Para que los seguros se apliquen automáticamente:
ts.hardening.autoApply = true
sv_entityLockdown strict puede romper scripts antiguos que spawnean vehículos desde el cliente (algunos concesionarios). Empieza con relaxed, prueba y luego aprieta. Este ajuste nunca se aplica automáticamente.
8. Conceder acceso de administrador
Cualquiera de estas opciones funciona; gana la primera coincidencia:
# 1) server.cfg — ACE
add_ace group.admin tosun.admin allow
add_principal identifier.license:YOUR_LICENSE group.admin
# 2) txAdmin — se reconoce automáticamente (ts.txAdminAuth = true)
# 3) admins/anticheat_admins.lua
Admins = { "license:xxxxxxxxxxxxxxxxxxxxxxxx" }
# 4) Panel → AC → Admin Grants
Abre el menú con /tsmenu, /ts menu o F7.
Lista de verificación de instalación
- ☐ La consola muestra
NetEventGuard aktif - ☐ La consola muestra
[AC-Guardian] Aktif - ☐ Ningún bloque rojo
GUVENLIK UYARISI(o has omitido deliberadamente las convars listadas) - ☐ El servidor aparece en línea en el panel
- ☐
/tsmenuse abre para un administrador - ☐
/tsmenuno hace nada para un jugador normal
Problemas frecuentes
| Síntoma | Causa y solución |
|---|---|
Expulsión con Anticheat failed to load | Nunca llegó un heartbeat del cliente. Suele ser una descarga lenta — sube ts.HeartBeat.firstHeartbeatDeadline. Si afecta a todos, confirma que oxmysql arranca antes que tosun-ac. |
| Un administrador es baneado | Comprueba que se le reconoce: /ts whoami. El identificador en admins.lua debe coincidir exactamente (incluido el prefijo license:). Los permisos del panel pueden tardar hasta 20 segundos. |
| Jugadores normales pueden abrir el menú | Estás en v8.x. Actualiza a v9.0 — era una vulnerabilidad conocida. |
| Los botones del menú no responden | La NUI no pudo cargar SweetAlert2 desde su CDN. v9.0 usa un respaldo automático; revisa la consola NUI (F8 → nui_devtools). |
| No se emite ningún baneo | Revisa ts.punishType y ts.DetectionPunishments — una detección asignada a LOG nunca banea. ts.Debug debe estar en false. |
| Siguen apareciendo NPC ambientales | Pon ts.NpcBlocker.enabled = true y blockPeds = true. Los peds creados por scripts nunca se eliminan a propósito. |
Actualizar
- Descarga el nuevo paquete desde el panel (misma URL — siempre sirve la última build para tu licencia)
- Haz copia de tus carpetas
configs/,admins/yeditable/ - Sustituye la carpeta del recurso
- Restaura tus archivos de configuración — nunca se ofuscan precisamente para que puedas seguir editándolos
- Reinicia
Al pedir soporte, incluye tu Build ID (en server/core/anticheat_000_license.lua) — identifica tu build exacta.