Intermédiaire ⏱ 10 min Mis à jour le 29 juillet 2026

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 :

  1. ouvrez votre serveur Discord ;
  2. accédez aux Paramètres du serveur ;
  3. ouvrez la rubrique Intégrations ;
  4. sélectionnez Webhooks ;
  5. cliquez sur Nouveau webhook ou Créer un webhook ;
  6. donnez-lui un nom, par exemple Logs FiveM ;
  7. sélectionnez le salon de destination ;
  8. 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 :

  1. ouvrez les paramètres Discord ;
  2. accédez à Intégrations, puis Webhooks ;
  3. supprimez le webhook compromis ;
  4. créez-en un nouveau ;
  5. remplacez l’ancienne URL dans la configuration FiveM ;
  6. redémarrez la ressource ;
  7. 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_ressource dans server.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.