Logs de FiveM: dónde fallan los webhooks de Discord y qué usar
Los logs con webhooks de Discord chocan con límites, no se buscan por jugador y pierden los adjuntos. Cómo registrar con ox_lib y convertirlo en pruebas.
Por Termi
- Logs
- ox_lib
- Discord
- Evidence
En esta página
- Dónde falla el registro en Discord
- Envía logs estructurados con ox_lib
- Envíalos a FiveDock
- De los logs a las pruebas
- Cuánto tiempo guardar los logs
- Preguntas frecuentes
- ¿Cómo registro las acciones de los jugadores en un servidor de FiveM?
- ¿Sirven los webhooks de Discord para los logs de FiveM?
- ¿Cuánto tiempo debe guardar los logs un servidor de FiveM?
- ¿Puedo usar el logger de ox_lib sin Fivemanage?
La mayoría de los servidores de FiveM registran igual: un canal de Discord por categoría, como dinero, muertes y comandos de admin, y una URL de webhook en cada script. El primer mes funciona. Luego llega una apelación de ban por algo de hace tres semanas, y alguien baja por miles de embeds buscando una sola licencia. Esta guía explica dónde falla el registro en Discord, cómo enviar logs estructurados con ox_lib y cómo convertirlos en pruebas que puedas enseñar al jugador.
Dónde falla el registro en Discord
Envía logs estructurados con ox_lib
ox_lib, que la mayoría de los servidores ESX, QBCore y Qbox ya usan, tiene un logger del lado del servidor. Una llamada donde ocurre la acción sustituye a una petición de webhook:
RegisterNetEvent('bank:transfer', function(to, amount)
local src = source
if not Bank.transfer(src, to, amount) then return end
lib.logger(src, 'money.transfer', ('sent $%d to %s'):format(amount, to), 'amount:' .. amount, 'to:' .. to)
end)Los argumentos son el ID de servidor del jugador, un nombre de evento, un mensaje y cuantas etiquetas clave:valor quieras. ox_lib añade por sí solo el nombre y los identificadores del jugador a cada línea, agrupa las líneas en lotes y las envía al servicio indicado en un convar:
set ox:logger "fivemanage"
set fivemanage:key "fd_live_…"
set fivemanage:dataset "city"ox_lib incluye tres servicios: Datadog, Grafana Loki y Fivemanage. Fivemanage guarda los logs 15 días en el plan gratuito y en el de 8 $, 90 días en Pro por 24 $ y 180 días en Network por 79 $.
Envíalos a FiveDock
FiveDock acepta tal cual los lotes que envía el logger de Fivemanage de ox_lib. ox_lib guarda esa dirección en una línea de imports/logger/providers/fivemanage.lua. Apúntala a FiveDock y usa un token de API de FiveDock con el scope logs:write como fivemanage:key:
endpoint = 'https://api.fivedock.dev/api/logs/batch',Actualizar ox_lib reemplaza ese archivo, así que vuelve a cambiar la línea después de cada actualización o guárdala en tu propia copia de ox_lib.
Cada línea llega a la Black Box con la licencia, el ID de Discord y el nombre del jugador. Al lado está todo lo que el agente de FiveDock registra por su cuenta: errores de scripts, reportes desde el juego y capturas.
De los logs a las pruebas
En Metro, la Black Box convierte esas líneas en una cronología por jugador: todas las líneas registradas de una licencia, desde la conexión hasta la transferencia y la captura, en orden y al segundo. Un botón convierte un tramo en un paquete de pruebas, un enlace que puedes darle al jugador que acabas de banear.
La búsqueda abarca a todos los jugadores, por licencia, matrícula o palabra, y puedes guardar una búsqueda que haces cada noche. Las alertas de economía vigilan las mismas líneas en todos los planes: una transferencia por encima de un umbral, o dinero ganado demasiado rápido, se publica en Discord. En Metro la alerta también hace una copia de seguridad en ese segundo, y las alertas de objetos duplicados detectan el mismo número de serie en dos inventarios.
El enmascarado por rol de Metro mantiene las direcciones reales y los datos de pago lejos de los aprendices, algo que un canal de Discord no puede hacer.
Cuánto tiempo guardar los logs
Las apelaciones suelen llegar en unas semanas tras un ban. Guarda al menos 30 días, que es lo que ofrece FiveDock City por 12 € al mes. Free guarda 7 días, y Metro 90 días más un archivo.
Comparado con Fivemanage
Fivemanage guarda los logs más tiempo por el dinero: 90 días en Pro por 24 $, 180 días en Network. Un plan de FiveDock incluye además alojamiento de archivos, copias de seguridad de la base de datos, reportes y cuentas de staff, así que compara la factura completa. Nuestra comparativa de alojamiento pone ambos lado a lado.
Preguntas frecuentes
¿Cómo registro las acciones de los jugadores en un servidor de FiveM?
Llama a lib.logger de ox_lib en el script de servidor donde ocurre la acción, con el ID de servidor del jugador, un nombre de evento y un mensaje. ox_lib añade los identificadores del jugador y envía lotes al servicio definido en ox:logger. FiveDock acepta el formato de Fivemanage de ox_lib y archiva cada línea bajo el jugador, así que el staff puede leer el historial de un jugador en orden.
¿Sirven los webhooks de Discord para los logs de FiveM?
Como canal de avisos para un servidor pequeño, sí. Como registro se quedan cortos: los webhooks tienen límites de frecuencia, los enlaces de los adjuntos caducan, nada muestra a un jugador a través de varios canales, y cualquiera que encuentre la URL de un webhook puede publicar en él.
¿Cuánto tiempo debe guardar los logs un servidor de FiveM?
Al menos lo que dure tu plazo de apelación, normalmente de dos a cuatro semanas. 30 días bastan para la mayoría de los servidores. Guarda 90 si gestionas solicitudes de reembolso o investigaciones largas.
¿Puedo usar el logger de ox_lib sin Fivemanage?
Sí. Pon ox:logger en datadog o loki para esos servicios, o deja fivemanage y cambia su dirección por la de FiveDock, que acepta los mismos lotes.