Documentación 9.6.24
Instalación
Utiliza el paquete de este servidor. Guarda una copia del recurso, ajustes editables y base de datos antes de actualizar.
1. Preparar el servidor#
Usa un artifact de FiveM compatible y revisa OneSync. Conserva la conexión oxmysql funcional. Extrae tosun-ac en resources sin cambiar el nombre. Inicia primero el framework y las dependencias. En el primer inicio, el anticheat necesita permisos locales para crear sus tablas. El puente no requiere importar SQL. Usa el SQL de instalación incluido solo tras una copia de seguridad si faltan tablas.
2. Ajustes solo del servidor#
Copia la licencia desde Servidores y sustituye YOUR_SERVER_LICENSE. Usa set, nunca setr ni sets. No publiques la clave ni la pongas en Lua compartido o de cliente. La conexión de datos del panel (puente) está activada por defecto y no necesita ninguna línea en server.cfg; las líneas antiguas tosun_db_bridge_enabled y tosun_db_bridge_money_write se ignoran y puedes borrarlas.
set tosun_ac_license "YOUR_SERVER_LICENSE"
ensure oxmysql
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian3. Iniciar y comprobar#
Inicia oxmysql antes de tosun-ac durante mantenimiento. Comprueba versión y errores en consola. El puente arranca activado por defecto, sin líneas extra en server.cfg. Comprueba su estado con el comando inferior en la consola del servidor. No envíes claves reales a soporte.
tosunac_db_statusPreparar una instalación recuperable#
Anota la versión del artifact y los nombres de recursos del framework e inventario. Descarga el paquete del servidor correcto en Servers: una licencia o un paquete ajenos pueden conectar otra instalación. Comprueba la suscripción de pago y tu permiso de administración. Mantén el ZIP privado.
- Guarda una copia de tosun-ac, la configuración editable y la base de datos del juego. Comprueba que puedes abrirla antes de sustituir archivos.
- Extrae el paquete aparte. fxmanifest.lua debe quedar directamente dentro de tosun-ac, sin otra carpeta tosun-ac anidada.
- Compara tus ajustes con los nuevos valores predeterminados. Conserva cambios deliberados e integraciones; no sustituyas toda la configuración nueva por una antigua.
Dependencias y ajustes privados#
Conserva la conexión oxmysql que funciona. El puente de base de datos del panel y la edición de saldos en línea están activos por defecto, por eso el ejemplo no lleva líneas del puente. Las líneas antiguas tosun_db_bridge_enabled y tosun_db_bridge_money_write se ignoran y puedes borrarlas. Añade las líneas de inicio reales de tu framework e inventario según sus dependencias. No inicies frameworks incompatibles para imitar un ejemplo. Usa set para la licencia: setr replica el valor a clientes y sets publica información del servidor.
El recurso necesita permisos para sus tablas. Prepararlas al iniciar es independiente del puente. Para apagarlo en un servidor, usa Panel → Servers → el servidor → Tosun Connect → Disable connection. Para controlarlo a mano, añade set tosun_db_bridge_manual "1"; entonces tosun_db_bridge_enabled y tosun_db_bridge_money_write se leen de server.cfg y cada uno queda desactivado salvo que valga "1". No importes SQL sin revisar en una base con datos ni pongas contraseñas o licencias en Lua compartido o cliente. Programa mantenimiento: ensure puede reiniciar un recurso que ya está funcionando.
set tosun_ac_license "YOUR_SERVER_LICENSE"
ensure oxmysql
# Inicia aquí tu framework e inventario actuales.
ensure tosun-acVerificar el juego antes de reabrir#
Un recurso iniciado no demuestra que todas las integraciones estén bien. Revisa la versión del manifest, los mensajes y la conexión; entra después con una cuenta de prueba. Ejecuta estos diagnósticos en la consola del servidor. El puente está activo por defecto; disabled solo es esperable en modo manual sin tosun_db_bridge_enabled "1" o con el espejo antiguo del panel activado. El doctor avisa de ajustes arriesgados, pero no los modifica.
Guarda un registro de versión, hora, administrador y flujos probados. Si falla un script propio, reproduce con un jugador de prueba y anota el recurso. Revisa esa integración antes de eximir ampliamente a todos o aumentar sanciones generales.
- Prueba selección de personaje, aparición, reanimación, entrada a casas y salida de garajes sin sanciones inesperadas.
- Comprueba armas de inventario, equipamiento policial y armas de arena con su control o permiso específico.
- Prueba objetos de emotes, teléfono y acciones del personal; identifica en los registros el recurso que necesita integración.
- Si falla el inicio, guarda el primer error relevante y la versión, restaura la copia si hace falta y borra las claves antes de compartir registros.
tosunac_integration
tosunac_doctor
tosunac_db_statusActualizar un recurso sin mezclar dos paquetes#
Trate la actualización como un cambio con un estado anterior y posterior identificable. Mantenga el nombre tosun-ac para conservar las rutas de exports y auxiliares. Compare configs/anticheat_config.lua, configs/anticheat_webhooks.lua y sus integraciones editables con el paquete nuevo; traslade solo ajustes intencionados. Conserve convars privados y entradas de confianza revisadas. Desde 9.6.14, las líneas tosun_db_bridge_enabled y tosun_db_bridge_money_write de server.cfg se ignoran, así que tras la actualización el puente y la edición de saldos en línea para administradores y propietarios del panel quedan activos. Para mantener el puente apagado, use Disable connection en la tarjeta Tosun Connect del servidor o añada set tosun_db_bridge_manual "1"; entonces esas líneas vuelven a aplicarse y cada una queda desactivada salvo que valga "1". Una configuración antigua puede omitir nuevos valores predeterminados; copiar todo el directorio anterior puede dejar módulos obsoletos junto a los nuevos. oxmysql y el core correspondiente deben seguir arrancando antes de tosun-ac, y las integraciones dependientes después.
- Cierre nuevas conexiones durante el mantenimiento y registre la primera salida de inicio, versión instalada y diferencias de configuración.
- Use una sola carpeta tosun-ac activa; guarde la copia fuera del árbol de recursos activos para evitar iniciarla accidentalmente.
- Reconecte un jugador normal de prueba después del reinicio; conservar la sesión anterior no constituye una prueba limpia.
Elegir el diagnóstico según el síntoma#
Empiece por el primer fallo concreto, sin cambiar varias protecciones a la vez. Si el recurso no arranca, revise carpetas, manifiesto y dependencias ausentes. Si arranca sin conectar al panel, compruebe servidor seleccionado, licencia y estado de conexión antes de investigar reglas de juego. Un rechazo de admisión del launcher es otro control y requiere su propio diagnóstico. Si falla solo una casa, arena o tienda de ropa, anote el recurso y la acción y consulte los rechazos de integración. Una cuenta de personal puede estar exenta: su éxito no demuestra que el jugador normal reciba el tratamiento correcto.
- Reproduzca una vez la acción mínima con un personaje normal de prueba y anote el resultado exacto del panel o consola.
- Compare con la última configuración funcional, corrija la dependencia o integración responsable y repita esa prueba.
- Quite claves privadas del informe; no desactive la confianza ni todas las detecciones para esconder un síntoma.
Restaurar un estado conocido y comprobarlo#
Prepare la vuelta atrás antes del mantenimiento. Conserve copias compatibles del recurso y configuración, orden de arranque anterior y cambios de convars. Si la nueva versión impide conectarse o realizar una tarea necesaria, restaure el paquete conocido y compruébelo. Restaurar Lua no revierte cambios de dinero, elimina trabajos del panel ni recupera la base de datos. No borre tablas AC, sanciones o detecciones como reparación de instalación. Si cambió la base de datos, su responsable debe valorar una recuperación independiente considerando los datos escritos desde la copia.
- Restaure primero solo los archivos y ajustes afectados; pruebe inicio, conexión normal y la acción que fallaba.
- La edición de saldos está activa por defecto. Hasta revisar la instalación recuperada y cualquier operación de saldo incierta, desactive la conexión en la tarjeta Tosun Connect del servidor y compruebe el saldo en el juego antes de enviar de nuevo un cambio. Tras la revisión, vuelva a activarla con Enable connection en la misma tarjeta. Un paquete restaurado anterior a 9.6.14 mantiene el comportamiento antiguo: sin las líneas de server.cfg, el puente queda apagado.
- Documente qué restauró y por qué, para que la próxima actualización corrija la causa reproducible.
Revisar los directorios del archivo extraído#
Extraiga primero en una carpeta de trabajo independiente. Compruebe anidación accidental como tosun-ac/tosun-ac, fxmanifest.lua en la raíz y carpeta separada tosun-ac-guardian si se incluye. No agrupe archivos por extensión: el manifiesto usa rutas client, shared, configs, editable, server y html. Una configuración copiada fuera de la ruta prevista puede no utilizarse.
Un error @oxmysql/lib/MySQL.lua exige revisar dependencia, no renovar licencia. Para html/index.html ausente examine NUI y estructura. Restaure la ruta del paquete correcto sin mezclar módulos de otra versión. Revise INSTALL.sql opcional contra el esquema existente y haga copia antes de aplicar. ZIP, carpeta preparada y recurso activo deben formar una cadena clara. Priorice el primer error de inicio frente a mensajes acumulados.
Comprobar qué lado carga los secretos#
El nombre no determina lo que reciben jugadores. configs/anticheat_config.lua está en shared_scripts y carga en servidor y cliente. No añada licencia, credencial API privada ni contraseña de base a esa tabla. Archivos cliente y html/NUI tampoco almacenan secretos. Que una configuración sea editable y legible no vuelve apropiados todos sus campos para credenciales.
Revise archivos modificados. Mantenga licencia en server.cfg protegido con set del servidor, nunca setr o sets. Configure webhook en configs/anticheat_webhooks.lua del servidor y oculte su dirección en capturas. Borrar un secreto distribuido al público o cliente no retira copias previas; valore sustituirlo. Registre que se comprobó archivo y lado de carga, sin copiar el valor secreto en la aceptación.
Avanzar por pequeñas etapas de aceptación#
Divida el mantenimiento en cuatro etapas: conexión y core existentes, inicio del AC, flujo normal del jugador y el puente del panel, activo por defecto. No abra la siguiente hasta observar el resultado actual. Compruebe primero las funciones normales del framework e inventario en uso; añadir otro core puede ocultar la causa. Después relacione la salida del tosun-ac activo con el paquete instalado. Pruebe el juego con un personaje que no disfrute de exenciones de personal. La edición de saldos en línea para administradores y propietarios del panel también está activa por defecto; para probar el puente basta una lectura, sin cambiar ningún saldo.
Anote hora, resultado esperado y observado en una línea por etapa. Si funciona la selección de personaje pero falla la salida del garaje, vuelva al primer flujo roto en lugar de descargar todo otra vez. El juego funcionando y una lectura del puente completada son aceptaciones distintas. Ocultar temporalmente un mensaje no aprueba la etapa anterior. Resuelva la dependencia pendiente antes de avanzar y vuelva al uso normal tras comprobar las etapas necesarias. El registro mantiene claras las fases completadas y pendientes.
Interpretar mensajes de consola con su resultado#
Los mensajes de inicio con colores no significan todos lo mismo. Una comprobación de armas/inventario esperando un inventario compatible no es una detección contra un jugador; revise proveedor y core. La ausencia de GetSelectedPedWeapon indica que ese módulo no dispone de su native necesario, no que todos los módulos estén desactivados. La salida Integration con enforce y trusted describe la política del llamador, pero no demuestra un flujo de juego correcto. Parta del texto completo, no solo del color.
Connected del puente confirma la comunicación de salud; la consulta de un personaje debe completarse por separado. Waiting: oxmysql_unavailable apunta a dependencias, mientras Panel unavailable or not authorized exige investigar conexión o autorización. Este último no demuestra por sí solo un fallo de licencia. El puente está activo por defecto; enabled=false en el comando de estado solo es esperable en modo manual sin tosun_db_bridge_enabled "1" o con el espejo antiguo del panel activado. Si la conexión se desactivó en la tarjeta Tosun Connect, el comando de estado sigue mostrando enabled=true y el panel rechaza las solicitudes del servidor; el último estado del panel puede mostrar solo Panel unavailable or not authorized. Ante ese mensaje, compruebe primero que la tarjeta Tosun Connect del servidor muestra la conexión activada y después revise la licencia y la red. Guarde primer error anterior, recurso, hora y acción actual en el informe. Separar advertencias de inicio y sanciones de jugadores facilita el diagnóstico.
Descargar para el servidor correcto#
Inicie sesión y seleccione el mismo servidor en Servidores y Descargas. Se requieren un plan con descarga y permiso para administrar ese servidor. El ticket está ligado a sesión, usuario y servidor, dura 90 segundos y solo puede usarse una vez.
Si vence o se consume, solicite otro ticket desde el panel. Guarde primero el ZIP: descargar no actualiza el recurso en ejecución. Una licencia en URL, Bearer o X-License-Key no autoriza la descarga. No guarde tickets ni cookies en scripts de instalación.
Guardar credenciales solo en el servidor#
Use set en server.cfg o la tabla credentials de configs/anticheat_server.lua. Un convar no vacío tiene prioridad sobre el archivo; el valor compartido antiguo es solo compatibilidad temporal del lado servidor. No use setr ni sets para secretos.
Deje vacíos ts.webPanelKey, ts.Central.token y ts.licenseLock.licenseKey en la configuración compartida. panelKey, centralToken y licenseKey son editables en el archivo exclusivo del servidor. Deje vacías conexiones no utilizadas. Rote las claves expuestas desde su panel: borrarlas del archivo no las revoca.
set tosun_ac_license "YOUR_SERVER_LICENSE"
set tosun_ac_panel_key "YOUR_PANEL_API_KEY"
# Optional: only configure a central connection you use.
set tosun_ac_central_token "YOUR_FIVEM_CENTRAL_TOKEN"
ensure oxmysql
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardianDiagnosticar el inicio y las pausas de Guardian#
Ejecuta tosunac_doctor y luego tosunac_guardian_status en la consola del servidor txAdmin. ready indica recurso iniciado; waiting_dependency un problema de dependencia; transition un inicio/parada en curso; held una pausa temporal deliberada. No confirma pruebas del juego o del esquema SQL.
Inicia oxmysql y tosun_render antes de tosun-ac y después tosun-ac-guardian. Corrige la licencia o versión antes de resume. pause solo está disponible en consola y dura como máximo 30 minutos. Los intentos fallidos se limitan y espacian.
# txAdmin server console:
tosunac_doctor
tosunac_guardian_status
# Pause only during planned maintenance; repair the reported cause first:
tosunac_guardian_pause 300
tosunac_guardian_resumeRevisa el descubrimiento después de las dependencias#
EventScanner comienza tras 30 segundos y se repite cada hora; ejecútalo manualmente con tosunac_eventscan en consola. tosunac_setup es mantenimiento aparte: exige escaneos completos de backdoor y firmas y una huella fresca coincidente antes de aprobar recursos limpios y activos. No certifica ausencia de backdoors. Trabaja con instalación revisada y copia de seguridad. Descubrir eventos no crea validadores de permisos, modifica handlers ni autoriza jugadores.
# txAdmin server console: event discovery only
tosunac_eventscanQué ahorra realmente la caché de escaneo#
Contenido y política sin cambios reutilizan el análisis, pero se comprueban las huellas de contenido; no supone cero acceso a disco. Un cambio obliga a analizar de nuevo. Backdoors: inicio a 25 segundos, cada 30 minutos; recursos: 20 segundos, cada 90 segundos; eventos: 30 segundos, cada hora. signatureScanFirstRun vuelve a comprobar al arrancar incluso con marcador antiguo. Un escaneo parcial, ilegible, con glob no admitido o solo escrow no es un resultado limpio completo ni permite aprobación automática de baseline.
-- Edit the existing configs/anticheat_config.lua tables.
ts.EnforceExportCallerWhitelist = true
ts.EventScanner.autoProtect = false
-- 0 disables only the periodic event scan, not initial/manual discovery.
-- ts.EventScanner.scanIntervalMs = 0Acepta la integración con un jugador normal#
Prueba sin protección de personal ni whitelist: selección de personaje, apariencia, revive, entrada validada a casa, garaje y una recompensa. Luego prueba cancelación, desconexión, reinicio AC y rechazo de solicitudes no autorizadas. Separa resultado del export y recibo de aplicación. El margen legítimo de cámara/movimiento no debe desactivar armas/eventos. Las acciones sensibles usan exports confiables; el margen local no pausa todos los detectores firmados directamente. Registra versión, recurso y resultado esperado/observado sin claves ni contraseñas.
Copiar la licencia Tosun del servidor correcto#
Abra Servidores en TosunDev, seleccione su servidor FiveM y copie su licencia Tosun AC. tac_live_ no es la licencia Cfx.re, sv_licenseKey, el token de Discord ni la clave API del panel.
- Sustituya YOUR_SERVER_LICENSE entre las comillas en server.cfg.
- Coloque tosun_ac_license antes de ensure tosun-ac; use set, nunca setr ni sets.
- Como alternativa, rellene credentials.licenseKey en configs/anticheat_server.lua. Un convar no vacío tiene prioridad.
- No publique la licencia en capturas, chat, shared config ni archivos del cliente.
set tosun_ac_license "YOUR_SERVER_LICENSE"
# Alternative: configs/anticheat_server.lua
# credentials.licenseKey = "YOUR_SERVER_LICENSE"Del ZIP al inicio en txAdmin#
Coloque tosun-ac, tosun-ac-guardian y tosun_render al mismo nivel dentro de resources, cada uno con fxmanifest.lua en su raíz. discord-bot es una aplicación Node.js. El nuevo manifiesto Render declara únicamente gta5; no conserve common junto con gta5.
- Mantenga mysql_connection_string; inicie oxmysql y el framework/inventario existentes antes de Render, AC y Guardian.
- Ejecute refresh en txAdmin y siga el orden indicado. Se admite el alias tosun-render; la carpeta sigue siendo tosun_render.
- tosun_render_status debe indicar started y archivos disponibles. Pruebe también la captura con un jugador.
- Revise el primer error y compruebe la dependencia, carpeta o licencia del servidor seleccionado.
set tosun_ac_license "YOUR_SERVER_LICENSE"
ensure oxmysql
# Start your existing framework/inventory here.
ensure tosun_render
ensure tosun-ac
ensure tosun-ac-guardian
# txAdmin console:
tosun_render_status
tosunac_doctor
tosunac_db_check
tosunac_db_statusEvitar análisis innecesarios tras reiniciar#
En cada arranque se comprueban huellas SHA256 del contenido. Los recursos sin cambios en archivos o reglas reutilizan resultados autenticados en el KVP del servidor, sin repetir análisis costosos de firmas y eventos. Los cambios en archivos, excepciones o reglas invalidan el análisis correspondiente. Las huellas siguen leyendo archivos; no se garantiza un valor fijo de resmon.
- Conserva la caché KVP durante actualizaciones normales; los registros dañados o no verificables se analizan de nuevo.
- El catálogo inicial recoge nombres literales de eventos Lua/JS. Los nombres dinámicos, archivos ilegibles o escrow y DLL no se certifican como completamente analizados.
- La instalación automática manual espera al análisis de seguridad. No aprueba recursos incompletos, sospechosos, modificados o con tiempo agotado.
- Prueba acceso de jugadores, juego normal y acciones administrativas en un servidor de pruebas; evalúa resmon junto con jugadores y carga del framework.