Checklist de migration

Une checklist à copier-coller pour faire passer une communauté existante de Legacy à Enhanced sans mettre votre serveur hors ligne. La règle d'or : migrez en parallèle, jamais sur place. Gardez la production sur Legacy tant que tout ce qui suit ne passe pas sur une instance de test séparée.

Ne migrez pas un serveur de production en direct pour l'instant. L'Asset Escrow n'est pas implémenté, la plateforme est en early access avec des crashs attendus, et beaucoup de resources ne sont pas portées. Cette checklist construit un serveur de test Enhanced en parallèle que vous validez d'abord.

Phase 0 — Décider et préparer

  • [ ] Confirmez que vous avez réellement besoin d'Enhanced maintenant (ray tracing / tick rate plus élevé) plutôt que d'attendre l'Asset Escrow.
  • [ ] Inventoriez vos resources : lesquelles sont protégées par escrow / payantes (restent sur Legacy) vs ouvertes / non chiffrées (convertibles).
  • [ ] Notez toutes les resources C#/.NET (nécessitent une reconstruction .NET 10) et tous les assets custom (nécessitent Alchemist).
  • [ ] Clonez votre base de données. Ne pointez jamais le serveur de test vers les données live.

Phase 1 — Monter un serveur Enhanced en parallèle

  • [ ] Téléchargez Cfx Server depuis server-download → Plateforme : FiveM for GTAV Enhanced. Voir Configurer un serveur Cfx.
  • [ ] Extrayez dans un nouveau dossier sur un port différent de la production.
  • [ ] Mettez à jour tous les scripts .bat / du panel vers cfx-server.exe (pas FXServer.exe).
  • [ ] Installez le SDK .NET 10 si vous faites tourner des resources C#.
  • [ ] Terminez l'assistant de première configuration de txAdmin sur les données clonées.

Phase 2 — Corriger les points de rupture garantis

  • [ ] Ajoutez lua54 'yes' au fxmanifest.lua de chaque resource.
  • [ ] Définissez l'application du gamebuild après +exec server.cfg dans votre commande de démarrage : +set sv_enforceGameBuild 1 (jeu de base) ou le dernier build. Retirez les anciens pins (2802/3095/3258…).
  • [ ] Auditez les convars de server.cfg — remplacez ou retirez celles qui sont dépréciées :
set sv_syncTickRate 60             # anciennement sv_useAccurateSends
setr sv_entityLockdown "relaxed"   # anciennement sv_protectServerEntities
set onesync on                     # le big mode est le seul mode

à retirer entièrement : sv_netHttp2, onesync_automaticResend, onesync_enableBeyond, sv_enhancedHostSupport

  • [ ] Reconstruisez les resources C#/.NET avec .NET 10.

Phase 3 — Convertir les assets

  • [ ] Lancez Alchemist (utilisez la CLI pour que les assets escrowed soient ignorés, sans être fatals) sur une copie de votre dossier resources.
  • [ ] Lisez le rapport de sortie — notez chaque asset escrowed qui a été ignoré ; ceux-ci restent sur Legacy.
  • [ ] Testez en jeu les véhicules/props/MLO convertis ; revérifiez tout ce qui a été converti avec --relaxed.

Phase 4 — Migration des données

  • [ ] Lancez le script officiel de migration DB key-value (KVP) pour les fichiers KVS sur le clone.
  • [ ] Vérifiez que chaque resource lit/écrit correctement dans la DB clonée.
  • [ ] Ce n'est qu'après validation complète que vous planifiez le vrai basculement des données.

Phase 5 — Framework et resources

  • [ ] Confirmez que votre framework (ESX / QBCore / QBox) dispose d'un build compatible Enhanced.
  • [ ] Démarrez les resources un groupe à la fois (deps → framework → standalone), en lisant la console pour repérer les [ERROR]/[WARN] après chacun.
  • [ ] Remplacez ou mettez de côté les resources qui dépendent de fonctionnalités supprimées (C# Mono-only, bascules Pure Mode, convars supprimées, voix Mumble-only).
  • [ ] Gardez les resources payantes protégées par escrow sur votre serveur Legacy pour l'instant.

Phase 6 — Voix

  • [ ] Si vous utilisez pma-voice ou similaire, confirmez qu'il fonctionne toujours (les natives Mumble transitent temporairement par le nouveau système).
  • [ ] Planifiez une migration vers la nouvelle API Voice côté serveur (docs) avant que les natives Mumble ne soient supprimées.

Phase 7 — Valider avant les joueurs

  • [ ] Activez éventuellement set sv_devMode true pour l'outillage de dev (limite le serveur à 8 slots — dev uniquement).
  • [ ] Faites un load-test avec quelques testeurs sur l'instance Enhanced.
  • [ ] Seulement lorsque chaque resource passe : annoncez, planifiez et basculez — tout en gardant le serveur Legacy disponible comme solution de secours.

Le résumé sur un seul écran

ÉtapeAction
1Cloner la DB, inventorier les resources (escrow vs ouvertes)
2Télécharger Cfx Server, nouveau dossier + port, installer le SDK .NET 10
3lua54 'yes' partout · corriger sv_enforceGameBuild · nettoyer les convars
4Convertir les assets ouverts avec Alchemist CLI ; les escrowed restent sur Legacy
5Migrer la DB clonée avec le script KVP
6Démarrer les resources dans l'ordre ; corriger les points de rupture ; tester la voix
7Valider sur l'instance de test → basculer, garder Legacy comme secours
Vous rencontrez des erreurs en cours de route ? Chaque erreur courante est détaillée dans Dépannage. Pour les HZ-Scripts en particulier, demandez sur notre Discord.