Vous n'êtes pas identifié(e).

#1 2023-07-24 07:50:48

antoine
Inscription : 2014-09-14
Messages : 10 354

Petit récit d'un plantage...

Hier, suite au signalement d'un joueur, j'ai réalisé que le classement n'avait pas été mis à jour le 21 juillet à 15h, soit plus de 48h !

classement a écrit :

(Dernière mise à jour du classement: ven. 21 juil 15:00)

Ce classement est mis à jour toutes les heures, s'il ne va pas au bout et jusqu'à l'actualisation de la date de mise à jour, c'est qu'un plantage s'est produit.

L'avantage avec le code d'okord c'est qu'il est "fail-fast", c'est à dire que le moindre bug fait tout planter. C'est un avantage car cela requiert une correction immédiate et on peut ensuite avoir confiance dans l'exécution du reste. Si ça tourne c'est qu'il n'y a aucun bug (j'entends un truc qui fait planter un algo complètement, pas un cas oublié ou pas codé comme décrit dans l'aide).

L'origine du problème était la réactivation du module de perte/gain de provinces entre Ressyne et Okord, pour faire suite à une demande des MJs qui mènent une activité RP avec quelques okordiens.

Lorsque j'ai réactivé ce module vendredi un peu avant 15h, j'ai vidé l'ancienne liste de provinces mais j'ai oublié une ligne vide dans le fichier de liste des provinces "perdues" par okord.
Hors la ligne vide n'est pas une coordonnée de province valide...

Cela peut sembler anodin, mais cette ligne vide a ensuite fait planter le check "est-ce que cette coordonnée est dans une province étrangère".

Ce check est appelé à deux endroits :
- lorsqu'un joueur crée son compte et que l'on crée un camp hostile autour de son fief. Pour s'assurer que le joueur peut atteindre le camp hostile, on vérifie que la coordonnée crée est dans le royaume d'okord et pas juste à côté.

- pendant la mise à jour du classement, on renouvelle les camps hostile à proximité des jeunes joueurs. Idem.

Dans les deux cas => vérification de la coordonnée invalide => plantage complet => le camp hostile n'est pas crée et tout s'arrête.

Conséquence, le classement ne va pas au bout de sa mise à jour horaire, il s'arrête au milieu.

  • Toutes les actions à ne faire "qu'une fois par jour" sont relancées toutes les heures (raison pour laquelle les infrastructures ont produit toutes les heures pendant 48h).

  • Tous les joueurs qui ont essayé de s'inscrire entre le 21 juillet 15h et le 23 juillet 16h30 (ils n'ont pas de fief)

  • Tous les camps hostiles crée entre le 21 juillet 15h et le 23 juillet 16h30 ne sont pas valides (ils n'ont pas de camp)

Le bug d'origine (la ligne vide) a été corrigé et j'ai ajouté un test pour savoir si cela était bien une coordonnée valide dans ce fichier.

Les comptes invalides ont tous été supprimés et les deux joueurs qui n'ont pu terminer leur inscription ont été contacté.

Il y a pu y avoir d'autres anomalies pendant ces 48h, n'hésitez pas à me faire signe que je vérifie si c'est lié ou pas.

Dans tous les cas, si vous pensez avoir trouvé un bug (ou si vous voyez le classement pas mis à jour depuis +1h) n'hésitez pas à me contacter par mp ou mail à antoine@okord.com plus je peux réagir vite et plus on limite les dégâts.

Désolé pour la gène occasionnée, cela m'apprendra à réactiver des vieux modules sans tout re-tester !_!


Marie, gouvernante du clan Samarie.
(HRP: Admin)

Hors ligne

Pied de page des forums

Propulsé par FluxBB