{"id":93579,"date":"2024-02-05T09:21:58","date_gmt":"2024-02-05T08:21:58","guid":{"rendered":"https:\/\/fivem-mods.net\/?p=93579"},"modified":"2026-07-20T13:30:44","modified_gmt":"2026-07-20T11:30:44","slug":"comment-reduire-la-densite-des-pnj","status":"publish","type":"post","link":"https:\/\/fivemx.com\/fr\/comment-reduire-la-densite-des-pnj\/","title":{"rendered":"Comment r\u00e9duire la densit\u00e9 des NPC dans FiveM en toute s\u00e9curit\u00e9"},"content":{"rendered":"<!-- fivemx-content-rework-remaining:2026-07-20:how-to-reduce-npcs-density -->\n<section class=\"fivemx-content-rework-remaining\">\n<p><strong>R\u00e9ponse rapide\u00a0:<\/strong> R\u00e9duisez les NPC et le trafic ambiants avec une petite ressource client qui appelle les natives du multiplicateur de densit\u00e9 \u00e0 chaque frame. Incluez les deux <code>fxmanifest.lua<\/code> et le fichier Lua client, commencez avec une valeur mod\u00e9r\u00e9e en phase de test, et mesurez la m\u00eame route avant et apr\u00e8s. Ne promettez pas un gain de FPS : le r\u00e9sultat d\u00e9pend de la charge de travail globale des ressources et des actifs du client.<\/p>\n<\/section>\n\n\n<p class=\"wp-block-paragraph\">Parfois, vous souhaiterez peut-\u00eatre r\u00e9duire le nombre de personnages non jouables (PNJ) ou leur densit\u00e9 dans le monde du jeu pour am\u00e9liorer les performances du serveur ou cr\u00e9er des sc\u00e9narios de jeu sp\u00e9cifiques. Dans ce tutoriel, nous vous montrerons comment r\u00e9duire les PNJ dans FiveM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note<\/strong>: La r\u00e9duction de la densit\u00e9 des PNJ peut n\u00e9cessiter une certaine connaissance des scripts c\u00f4t\u00e9 serveur dans FiveM. Assurez-vous de disposer d&#039;un acc\u00e8s administratif \u00e0 votre serveur FiveM et d&#039;une compr\u00e9hension de base des scripts Lua.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pr\u00e9requis<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Un serveur FiveM.<a href=\"https:\/\/fivemx.com\/fr\/comment-creer-un-serveur-fivem\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/fivemx.com\/how-to-create-a-fivem-server\/\" rel=\"noreferrer noopener\">Comment configurer<\/a>)<\/li>\n\n\n\n<li>Acc\u00e8s administratif au serveur.<\/li>\n\n\n\n<li>Un \u00e9diteur de texte (par exemple, <a href=\"https:\/\/notepad-plus-plus.org\/downloads\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/notepad-plus-plus.org\/downloads\/\" rel=\"noreferrer noopener\">Bloc-notes++<\/a>) pour \u00e9diter des scripts Lua.<\/li>\n\n\n\n<li>Connaissances de base des scripts Lua.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Mesures<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1. Acc\u00e9dez \u00e0 votre serveur FiveM\u00a0:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Assurez-vous d&#039;avoir un acc\u00e8s SSH ou RDP \u00e0 votre serveur FiveM, ou un acc\u00e8s \u00e0 son panneau de contr\u00f4le.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2. Localisez votre dossier de ressources\u00a0:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Acc\u00e9dez au r\u00e9pertoire principal de votre serveur FiveM.<\/li>\n\n\n\n<li>Recherchez le dossier \u00ab\u00a0ressources\u00a0\u00bb\u00a0; c&#039;est l\u00e0 que se trouvent les scripts et les ressources de votre serveur.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3. Cr\u00e9ez un nouveau script Lua\u00a0:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dans le dossier \u00ab\u00a0ressources\u00a0\u00bb, cr\u00e9ez un nouveau r\u00e9pertoire si n\u00e9cessaire, par exemple \u00ab\u00a0npc_reducer\u00a0\u00bb.<\/li>\n\n\n\n<li>\u00c0 l&#039;int\u00e9rieur <code>npc_reducteur<\/code>, cr\u00e9er <code>fxmanifest.lua<\/code> et un script client tel que <code>reduce_npc_density.lua<\/code>. Le manifeste doit d\u00e9clarer le fichier Lua comme un <code>client_script<\/code> ou FiveM ne le d\u00e9tectera pas et ne le chargera pas comme d\u00e9crit ci-dessous.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4. Modifiez le script Lua\u00a0:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ouvrez le fichier \u00ab reduce_npc_density.lua \u00bb avec votre \u00e9diteur de texte pr\u00e9f\u00e9r\u00e9.<\/li>\n\n\n\n<li>Ajoutez le code Lua suivant au fichier\u00a0:<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"lua\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> Citizen.CreateThread(function()\n while true do\n Citizen.Wait(0)\n -- Ajustez le nombre ci-dessous pour d\u00e9finir la densit\u00e9 de PNJ souhait\u00e9e.\n local newDensity = 0.1 -- Modifiez cette valeur selon vos besoins.\n SetVehicleDensityMultiplierThisFrame(newDensity)\n SetPedDensityMultiplierThisFrame(newDensity)\n SetRandomVehicleDensityMultiplierThisFrame(newDensity)\n SetParkedVehicleDensityMultiplierThisFrame(newDensity)\n SetScenarioPedDensityMultiplierThisFrame(newDensity, newDensity)\n end\n end)<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dans le code ci-dessus, vous pouvez modifier le <code>nouvelleDensit\u00e9<\/code> variable pour contr\u00f4ler la densit\u00e9 de divers types de PNJ et de v\u00e9hicules dans le monde du jeu. Une valeur de <code>1.0<\/code> repr\u00e9sente la densit\u00e9 par d\u00e9faut, tandis que des valeurs plus petites la r\u00e9duisent.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5. Enregistrez et fermez le script Lua\u00a0:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enregistrez les modifications que vous avez apport\u00e9es au script Lua et fermez l&#039;\u00e9diteur de texte.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>6. Configurez votre server.cfg :<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Acc\u00e9dez au r\u00e9pertoire principal de votre serveur FiveM.<\/li>\n\n\n\n<li>Ouvrez le fichier \u00ab server.cfg \u00bb avec un \u00e9diteur de texte.<\/li>\n\n\n\n<li>Ajoutez la ligne suivante au fichier\u00a0:<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> assurer npc_reducer<\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cette ligne garantit que votre script \u00ab reduce_npc_density.lua \u00bb est charg\u00e9 au d\u00e9marrage du serveur.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>7. Red\u00e9marrez votre serveur FiveM\u00a0:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sauver le <a href=\"https:\/\/fivemx.com\/fr\/fivem-serveur-cfg\/\" title=\"Serveur FiveM.cfg \u2013 Guide complet\" data-wpil-monitor-id=\"1578\">Fichier \u00ab\u00a0server.cfg\u00a0\u00bb<\/a> et red\u00e9marrez votre serveur FiveM pour appliquer les modifications.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>8. Ajustez la densit\u00e9 des PNJ en temps r\u00e9el\u00a0:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Une fois votre serveur r\u00e9tabli, vous pouvez ajuster la densit\u00e9 des PNJ en temps r\u00e9el en modifiant le <code>nouvelleDensit\u00e9<\/code> variable dans le script Lua. Des valeurs plus faibles r\u00e9duiront la densit\u00e9 des PNJ, tandis que des valeurs plus \u00e9lev\u00e9es l&#039;augmenteront.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">Vous avez appris avec succ\u00e8s \u00e0 r\u00e9duire le nombre de PNJ (densit\u00e9) dans FiveM en cr\u00e9ant un script Lua et en configurant votre serveur pour le charger. Cela peut vous aider \u00e0 optimiser les performances du serveur ou \u00e0 cr\u00e9er des sc\u00e9narios de jeu sp\u00e9cifiques avec moins de PNJ sur votre serveur GTA V FiveM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>S&#039;il vous pla\u00eet, aimez, partagez et commentez ceci, si cela vous a aid\u00e9. :)<\/strong><\/p>\n\n\n<!-- fivemx-quality-enrichment-v2 -->\n<h2>Liste de contr\u00f4le pratique<\/h2><p>Utilisez ce guide comme liste de v\u00e9rification avant de modifier un serveur FiveM en production. Assurez-vous de la version actuelle des artefacts serveur, de la version du framework, des d\u00e9pendances des ressources, des modifications de la base de donn\u00e9es et des fichiers c\u00f4t\u00e9 client avant d&#039;appliquer la modification.<\/p><ul><li>Sauvegardez les fichiers de configuration et les tables de base de donn\u00e9es concern\u00e9s.<\/li><li>Appliquez d&#039;abord la modification sur un serveur de test.<\/li><li>Surveillez la console du serveur et la console F8 du client pour d\u00e9tecter les erreurs.<\/li><li>V\u00e9rifiez si la modification affecte les emplois, l&#039;inventaire, les v\u00e9hicules, les cartes, la voix, les autorisations ou les donn\u00e9es des joueurs.<\/li><li>Documentez pr\u00e9cis\u00e9ment le fichier, la commande ou le param\u00e8tre que vous avez modifi\u00e9 afin de pouvoir le r\u00e9tablir rapidement.<\/li><\/ul><h2>Tests avant production<\/h2><p>Apr\u00e8s le premier test, connectez-vous avec un compte joueur standard et r\u00e9p\u00e9tez le processus du point de vue du joueur. Si le sujet concerne les performances, effectuez des mesures avant et apr\u00e8s en conservant le m\u00eame nombre de joueurs, le m\u00eame parcours et les m\u00eames ressources. Si le sujet concerne les outils d&#039;administration ou les permissions, v\u00e9rifiez les utilisateurs autoris\u00e9s et ceux qui n&#039;y sont pas autoris\u00e9s.<\/p><h2>Erreurs courantes<\/h2><p>La plupart des probl\u00e8mes rencontr\u00e9s avec FiveM proviennent de d\u00e9pendances manquantes, d&#039;un cache obsol\u00e8te, de noms de dossiers incorrects, d&#039;incompatibilit\u00e9s de frameworks ou d&#039;une configuration copi\u00e9e depuis un autre serveur. \u00c9vitez de modifier plusieurs syst\u00e8mes simultan\u00e9ment\u00a0; effectuez une modification, testez-la, puis poursuivez.<\/p><h2>Ressources connexes<\/h2><p>Pour les ressources pr\u00eates \u00e0 la production, comparez les ressources payantes dans le <a href=\"https:\/\/fivemx.com\/fr\/boutique\/\">Boutique FiveMX<\/a>. Pour acc\u00e9der \u00e0 des ressources gratuites, consultez <a href=\"https:\/\/fivemx.com\/fr\/scripts-fivem-gratuits\/\">Scripts FiveM gratuits<\/a> et tester chaque ressource avant de l&#039;utiliser publiquement.<\/p>\n\n<!-- fivemx-quality-depth-v3 -->\n<h2>Notes de d\u00e9ploiement de la production<\/h2><p>Avant d&#039;appliquer ces instructions sur un serveur FiveM en production, d\u00e9finissez pr\u00e9cis\u00e9ment le r\u00e9sultat attendu. Pour r\u00e9duire la densit\u00e9 de PNJ sur FiveM, cela implique de v\u00e9rifier quelle ressource, quel param\u00e8tre, quelle commande ou quel processus est concern\u00e9 et de confirmer que la modification est compatible avec votre infrastructure, votre version d&#039;artefacts et les r\u00e8gles de votre serveur. D\u00e9ployez la modification progressivement afin de pouvoir l&#039;annuler rapidement en cas d&#039;erreurs signal\u00e9es par les joueurs.<\/p><p>Utilisez un serveur de test avec la m\u00eame infrastructure, le m\u00eame sch\u00e9ma de base de donn\u00e9es, le m\u00eame ordre de ressources et les m\u00eames d\u00e9pendances cl\u00e9s que le serveur de production. Si le sujet abord\u00e9 modifie le gameplay, les permissions, les graphismes, le doublage, les v\u00e9hicules, les cartes, l&#039;inventaire ou le comportement \u00e9conomique, effectuez des tests avec au moins un compte administrateur et un compte joueur. Surveillez la sortie de la console du serveur, les journaux F8 du client et le temps d&#039;acc\u00e8s aux ressources tout en reproduisant exactement le parcours de jeu qui se d\u00e9roulera sur le serveur de production.<\/p><h2>Liste de contr\u00f4le de restauration<\/h2><ul><li>Sauvegardez le fichier de configuration pr\u00e9c\u00e9dent, le dossier de ressources et l&#039;\u00e9tat de la base de donn\u00e9es avant toute modification.<\/li><li>Notez la version de la ressource, le commit, la page de t\u00e9l\u00e9chargement ou la valeur du param\u00e8tre que vous avez test\u00e9e.<\/li><li>Red\u00e9marrez d&#039;abord uniquement la ressource concern\u00e9e lorsque cela est possible, puis red\u00e9marrez le serveur complet si des d\u00e9pendances l&#039;exigent.<\/li><li>En cas d&#039;erreur, r\u00e9tablissez la ressource ou le param\u00e8tre modifi\u00e9 avant de tester une autre solution.<\/li><\/ul><h2>Conseils d&#039;entretien<\/h2><p>Rev\u00e9rifiez cette configuration apr\u00e8s chaque mise \u00e0 jour des artefacts FiveM, du framework ou modification importante des ressources. Une configuration fonctionnelle aujourd&#039;hui peut devenir inutilisable suite \u00e0 des mises \u00e0 jour de d\u00e9pendances, des modifications d&#039;exports, des changements d&#039;\u00e9v\u00e9nements ou des migrations de base de donn\u00e9es. Conservez des notes dans la documentation de votre serveur afin que les futurs administrateurs comprennent les modifications apport\u00e9es, leurs raisons et comment les reproduire.<\/p>\n\n<!-- fivemx-quality-depth-v4 -->\n<h2>Examen en cours<\/h2><p>Apr\u00e8s des mises \u00e0 jour majeures, des modifications du framework ou des migrations de ressources sur FiveM, veuillez consulter \u00e0 nouveau la section \u00ab\u00a0Comment r\u00e9duire la densit\u00e9 des PNJ sur FiveM\u00a0\u00bb. Assurez-vous que les conseils restent pertinents, que les sources mentionn\u00e9es sont toujours disponibles et que les \u00e9tapes d&#039;installation correspondent toujours aux fichiers que le propri\u00e9taire du serveur t\u00e9l\u00e9chargera ou configurera.<\/p><p>Pour les serveurs publics, conservez un bref historique des modifications \u00e0 c\u00f4t\u00e9 de la documentation du serveur. Indiquez ce qui a \u00e9t\u00e9 test\u00e9, ce qui a chang\u00e9, les comptes utilis\u00e9s pour la v\u00e9rification et la proc\u00e9dure de retour en arri\u00e8re. Cela facilitera la maintenance future et \u00e9vitera que les anciennes notes de configuration ne deviennent obscures ou dangereuses pour les joueurs.<\/p>\n\n<section class=\"fivemx-content-rework-remaining-details\">\n<h2>Ajouter le manifeste de ressources requis<\/h2>\n<p>Le guide des ressources Lua de Cfx.re indique qu'un dossier de ressources a besoin d'un manifeste pour \u00eatre d\u00e9tect\u00e9 et que <code>client_script<\/code> indique au runtime client quel fichier charger. Ajoutez ceci \u00e0 c\u00f4t\u00e9 <code>reduce_npc_density.lua<\/code>:<\/p>\n<pre><code>fx_version 'cerulean'\ngame 'gta5'\n\nclient_script 'reduce_npc_density.lua'<\/code><\/pre>\n<p>L'exemple utilise <code>SetPedDensityMultiplierThisFrame<\/code>, <code>SetScenarioPedDensityMultiplierThisFrame<\/code>, <code>SetVehicleDensityMultiplierThisFrame<\/code>, <code>SetRandomVehicleDensityMultiplierThisFrame<\/code> et <code>SetParkedVehicleDensityMultiplierThisFrame<\/code>. Gardez la boucle c\u00f4t\u00e9 client et c\u00e9dez chaque frame comme indiqu\u00e9. Testez les int\u00e9rieurs peupl\u00e9s, le trafic d'urgence, les missions et les scripts de travail avant le d\u00e9ploiement car les populations ambiantes r\u00e9duites peuvent changer le gameplay ainsi que la charge.<\/p>\n<p>Ne combinez pas cette approche avec des fonctions non document\u00e9es <code>popcycle.dat<\/code> modifications pendant le m\u00eame test. Changer un contr\u00f4le \u00e0 la fois, enregistrer la valeur, comparer les performances du client et restaurer la ressource pr\u00e9c\u00e9dente si le comportement r\u00e9gressif.<\/p>\n<p>R\u00e9f\u00e9rences principales : <a href=\"https:\/\/docs.fivem.net\/docs\/scripting-manual\/introduction\/creating-your-first-script\/\" rel=\"nofollow noopener\" target=\"_blank\">Guide de la ressource Lua Cfx.re<\/a> et le <a href=\"https:\/\/github.com\/citizenfx\/natives\" rel=\"nofollow noopener\" target=\"_blank\">d\u00e9p\u00f4t de documentation officielle des natives CitizenFX<\/a>.<\/p>\n<\/section>","protected":false},"excerpt":{"rendered":"<p>Fast answer: reduce ambient NPCs and traffic with a small client resource that calls the density multiplier natives every frame. Include both fxmanifest.lua and the client Lua file, start with a moderate value on staging, and measure the same route before and after. Do not promise an FPS gain: the result depends on the wider [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":93580,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1899],"tags":[],"class_list":["post-93579","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/posts\/93579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/comments?post=93579"}],"version-history":[{"count":2,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/posts\/93579\/revisions"}],"predecessor-version":[{"id":213823,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/posts\/93579\/revisions\/213823"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/media\/93580"}],"wp:attachment":[{"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/media?parent=93579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/categories?post=93579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemx.com\/fr\/wp-json\/wp\/v2\/tags?post=93579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}