Murloc Cult

Retour au journal

Plateforme de reproduction : un serveur de staging pour rejouer les bugs avec l'état exact des personnages

Un worldserver séparé, isolé de la prod, rejoue un bug en quelques minutes avec une copie fidèle des personnages concernés, fabrique des personnages jetables sur mesure et valide une version candidate avant tout déploiement.

Commit
b8d419c
Build
Build réussi · Cible staging
Pourquoi

Chaque correction demandait de remonter à la main un serveur de test, sans l'état réel des personnages touchés.

Ce qui est en place
  • Serveur de staging séparé (bases et realm à part, accès local seulement), à basse priorité processeur et disque, arrêté dès qu'il ne sert plus.
  • Reproduction : instantané en lecture seule des seuls personnages concernés (inventaire, sorts, talents, quêtes, réputations, familier, courrier, mémoire du cerveau), copiés sous un nouveau nom puis joués N minutes ; le détecteur de bugs tourne sur les journaux du staging et rend un verdict « reproduit / non reproduit » avec un extrait de journal.
  • Personnages jetables : race, classe, niveau, lieu, quêtes ; le module les crée et les monte (sorts, talents, équipement typique du niveau, familier) avec le code du laboratoire de combat.
  • Validation : une build candidate joue les clones des bugs visés et un échantillon de la population ; verdict « OK pour la prod » seulement sans plantage, sans nouvelle erreur, sans bug visé reproduit et avec des indicateurs au moins aussi bons que la prod sur la même période.
Premiers essais

Une boucle « relève son courrier » a été reproduite en 15 minutes ; la validation d'une build de développement l'a refusée à juste titre car cette boucle y est toujours présente. Charge du staging : environ 1 cœur sur 8 avec une douzaine de personnages.