Configurez les scripts QBCore avec un manifeste clair et une liste précise des dépendances, puis testez la configuration, les traductions, l’ordre de démarrage et la validation serveur des événements avant la production.
Déclarez la limite de la ressource
Lisez le README et les notes de version du paquet avant toute modification. Reprenez le dossier de ressource, les dépendances, les chemins de configuration et les éventuelles migrations de base de données depuis cette documentation, puis exécutez uniquement les migrations documentées en préproduction. Le manifeste ci-dessous est un exemple de structure, pas un substitut aux instructions du paquet.
fx_version 'cerulean'
game 'gta5'
dependency 'qb-core'
shared_script 'config.lua'
shared_script 'locales/en.lua'
client_script 'client/main.lua'
server_script 'server/main.lua'
Personnalisez la configuration et les locales en sécurité
Vérifiez config.lua et les fichiers de traduction fournis avant le premier démarrage. Conservez les valeurs propres au serveur dans la configuration, copiez uniquement les clés documentées et gardez la valeur upstream par défaut comme point de comparaison. Ne conservez une modification que si une personne en est responsable, qu’elle survit à une mise à jour upstream sans patch du noyau et qu’elle a été testée en préproduction avant la production.
Démarrez les dépendances en premier
Dans server.cfg, démarrez qb-core avant le script qui en dépend. Installez l'adaptateur de base de données requis par votre version exacte de qb-core avant qb-core ; le noyau upstream déclare oxmysql. Vérifiez séparément les dépendances de ressources supplémentaires. Démarrez d'abord toutes les autres dépendances documentées, et utilisez ensure seulement après avoir vérifié chaque nom de dossier de ressource.
ensure qb-core
ensure your-resource
Validez les événements côté serveur
Traitez les entrées client comme non fiables. Utilisez les événements réseau uniquement lorsque les données doivent traverser les contextes client et serveur, et validez autorisations, propriété, position, inventaire, argent et état avec des données serveur avant de modifier quoi que ce soit de valeur. Ne laissez pas un client choisir une récompense, un prix, un joueur cible ou une action privilégiée sans contrôles serveur.
Testez chaque modification en préproduction
Utilisez un serveur de préproduction avec une configuration représentative et une base de données jetable. Démarrez la ressource après un redémarrage propre, exercez son flux joueur principal avec un compte autorisé et un compte non privilégié, inspectez les erreurs serveur puis répétez après un redémarrage de ressource. Notez la version exacte et le delta de configuration avant la production.
Sources primaires : code source actuel de qb-core, documentation Cfx du manifeste de ressource et guide Cfx de sécurité serveur.
Documentation de référence
Source : qbcore-fivem/qb-core · Cfx.re — manifeste de ressource · Cfx.re — sécurité du serveur