{"id":164317,"date":"2024-10-27T18:10:39","date_gmt":"2024-10-27T17:10:39","guid":{"rendered":"https:\/\/hifivem.com\/?p=164317"},"modified":"2026-07-05T14:37:15","modified_gmt":"2026-07-05T12:37:15","slug":"comment-deboguer-votre-serveur-fivem","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/fr\/how-to-debug-your-fivem-server\/","title":{"rendered":"Comment d\u00e9boguer un serveur FiveM \u00e9tape par \u00e9tape"},"content":{"rendered":"<p>D\u00e9boguez un probl\u00e8me FiveM en reproduisant un sympt\u00f4me, en trouvant la premi\u00e8re erreur pertinente et en modifiant une cause sur un serveur de test. Conservez les derniers fichiers fonctionnels et la base de donn\u00e9es correspondante avant de toucher \u00e0 la production.<\/p>\n<h2 id=\"choose-the-right-evidence\">Choisissez les bonnes preuves<\/h2>\n<p>Un crash client uniquement ou une erreur d\u2019interface utilisateur n\u00e9cessite la sortie F8 du joueur affect\u00e9 et les \u00e9tapes de reproduction. Une sortie de processus serveur n\u00e9cessite les logs FXServer\/h\u00f4te et toute r\u00e9f\u00e9rence de crash. Un chargement lent n\u00e9cessite un chronom\u00e9trage par \u00e9tape ; un faible FPS n\u00e9cessite des preuves de temps de trame client. Plusieurs joueurs qui laguent ensemble peuvent n\u00e9cessiter des mesures de serveur et de r\u00e9seau.<\/p>\n<p>Enregistrez l\u2019heure UTC, les joueurs affect\u00e9s, l\u2019emplacement, l\u2019action, l\u2019artefact, les versions du framework\/ressource et les changements r\u00e9cents. Masquez les identifiants et les informations personnelles des logs partag\u00e9s.<\/p>\n<h2 id=\"read-the-first-error\">Lisez la premi\u00e8re erreur<\/h2>\n<p>Utilisez votre environnement de lancement r\u00e9el : la console txAdmin et ses logs configur\u00e9s, un journal de service ou une sortie de processus redirig\u00e9e. Il n\u2019existe pas de chemin server-data\/server.log universel pour chaque installation.<\/p>\n<p>Lisez la premi\u00e8re erreur li\u00e9e \u00e0 la ressource, avec le fichier, le num\u00e9ro de ligne et la trace de pile. Des exports manquants signal\u00e9s ensuite peuvent r\u00e9sulter de l\u2019\u00e9chec ant\u00e9rieur d\u2019une d\u00e9pendance. Pour une valeur nil, examinez le code qui la produit et la mani\u00e8re dont elle est renvoy\u00e9e avant d\u2019ins\u00e9rer une valeur par d\u00e9faut.<\/p>\n<h2 id=\"reproduce-safely\">Reproduisez en toute s\u00e9curit\u00e9<\/h2>\n<ol>\n<li>Cr\u00e9ez une copie isol\u00e9e avec une configuration repr\u00e9sentative et des donn\u00e9es de test. Confirmez que l\u2019erreur s\u2019y produit toujours.<\/li>\n<li>V\u00e9rifiez les d\u00e9pendances, les noms de dossiers exacts et l\u2019ordre de d\u00e9marrage avant de modifier la logique. Sur un h\u00f4te sensible \u00e0 la casse, la capitalisation du chemin de fichier est importante.<\/li>\n<li>R\u00e9duisez la reproduction \u00e0 l\u2019ensemble de ressources affect\u00e9es le plus petit tout en pr\u00e9servant les d\u00e9pendances requises. D\u00e9sactivez un suspect \u00e0 la fois.<\/li>\n<li>Appliquez une correction cibl\u00e9e, r\u00e9p\u00e9tez l\u2019action d\u2019origine et testez le chemin d\u2019\u00e9chec pertinent avec un joueur non privil\u00e9gi\u00e9.<\/li>\n<li>Reconnectez-vous, red\u00e9marrez la ressource et effectuez un red\u00e9marrage complet du serveur. Ne conservez la correction que si la persistance et les autorisations restent correctes.<\/li>\n<\/ol>\n<h2 id=\"use-diagnostics-for-their-actual-purpose\">Utilisez les diagnostics \u00e0 leur fin r\u00e9elle<\/h2>\n<p class=\"translation-block\">La <a href=\"https:\/\/docs.fivem.net\/docs\/server-manual\/server-commands\/\">r\u00e9f\u00e9rence des commandes de serveur<\/a> d\u00e9crit refresh, ensure et restart. Ces commandes peuvent perturber l\u2019\u00e9tat des ressources actives ; utilisez-les dans l\u2019environnement de test ou pendant une fen\u00eatre de maintenance coordonn\u00e9e.<\/p>\n<p>se_debug true active la journalisation ACL\/s\u00e9curit\u00e9, pas un mode de d\u00e9bogage de script g\u00e9n\u00e9ral. D\u00e9sactivez-le avec se_debug false apr\u00e8s l\u2019enqu\u00eate sur les autorisations. Un set debug_mode true personnalis\u00e9 n\u2019a aucun effet \u00e0 moins qu\u2019une ressource ne lise explicitement cette convar.<\/p>\n<p class=\"translation-block\">Utilisez le <a href=\"https:\/\/docs.fivem.net\/docs\/scripting-manual\/debugging\/using-profiler\/\">profileur<\/a> pour analyser l\u2019ex\u00e9cution des scripts. Resmon fonctionne c\u00f4t\u00e9 client et ne mesure ni le temps des requ\u00eates de base de donn\u00e9es ni la charge totale du GPU.<\/p>\n<h2 id=\"escalate-with-a-useful-report\">Transmettez un rapport utile au support<\/h2>\n<p>Incluez le comportement attendu par rapport au comportement r\u00e9el, les \u00e9tapes de reproduction exactes, la premi\u00e8re erreur compl\u00e8te, les versions pertinentes et ce qui a chang\u00e9. Fournissez un petit extrait de configuration avec les secrets supprim\u00e9s. Gardez les dumps de ressources non li\u00e9s et les donn\u00e9es des joueurs priv\u00e9s.<\/p>\n<p>Si le probl\u00e8me de production s\u2019aggrave, restaurez la ressource\/configuration la plus r\u00e9cemment accept\u00e9e. Restaurez une base de donn\u00e9es uniquement si n\u00e9cessaire et apr\u00e8s avoir pris en compte la progression plus r\u00e9cente des joueurs.<\/p>","protected":false},"excerpt":{"rendered":"<p>D\u00e9boguez un probl\u00e8me FiveM en reproduisant un sympt\u00f4me, en trouvant la premi\u00e8re erreur pertinente et en modifiant une cause sur un serveur de test. Conservez les derniers fichiers fonctionnels et la base de donn\u00e9es correspondante avant de toucher \u00e0 la production.<\/p>","protected":false},"author":1,"featured_media":160037,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1900,1899],"tags":[],"class_list":["post-164317","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-troubleshooting","category-tutorials"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/164317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/comments?post=164317"}],"version-history":[{"count":3,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/164317\/revisions"}],"predecessor-version":[{"id":212546,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/posts\/164317\/revisions\/212546"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/media\/160037"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/media?parent=164317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/categories?post=164317"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/fr\/wp-json\/wp\/v2\/tags?post=164317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}