Maintenez un script FiveM en conservant une version reproductible, en testant ses flux de jeu réels et en conservant une restauration fonctionnelle. Le démarrage d'une ressource sans erreurs n'est que la première vérification ; les autorisations, la persistance et les chemins d'échec sont tout aussi importants.
Consignez la version de référence fonctionnelle
Listez la version ou le commit de la ressource, la version de FXServer, le framework, l'inventaire, le pilote de base de données et les modifications de configuration. Conservez la source modifiable dans un dépôt privé et les identifiants en dehors de celui-ci. Préservez le package sous licence d'origine et les instructions de mise à jour de l'auteur.
Utilisez un serveur de test isolé avec une base de données séparée et un accès restreint. Désactivez la livraison de paiements réels, les webhooks de production et les autres actions externes dans l'environnement de test.
Examinez chaque mise à jour avant de l'installer
- Lisez les notes de version et comparez la configuration modifiée, les dépendances, les exports, les événements et le SQL. Identifiez les ruptures de compatibilité avant de remplacer les fichiers.
- Sauvegardez la base de données actuelle et les fichiers de ressources/configuration correspondants. Confirmez que la sauvegarde peut être restaurée sur l'instance de test.
- Appliquez la mise à jour à l'instance de test dans l'ordre requis par l'auteur. Fusionnez la configuration délibérément ; ne remplacez pas aveuglément les nouvelles valeurs par défaut par un ancien fichier.
- Exécutez des scénarios normaux et d'échec, puis comparez les résultats persistants après la reconnexion et le redémarrage.
Utilisez un enregistrement de test de gameplay
Pour chaque action importante, enregistrez l'état de départ, les étapes, le résultat attendu et le résultat observé. Pour un achat en magasin : le joueur a un solde connu, achète un article connu, reçoit exactement un article, perd exactement son prix défini par le serveur et conserve ce résultat après la reconnexion.
Répétez avec des fonds insuffisants, un inventaire plein, un accès non autorisé, des noms d'articles invalides, des requêtes répétées et une déconnexion pendant l'opération. Pour un garage, testez la propriété, la prévention des apparitions en double et le stockage après le redémarrage. Pour les métiers, testez les restrictions de rang et de service.
Inspectez la sécurité et les performances séparément
Examinez les événements réseau pour la validation côté serveur des autorisations, de la propriété, des montants et de l'achèvement des tâches. Une défaillance critique d'autorisation bloque la publication, quelle que soit la bonne performance ailleurs.
Utilisez le moniteur de ressources client pour le temps d'exécution des scripts client et le profileur FXServer pour le travail du serveur. Enregistrez la scène, le nombre de joueurs et la durée. Comparez des charges de travail identiques ; n'imposez pas un budget universel en millisecondes à des ressources non liées.
Automatisez les vérifications qui détectent les erreurs réelles
Exécutez des vérifications de syntaxe/lint Lua adaptées à l'environnement d'exécution FiveM et des tests ciblés pour la logique pure. Les tests de framework simulés aident à détecter les incohérences d'arguments et de retours, mais ils ne vérifient pas le framework, l'inventaire ou l'intégration de la base de données réels. Conservez une liste de contrôle de serveur de test en direct à côté d'eux.
Déployer un changement réversible
Choisissez une fenêtre de maintenance, annoncez l'interruption prévue et gardez la version précédente prête. Mettez à jour uniquement le package examiné et les dépendances requises. Redémarrez dans l'ordre documenté, vérifiez les journaux et répétez le scénario de jeu clé.
Si la vérification échoue, arrêtez les nouvelles écritures avant la récupération. Restaurez le code correspondant et toutes les données nécessaires, en tenant compte des modifications apportées après la sauvegarde. N'effacez pas silencieusement la progression du joueur pour faire passer un test.
Conservez un signalement de problème exploitable
Enregistrez la première erreur pertinente, la ressource/version affectée, les étapes de reproduction et le comportement attendu. Masquez les identifiants et les informations personnelles des journaux. Suivez la résolution dans l'historique des modifications de la ressource afin que la prochaine mise à jour puisse répéter la même vérification de régression.
Documentation de référence
Cfx.re — sécurité du serveur · Cfx.re — utilisation du profileur