Vagues de correction 1 et 2, et une chaîne de développement 4 fois plus rapide
Dix-neuf causes racines corrigées par deux équipes de correction, des redémarrages ramenés de 5 min à 1 min, une plateforme qui reproduit un bug sur le clone exact d'un personnage, et un incident disque résolu.
- Commit
- 1f53a0b
- Build
- Build réussi (4 min) · Cible worldserver
Vague 1
- Atelier en boucle : un feu de cuisine d'un événement inactif (Fête des moissons) restait choisi ; ignoré désormais.
- Morts après résurrection (226 morts sur 421 dans les 2 min suivant une résurrection) : attente de la fin du mal de résurrection, résurrection au cimetière avec des armes brisées, pierre de foyer qui n'est plus interrompue.
- Abandons de quête à tort (80 %) : seul compte le temps réellement passé sur la quête.
- Rendus lointains mis de côté pendant le voyage en griffon : corrigé.
Vague 2
- Boucle marchand / banque / fournitures, cause principale d'une baisse d'XP en soirée : le délai entre deux visites ne cède plus que pendant la visite elle-même ; une visite sans vente, achat ni réparation écarte ce marchand 10 min.
- Danger des trajets mieux mesuré (monstres agressifs seulement, à leur niveau maximal) : 39 % des morts en allant chercher une quête sont désormais anticipées, contre 6 %.
- Lanceurs de sorts sans baguette : « Tir » n'est plus tenté sans arme (238 échecs sur 247 pour un personnage).
- Chasseurs sans familier : voyage vers un autre continent pour faire la quête de dressage.
- Portail inaccessible, livraisons abandonnées en route, eau et pain revendus aux enchères, cible inaccessible en champ de bataille : corrigés.
Chaîne de développement
- Redémarrage en ≈ 66 s (arrêt 2 s, monde prêt en 6 s, 62 personnages en jeu en 31 s), contre ≈ 4 min 40.
- Réglages à chaud : une vingtaine de seuils modifiables sans redémarrage.
- Plateforme de reproduction : clonage d'un personnage de production dans son état exact sur un serveur séparé, personnages jetables sur mesure, validation automatique d'une version avant sa mise en production.
- Déploiement au fil de l'eau, détection chaque minute, alerte immédiate sur bug critique, dossiers de bug automatiques et rattachement des corrections au registre.
Incident
Entre 21:40 et 22:11 UTC, plus aucun client ne pouvait entrer en jeu : les disques (mécaniques) étaient saturés par les tâches de test, une écriture en base prenait 5 s. Base de données réglée pour ce matériel, tâches de test en priorité disque minimale, sonde de connexion toutes les 5 min avec redémarrage automatique.