Réponse rapide : Réduisez les NPC et le trafic ambiants avec une petite ressource client qui appelle les natives du multiplicateur de densité à chaque frame. Incluez les deux fxmanifest.lua et le fichier Lua client, commencez avec une valeur modérée en phase de test, et mesurez la même route avant et après. Ne promettez pas un gain de FPS : le résultat dépend de la charge de travail globale des ressources et des actifs du client.
Parfois, vous souhaiterez peut-être réduire le nombre de personnages non jouables (PNJ) ou leur densité dans le monde du jeu pour améliorer les performances du serveur ou créer des scénarios de jeu spécifiques. Dans ce tutoriel, nous vous montrerons comment réduire les PNJ dans FiveM.
Note: La réduction de la densité des PNJ peut nécessiter une certaine connaissance des scripts côté serveur dans FiveM. Assurez-vous de disposer d'un accès administratif à votre serveur FiveM et d'une compréhension de base des scripts Lua.
Prérequis:
- Un serveur FiveM.Comment configurer)
- Accès administratif au serveur.
- Un éditeur de texte (par exemple, Bloc-notes++) pour éditer des scripts Lua.
- Connaissances de base des scripts Lua.
Mesures:
1. Accédez à votre serveur FiveM :
- Assurez-vous d'avoir un accès SSH ou RDP à votre serveur FiveM, ou un accès à son panneau de contrôle.
2. Localisez votre dossier de ressources :
- Accédez au répertoire principal de votre serveur FiveM.
- Recherchez le dossier « ressources » ; c'est là que se trouvent les scripts et les ressources de votre serveur.
3. Créez un nouveau script Lua :
- Dans le dossier « ressources », créez un nouveau répertoire si nécessaire, par exemple « npc_reducer ».
- À l'intérieur
npc_reducteur, créerfxmanifest.luaet un script client tel quereduce_npc_density.lua. Le manifeste doit déclarer le fichier Lua comme unclient_scriptou FiveM ne le détectera pas et ne le chargera pas comme décrit ci-dessous.
4. Modifiez le script Lua :
- Ouvrez le fichier « reduce_npc_density.lua » avec votre éditeur de texte préféré.
- Ajoutez le code Lua suivant au fichier :
Citizen.CreateThread(function() while true do Citizen.Wait(0) -- Ajustez le nombre ci-dessous pour définir la densité de PNJ souhaitée. local newDensity = 0.1 -- Modifiez cette valeur selon vos besoins. SetVehicleDensityMultiplierThisFrame(newDensity) SetPedDensityMultiplierThisFrame(newDensity) SetRandomVehicleDensityMultiplierThisFrame(newDensity) SetParkedVehicleDensityMultiplierThisFrame(newDensity) SetScenarioPedDensityMultiplierThisFrame(newDensity, newDensity) end end)
- Dans le code ci-dessus, vous pouvez modifier le
nouvelleDensitévariable pour contrôler la densité de divers types de PNJ et de véhicules dans le monde du jeu. Une valeur de1.0représente la densité par défaut, tandis que des valeurs plus petites la réduisent.
5. Enregistrez et fermez le script Lua :
- Enregistrez les modifications que vous avez apportées au script Lua et fermez l'éditeur de texte.
6. Configurez votre server.cfg :
- Accédez au répertoire principal de votre serveur FiveM.
- Ouvrez le fichier « server.cfg » avec un éditeur de texte.
- Ajoutez la ligne suivante au fichier :
assurer npc_reducer
- Cette ligne garantit que votre script « reduce_npc_density.lua » est chargé au démarrage du serveur.
7. Redémarrez votre serveur FiveM :
- Sauver le Fichier « server.cfg » et redémarrez votre serveur FiveM pour appliquer les modifications.
8. Ajustez la densité des PNJ en temps réel :
- Une fois votre serveur rétabli, vous pouvez ajuster la densité des PNJ en temps réel en modifiant le
nouvelleDensitévariable dans le script Lua. Des valeurs plus faibles réduiront la densité des PNJ, tandis que des valeurs plus élevées l'augmenteront.
Vous avez appris avec succès à réduire le nombre de PNJ (densité) dans FiveM en créant un script Lua et en configurant votre serveur pour le charger. Cela peut vous aider à optimiser les performances du serveur ou à créer des scénarios de jeu spécifiques avec moins de PNJ sur votre serveur GTA V FiveM.
S'il vous plaît, aimez, partagez et commentez ceci, si cela vous a aidé. :)
Liste de contrôle pratique
Utilisez ce guide comme liste de vérification avant de modifier un serveur FiveM en production. Assurez-vous de la version actuelle des artefacts serveur, de la version du framework, des dépendances des ressources, des modifications de la base de données et des fichiers côté client avant d'appliquer la modification.
- Sauvegardez les fichiers de configuration et les tables de base de données concernés.
- Appliquez d'abord la modification sur un serveur de test.
- Surveillez la console du serveur et la console F8 du client pour détecter les erreurs.
- Vérifiez si la modification affecte les emplois, l'inventaire, les véhicules, les cartes, la voix, les autorisations ou les données des joueurs.
- Documentez précisément le fichier, la commande ou le paramètre que vous avez modifié afin de pouvoir le rétablir rapidement.
Tests avant production
Après le premier test, connectez-vous avec un compte joueur standard et répétez le processus du point de vue du joueur. Si le sujet concerne les performances, effectuez des mesures avant et après en conservant le même nombre de joueurs, le même parcours et les mêmes ressources. Si le sujet concerne les outils d'administration ou les permissions, vérifiez les utilisateurs autorisés et ceux qui n'y sont pas autorisés.
Erreurs courantes
La plupart des problèmes rencontrés avec FiveM proviennent de dépendances manquantes, d'un cache obsolète, de noms de dossiers incorrects, d'incompatibilités de frameworks ou d'une configuration copiée depuis un autre serveur. Évitez de modifier plusieurs systèmes simultanément ; effectuez une modification, testez-la, puis poursuivez.
Ressources connexes
Pour les ressources prêtes à la production, comparez les ressources payantes dans le Boutique FiveMX. Pour accéder à des ressources gratuites, consultez Scripts FiveM gratuits et tester chaque ressource avant de l'utiliser publiquement.
Notes de déploiement de la production
Avant d'appliquer ces instructions sur un serveur FiveM en production, définissez précisément le résultat attendu. Pour réduire la densité de PNJ sur FiveM, cela implique de vérifier quelle ressource, quel paramètre, quelle commande ou quel processus est concerné et de confirmer que la modification est compatible avec votre infrastructure, votre version d'artefacts et les règles de votre serveur. Déployez la modification progressivement afin de pouvoir l'annuler rapidement en cas d'erreurs signalées par les joueurs.
Utilisez un serveur de test avec la même infrastructure, le même schéma de base de données, le même ordre de ressources et les mêmes dépendances clés que le serveur de production. Si le sujet abordé modifie le gameplay, les permissions, les graphismes, le doublage, les véhicules, les cartes, l'inventaire ou le comportement économique, 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'accès aux ressources tout en reproduisant exactement le parcours de jeu qui se déroulera sur le serveur de production.
Liste de contrôle de restauration
- Sauvegardez le fichier de configuration précédent, le dossier de ressources et l'état de la base de données avant toute modification.
- Notez la version de la ressource, le commit, la page de téléchargement ou la valeur du paramètre que vous avez testée.
- Redémarrez d'abord uniquement la ressource concernée lorsque cela est possible, puis redémarrez le serveur complet si des dépendances l'exigent.
- En cas d'erreur, rétablissez la ressource ou le paramètre modifié avant de tester une autre solution.
Conseils d'entretien
Revérifiez cette configuration après chaque mise à jour des artefacts FiveM, du framework ou modification importante des ressources. Une configuration fonctionnelle aujourd'hui peut devenir inutilisable suite à des mises à jour de dépendances, des modifications d'exports, des changements d'événements ou des migrations de base de données. Conservez des notes dans la documentation de votre serveur afin que les futurs administrateurs comprennent les modifications apportées, leurs raisons et comment les reproduire.
Examen en cours
Après des mises à jour majeures, des modifications du framework ou des migrations de ressources sur FiveM, veuillez consulter à nouveau la section « Comment réduire la densité des PNJ sur FiveM ». Assurez-vous que les conseils restent pertinents, que les sources mentionnées sont toujours disponibles et que les étapes d'installation correspondent toujours aux fichiers que le propriétaire du serveur téléchargera ou configurera.
Pour les serveurs publics, conservez un bref historique des modifications à côté de la documentation du serveur. Indiquez ce qui a été testé, ce qui a changé, les comptes utilisés pour la vérification et la procédure de retour en arrière. Cela facilitera la maintenance future et évitera que les anciennes notes de configuration ne deviennent obscures ou dangereuses pour les joueurs.
Ajouter le manifeste de ressources requis
Le guide des ressources Lua de Cfx.re indique qu'un dossier de ressources a besoin d'un manifeste pour être détecté et que client_script indique au runtime client quel fichier charger. Ajoutez ceci à côté reduce_npc_density.lua:
fx_version 'cerulean'
game 'gta5'
client_script 'reduce_npc_density.lua'
L'exemple utilise SetPedDensityMultiplierThisFrame, SetScenarioPedDensityMultiplierThisFrame, SetVehicleDensityMultiplierThisFrame, SetRandomVehicleDensityMultiplierThisFrame et SetParkedVehicleDensityMultiplierThisFrame. Gardez la boucle côté client et cédez chaque frame comme indiqué. Testez les intérieurs peuplés, le trafic d'urgence, les missions et les scripts de travail avant le déploiement car les populations ambiantes réduites peuvent changer le gameplay ainsi que la charge.
Ne combinez pas cette approche avec des fonctions non documentées popcycle.dat modifications pendant le même test. Changer un contrôle à la fois, enregistrer la valeur, comparer les performances du client et restaurer la ressource précédente si le comportement régressif.
Références principales : Guide de la ressource Lua Cfx.re et le dépôt de documentation officielle des natives CitizenFX.