Envoyer les logs de votre serveur FiveM dans Discord (webhook)
Connexions, sanctions, transactions, kills… suivre son serveur FiveM depuis Discord change tout pour la modération. Voici comment envoyer vos logs via un webhook.
Pourquoi centraliser les logs FiveM dans Discord ?
Les logs FiveM Discord permettent de centraliser les actions importantes de votre serveur RP dans des salons accessibles à votre équipe. Les modérateurs peuvent ainsi suivre les connexions, sanctions, transactions sensibles ou commandes administratives sans rester constamment devant la console FiveM.
Un webhook Discord est une adresse privée permettant à une ressource FiveM d’envoyer automatiquement des messages dans un salon. Il ne nécessite pas de bot connecté en permanence pour publier de simples notifications.
Les logs sont utiles pour :
- comprendre l’origine d’un incident ;
- vérifier une sanction ;
- repérer une transaction inhabituelle ;
- suivre les actions administratives ;
- conserver une chronologie des événements importants ;
- faciliter la coordination de l’équipe de modération.
Ils ne remplacent toutefois pas la console txAdmin. Celle-ci reste indispensable pour consulter les erreurs techniques, les démarrages de ressources et les messages de FXServer. Consultez le guide pour démarrer avec txAdmin afin de compléter votre système de surveillance.
Un bon système de logs enregistre les événements utiles, pas chaque action réalisée sur le serveur. Trop de messages rendent les incidents importants difficiles à repérer.
Créer un webhook dans Discord
Commencez par créer un salon textuel réservé aux logs. Vous pouvez, par exemple, organiser votre serveur Discord ainsi :
CATÉGORIE : LOGS SERVEUR
├── logs-connexions
├── logs-moderation
├── logs-economie
├── logs-administration
└── logs-erreurs
Limitez l’accès à ces salons aux personnes qui doivent réellement consulter les informations enregistrées.
Pour créer un webhook depuis Discord :
- ouvrez votre serveur Discord ;
- accédez aux Paramètres du serveur ;
- ouvrez la rubrique Intégrations ;
- sélectionnez Webhooks ;
- cliquez sur Nouveau webhook ou Créer un webhook ;
- donnez-lui un nom, par exemple
Logs FiveM; - sélectionnez le salon de destination ;
- copiez l’URL du webhook.
L’URL obtenue suit une structure semblable à celle-ci :
https://discord.com/api/webhooks/IDENTIFIANT/JETON_SECRET
Ne recopiez jamais une véritable URL dans une documentation, une capture d’écran ou un dépôt public.
Vous pouvez créer un webhook différent pour chaque catégorie :
Webhook 1 → connexions et déconnexions
Webhook 2 → sanctions et commandes administratives
Webhook 3 → transactions économiques
Webhook 4 → erreurs critiques
Cette séparation facilite la lecture et permet d’attribuer des droits différents selon les salons.
Configurer un script de logs FiveM
Votre serveur doit disposer d’une ressource capable d’intercepter les événements puis d’envoyer les informations vers Discord. Certains frameworks, scripts de modération, anticheats ou systèmes d’administration intègrent déjà cette fonction.
Avant d’installer une nouvelle ressource, recherchez dans sa configuration des termes comme :
Webhook
DiscordLogs
Logging
Logs
WebhookURL
Une configuration Lua peut ressembler à ceci :
Config.Webhooks = {
connections = "VOTRE_WEBHOOK_CONNEXIONS",
moderation = "VOTRE_WEBHOOK_MODERATION",
economy = "VOTRE_WEBHOOK_ECONOMIE"
}
Ou à une configuration plus simple :
Config.Webhook = "VOTRE_URL_DE_WEBHOOK"
Config.EnableLogs = true
Remplacez uniquement la valeur prévue par le développeur :
Config.Webhook = "https://discord.com/api/webhooks/IDENTIFIANT/JETON_SECRET"
Ne modifiez pas le reste du code si la documentation ne vous le demande pas.
Si vous installez une ressource dédiée, son arborescence peut prendre cette forme :
resources/
└── [logs]/
└── discord_logs/
├── fxmanifest.lua
├── config.lua
├── client.lua
└── server.lua
Ajoutez ensuite la ressource dans server.cfg :
ensure discord_logs
Respectez ses dépendances. Un script utilisant ESX, QBCore, oxmysql ou ox_lib doit démarrer après les composants concernés :
ensure oxmysql
ensure ox_lib
ensure es_extended
ensure discord_logs
Pour QBCore :
ensure oxmysql
ensure ox_lib
ensure qb-core
ensure discord_logs
Avant toute modification importante, des sauvegardes automatiques sont incluses pour vous aider à restaurer. Conservez aussi vos propres exports réguliers : vous restez responsable de vos données.
Utilisez une ressource maintenue et provenant d’une source fiable. Un script de logs accède à des événements sensibles et peut transmettre des informations vers un service externe.
Choisir les événements à enregistrer
Tous les événements ne méritent pas un message Discord. Commencez par les actions utiles à la modération et à la sécurité.
Connexions et déconnexions
Un log de connexion peut contenir :
Joueur : JeanRP
Action : Connexion
Date : 29/07/2026 à 21:42
Identifiant interne : 154
Pour une déconnexion, ajoutez la raison lorsque FiveM la fournit :
Joueur : JeanRP
Action : Déconnexion
Raison : Timed out
Sanctions
Enregistrez les expulsions, bannissements et avertissements avec :
- le joueur concerné ;
- le membre de l’équipe responsable ;
- le motif ;
- la date ;
- la durée de la sanction ;
- l’identifiant du dossier si vous en utilisez un.
Exemple :
Action : Bannissement
Joueur : JeanRP
Modérateur : Admin01
Motif : Freekill répété
Durée : 7 jours
Transactions économiques
Les logs économiques sont utiles pour les opérations importantes :
- transferts d’argent élevés ;
- dépôts et retraits de société ;
- achats de véhicules ;
- attribution d’objets rares ;
- modifications administratives d’un inventaire.
Évitez de publier chaque achat courant. Définissez plutôt un seuil ou sélectionnez les actions les plus sensibles.
Kills et événements de combat
Ces logs peuvent aider à traiter les plaintes pour freekill ou non-respect des règles. Conservez le contexte disponible sans envoyer une notification pour chaque dégât mineur.
Commandes administratives
Enregistrez en priorité :
noclip
giveitem
giveaccountmoney
setjob
revive
teleport
ban
kick
Les noms exacts dépendent de vos ressources. Une commande administrative sensible doit pouvoir être reliée à son auteur.
Ne transmettez pas inutilement des mots de passe, chaînes de connexion MySQL, clés Cfx.re, adresses de webhook ou autres secrets dans les logs.
Sécuriser les webhooks Discord
L’URL d’un webhook contient un jeton secret. Toute personne qui la récupère peut tenter d’envoyer des messages dans le salon associé.
Ne placez jamais une URL réelle dans :
- un dépôt GitHub public ;
- une capture d’écran ;
- un fichier partagé avec toute la communauté ;
- un message Discord accessible aux joueurs ;
- une archive de démonstration ;
- un support transmis sans nettoyage.
Dans une documentation, remplacez-la par :
Config.Webhook = "VOTRE_WEBHOOK_ICI"
Limitez également l’accès aux fichiers contenant les webhooks. Tous les membres du staff n’ont pas besoin d’accéder au gestionnaire de fichiers du serveur.
Si une URL est exposée :
- ouvrez les paramètres Discord ;
- accédez à Intégrations, puis Webhooks ;
- supprimez le webhook compromis ;
- créez-en un nouveau ;
- remplacez l’ancienne URL dans la configuration FiveM ;
- redémarrez la ressource ;
- vérifiez qu’aucun message frauduleux n’a été publié.
Pour des interactions plus avancées, comme des commandes, boutons ou réponses dans les deux sens, un bot Discord est plus adapté qu’un simple webhook. Consultez le guide pour héberger un bot Discord 24 h/24 et 7 j/7.
Dépanner des logs qui n’arrivent pas
L’URL est incorrecte
Recopiez le webhook depuis Discord et vérifiez qu’aucun espace ni retour à la ligne n’a été ajouté.
Config.Webhook = "https://discord.com/api/webhooks/IDENTIFIANT/JETON_SECRET"
Une erreur HTTP 401, 403 ou 404 peut indiquer un webhook invalide, supprimé ou inaccessible.
La ressource ne démarre pas
Consultez la console txAdmin et recherchez :
Couldn't start resource discord_logs
Couldn't find dependency
SCRIPT ERROR
Vérifiez le fxmanifest.lua, les dépendances et la ligne :
ensure discord_logs
Le format envoyé est invalide
Discord attend un contenu valide, généralement sous forme de texte ou d’embed JSON. Une erreur 400 signifie souvent que les données envoyées sont mal structurées.
Lorsque vous développez votre propre système, l’envoi serveur peut utiliser la fonction FiveM PerformHttpRequest :
PerformHttpRequest(webhookUrl, function(statusCode)
print(("Webhook Discord : statut %s"):format(statusCode))
end, "POST", json.encode({
username = "Logs FiveM",
content = "Le serveur vient de démarrer."
}), {
["Content-Type"] = "application/json"
})
Conservez cet appel dans un script serveur, pas dans un fichier client exposé aux joueurs.
Discord limite temporairement les envois
Discord applique des limites de fréquence. Si votre ressource envoie trop de messages, elle peut recevoir une réponse 429 Too Many Requests.
Réduisez alors le volume de logs, regroupez les événements répétitifs et utilisez une file d’attente respectant le délai indiqué par Discord. Ne relancez pas immédiatement la même requête en boucle.
Les causes les plus fréquentes sont une URL révoquée, une ressource non démarrée, un JSON invalide ou un trop grand nombre de messages envoyés en peu de temps.
En résumé
- Les logs FiveM Discord centralisent les connexions, sanctions, transactions et actions administratives.
- Créez le webhook dans Paramètres du serveur > Intégrations > Webhooks.
- Utilisez de préférence un salon et un webhook par catégorie importante.
- Placez l’URL dans le fichier de configuration prévu par votre ressource.
- Ajoutez
ensure nom_de_la_ressourcedansserver.cfg. - Démarrez le framework et les dépendances avant le script de logs.
- Enregistrez les événements utiles sans saturer vos salons Discord.
- Ne transmettez jamais de clé Cfx.re, mot de passe MySQL ou autre secret.
- Ne publiez pas l’URL du webhook : elle permet d’envoyer des messages dans le salon.
- Supprimez et recréez immédiatement tout webhook compromis.
- Vérifiez les erreurs HTTP et les messages de la console si les logs n’arrivent pas.
- Pour centraliser les logs FiveM Discord sur un serveur hébergé en France avec panel de gestion, stockage NVMe, Anti-DDoS L3/L4/L7 inclus et support francophone, consultez l’offre serveur FiveM TalCloud.