Logs FiveM : où les webhooks Discord échouent, et quoi utiliser
Les logs par webhook Discord sont limités, introuvables par joueur et perdent leurs pièces jointes. Logguer avec ox_lib et en faire des preuves.
Par Termi
- Logs
- ox_lib
- Discord
- Evidence
Sur cette page
- Où le logging Discord casse
- Envoyer des logs structurés avec ox_lib
- Les envoyer à FiveDock
- Des logs aux preuves
- Combien de temps garder les logs
- Questions fréquentes
- Comment logguer les actions des joueurs sur un serveur FiveM ?
- Les webhooks Discord conviennent-ils aux logs FiveM ?
- Combien de temps un serveur FiveM doit-il garder ses logs ?
- Puis-je utiliser le logger d’ox_lib sans Fivemanage ?
La plupart des serveurs FiveM loggent de la même façon : un salon Discord par catégorie, par exemple argent, morts et commandes admin, et une URL de webhook dans chaque script. Le premier mois, ça marche. Puis une demande de débannissement arrive pour un fait vieux de trois semaines, et quelqu’un fait défiler des milliers d’embeds pour retrouver une seule licence. Ce guide montre où le logging Discord casse, comment envoyer à la place des logs structurés avec ox_lib et comment les transformer en preuves que vous pouvez montrer au joueur.
Où le logging Discord casse
Envoyer des logs structurés avec ox_lib
ox_lib, que la plupart des serveurs ESX, QBCore et Qbox font déjà tourner, possède un logger côté serveur. Un appel à l’endroit où l’action se produit remplace une requête 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)Les arguments sont l’ID serveur du joueur, un nom d’événement, un message et autant de tags clé:valeur que vous voulez. ox_lib ajoute lui-même le nom et les identifiants du joueur à chaque ligne, regroupe les lignes en lots et les envoie au service indiqué dans un convar :
set ox:logger "fivemanage"
set fivemanage:key "fd_live_…"
set fivemanage:dataset "city"ox_lib propose trois services : Datadog, Grafana Loki et Fivemanage. Fivemanage conserve les logs 15 jours dans son offre gratuite et son offre à 8 $, 90 jours avec Pro à 24 $ et 180 jours avec Network à 79 $.
Les envoyer à FiveDock
FiveDock accepte tels quels les lots qu’envoie le logger Fivemanage d’ox_lib. ox_lib garde cette adresse sur une seule ligne de imports/logger/providers/fivemanage.lua. Pointez-la vers FiveDock et utilisez un token d’API FiveDock avec le scope logs:write comme fivemanage:key :
endpoint = 'https://api.fivedock.dev/api/logs/batch',Mettre à jour ox_lib remplace ce fichier : modifiez donc la ligne de nouveau après chaque mise à jour, ou gardez-la dans votre propre copie d’ox_lib.
Chaque ligne arrive dans la Black Box avec la licence, l’ID Discord et le nom du joueur. À côté, on trouve tout ce que l’agent FiveDock enregistre lui-même : erreurs de script, signalements en jeu et captures d’écran.
Des logs aux preuves
Avec Metro, la Black Box transforme ces lignes en chronologie par joueur : toutes les lignes loggées pour une licence, de la connexion au virement jusqu’à la capture, dans l’ordre et à la seconde près. Un bouton convertit un extrait en dossier de preuves, un lien que vous pouvez remettre au joueur que vous venez de bannir.
La recherche couvre tous les joueurs, par licence, plaque ou mot, et vous pouvez enregistrer une recherche que vous lancez chaque nuit. Les alertes d’économie surveillent les mêmes lignes dans chaque offre : un virement au-dessus d’un seuil, ou de l’argent gagné trop vite, est posté sur Discord. Avec Metro, l’alerte déclenche aussi une sauvegarde à cette seconde, et les alertes d’objets en double repèrent le même numéro de série dans deux inventaires.
Le masquage par rôle de Metro garde les vraies adresses et les données de paiement hors de portée des stagiaires, ce qu’un salon Discord ne sait pas faire.
Combien de temps garder les logs
Les demandes de débannissement arrivent en général dans les quelques semaines qui suivent un bannissement. Gardez au moins 30 jours, ce que FiveDock City offre pour 12 € par mois. Free garde 7 jours, et Metro 90 jours plus une archive.
Comparé à Fivemanage
Fivemanage garde les logs plus longtemps pour le prix : 90 jours avec Pro à 24 $, 180 jours avec Network. Une offre FiveDock couvre en plus l’hébergement de fichiers, les sauvegardes de base de données, les signalements et les comptes staff, donc comparez la facture entière. Notre comparatif d’hébergement met les deux côte à côte.
Questions fréquentes
Comment logguer les actions des joueurs sur un serveur FiveM ?
Appelez lib.logger d’ox_lib dans le script serveur où l’action se produit, avec l’ID serveur du joueur, un nom d’événement et un message. ox_lib ajoute les identifiants du joueur et envoie des lots au service défini dans ox:logger. FiveDock accepte le format Fivemanage d’ox_lib et classe chaque ligne sous le joueur, si bien que le staff peut lire l’historique d’un joueur dans l’ordre.
Les webhooks Discord conviennent-ils aux logs FiveM ?
Comme flux de notifications pour un petit serveur, oui. Comme archive, ils sont insuffisants : les webhooks sont limités en débit, les liens des pièces jointes expirent, rien ne montre un joueur à travers plusieurs salons, et quiconque trouve l’URL d’un webhook peut y poster.
Combien de temps un serveur FiveM doit-il garder ses logs ?
Au moins aussi longtemps que votre délai de recours, en général deux à quatre semaines. 30 jours suffisent à la plupart des serveurs. Gardez-en 90 si vous traitez des demandes de remboursement ou de longues enquêtes.
Puis-je utiliser le logger d’ox_lib sans Fivemanage ?
Oui. Définissez ox:logger sur datadog ou loki pour ces services, ou gardez fivemanage et remplacez son adresse par celle de FiveDock, qui accepte les mêmes lots.