FANDOM


Traduit de Sync Errors (dernière révision: janvier 2019)

Les erreurs de synchronisations sont à la base de plusieurs problèmes courants que les joueurs et joueuses peuvent rencontrer. Cette page explique ce qu'est la synchronisation, comment les erreurs de synchronisation se produisent et comment les éviter ou le minimiser. Si vous ne souhaitez pas lire la page en entier, commencez à Comment minimiser les erreurs de synchronisation.


Synchronisation entre le navigateur et le serveurModifier

Habitica possède un serveur qui stocke les données de tous les joueurs et toutes les joueuses et effectue la plupart des tâches dont le site a besoin pour fonctionner.

Cependant, pour une plus grande réactivité, une partie du code du site est interprété directement par le navigateur des joueurs et joueuses. Quand une action est effectuée (comme par exemple cocher une tâche), le navigateur calcule immédiatement les effets de cette action (par exemple le nombre de points d'expérience et la quantité d'or gagnés) et affiche ces résultats. Dans le même temps, il envoie un message au serveur décrivant l'action effectuée.

Quand le serveur reçoit ce message, il met à jour les données stockées du joueur ou de la joueuse et renvoie au navigateur une copie complète de ses données afin que le navigateur soit à jour. Cette mise à jour peut concerner des événements récents que le navigateur ignore (comme par exemple des compétences lancées par des membres du groupe du joueur ou de la joueuse) afin que le navigateur puisse informer le joueur ou la joueuse de ces événements. Lorsque le navigateur reçoit cette copie complète, il remplace sa propre copie locale dépassée par les données les plus récentes du serveur.

Erreurs de synchronisationModifier

Il arrive parfois que le message que le navigateur envoie au serveur pour l'informer de l'action d'un joueur ou une joueuse ne soit pas reçu. On parle alors d'une erreur de synchronisation : le joueur ou la joueuse voit son action prendre effet dans le navigateur, mais le serveur n'en entend jamais parler. De ce fait, l'action n'est jamais ajoutée aux données stockées sur le serveur.

Lorsque le joueur ou la joueuse effectue une nouvelle action, le navigateur envoie celle-ci au serveur, le serveur reçoit l'action et renvoie au navigateur une copie complète des données du joueur ou de la joueuse. Mais il manque à ces données l'action précédente dont le serveur n'a jamais entendu parler et qui n'a pas été synchronisée. Comme décrit ci-dessus, lorsque le navigateur reçoit les données du serveur, il n'utilise plus que ces données-là de sorte que les effets de l'action non-synchronisée sont annulés (par exemple si le joueur ou la joueuse avait gagné de l'expérience ou de l'or grâce à son action non-synchronisée, cette expérience et cet or lui sont retirés). Cette annulation peut sembler une mauvaise idée mais dans le cas contraire, si le navigateur n'utilisait pas l'ensemble des données reçues par le serveur, le serveur ne pourrait jamais à son tour informer le navigateur d'événements tels qu'une compétence lancée sur le joueur ou la joueuse.

Comment minimiser les erreurs de synchronisationModifier

Des erreurs de synchronisation arrivent fréquemment quand un joueur ou une joueuse effectue plusieurs actions rapidement à la suite l'une de l'autre (par exemple cocher plusieurs Quotidiennes en quelques secondes). Cela surcharge le navigateur, l'empêchant d'envoyer toutes ou partie des actions au serveur. Bien que les erreurs en or ou en expérience devraient correspondre plus ou moins aux tâches qui n'ont pas été synchronisées, il arrive que les erreurs donnent des résultats bizarres et incohérents.

Pour éviter cela, après avoir pris une action, notez la fine ligne bleue qui courre au sommet de l'écran. Elle progresse de la gauche vers la droite pour indiquer l'avancée de la synchronisation entre le navigateur et le serveur et vice-versa. Lorsque la ligne disparaît, la synchronisation est terminée et vous pouvez effectuer une autre action en toute sécurité. (Si aucune ligne bleue n'apparaît après votre action, c'est qu'il s'agit d'une action ne nécessitant pas de synchronisation).

Réaliser une action sans attendre la fin de la synchronisation ne provoque pas systématiquement une erreur mais si vous voulez être certain.e de ne pas avoir une erreur, vous devriez attendre que la ligne bleue disparaisse entre chaque action.

Ceci est particulièrement important pour des actions critiques telles que cocher vos Quotidiennes à la fin de la journée ou se reposer à l'Auberge. Si vous cochez plusieurs Quotidiennes à la suite, il est très probable que certaines d'entre elles ne soient pas synchronisées avec le serveur et que, à votre Cron, le serveur ne sache pas que vous avec accompli ces Quotidiennes et que vous perdiez de la santé et votre bonus de Jour Parfait. Si vous vous enregistrez à l'Auberge et qu'une erreur de synchronisation se produit, vous ne serez de fait pas en train de vous reposer à l'Auberge et donc pas protégé.e des dommages pour vos Quotidiennes non accomplies.

Sync

Pour vérifier si une erreur de synchronisation s'est produite, cliquez le bouton Sync dans le coin supérieur droit de la fenêtre (il ressemble à une flèche circulaire) pour demander à votre navigateur d'aller chercher vos données sauvegardées sur le serveur. Une fois la synchronisation terminée (c.à.d. lorsque la fine ligne bleue disparaît), examinez vos Quotidiennes, votre statut à l'Auberge ou n'importe quelle autre information importante pour vous. Si vous réalisez que certaines de vos actions n'ont pas été synchronisées, répétez ces actions et synchronisez à nouveau pour revérifier.

Server currently unreachable

Erreur serveur sur le site web

Vous pouvez aussi utiliser l'outil User Data Display (en Anglais) pour vérifier si des erreurs de synchronisation se sont produites puisque l'outil lit vos données sauvegardées directement depuis le serveur. Il vous dira lesquelles de vos Quotidiennes n'ont pas encore été cochées et si vous êtes en train de vous reposer à l'Auberge ("ZzzZzzzz" apparaît sur le tableau de bord si c'est le cas).

Des erreurs de synchronisation peuvent également être provoquées par une connection internet instable donc si vous observez des problèmes avec votre connection, soyez plus vigilant.es que d'habitude.

Exemples courants d'erreurs de synchronisationModifier

Toutes les actions dans Habitica sont susceptibles de provoquer des erreurs de synchronisation, mais voici quelques exemples les plus courants.

Accomplir la plupart/toutes ses Quotidiennes mais perdre de la santé et des combosModifier

Comme décrit plus haut, cocher plusieurs Quotidiennes à la suite provoque souvent des erreurs de synchronisation, le serveur n'étant jamais mis au courant que vous les avez cochées. Vous pouvez perdre de la santé d'un jour à l'autre et les Combos pour ces Quotidiennes seront remis à zéro. Vous provoquerez également des dommages aux membres de votre groupe si vous participez à une quête de Boss. Juste avant d'arrêter d'utiliser Habitica pour la journée, utilisez le bouton sync ou l'outil User Data Display pour vérifier que vos Quotidiennes accomplies ont bien été prises en compte. Pour compenser la santé perdue à la suite d'une erreur de synchronisation, utilisez la fonctionnalité Corriger les valeurs du personnage du menu Paramètres pour rétablir votre santé et ajouter un niveau si vous êtes mort.e à cause d'une erreur de synchronisation. Vous pouvez restaurer vos combos de Quotidiennes dans les Options avancées.

Perte inexpliquée d'or, d'expérience ou de manaModifier

Si vous cochez une tâche, votre navigateur vous donnera de l'expérience, de l'or et de la Mana. Cependant, si une erreur de synchronisation se produit pour cette tâche, la prochaine fois que le navigateur se synchronise avec le serveur, vous perdrez ces récompenses et la tâche ne sera plus considérée comme accomplie. Vous verrez une notification avec des valeurs négatives qui vous signalera que ces récompenses vous sont retirées. Vous pouvez les récupérer en retrouvant les tâches non accomplies et en les cochant à nouveau (ceci peut s'avérer plus compliqué lorsqu'il s'agit d'Habitudes).

Un équipement acheté récemment a disparu Modifier

Si une erreur de synchronisation se produit lorsque vous achetez un équipement, celui-ci disparaît de votre inventaire et redevient disponible à l'achat après une nouvelle synchronisation. Il est possible que vous soyez amené.e à rafraîchir votre navigateur ou vider le cache avant de voir ces objets dans la colonne de récompenses. L'or que vous avez dépensé pour l'achat de l'équipement devrait vous être retourné automatiquement. Si ce n'était pas le cas, vous pouvez utiliser la fonctionnalité Corriger les valeurs du personnage pour le récupérer manuellement.

Des familiers que vous avez faits éclore ou transformés en monture ont disparuModifier

Si une erreur de synchronisation se produit lorsque vous faites éclore un familier, celui-ci va disparaître lors de la prochaine synchronisation puisqu'il n'aura pas été enregistré comme éclos par le serveur. L'oeuf et la potion d'éclosion que vous avez employés vous seront retournés. Il est possible que vous soyez amené.e à rafraîchir votre navigateur ou vider le cache avant de les voir dans votre inventaire. Vous pouvez ensuite faire éclore le familier à nouveau.

De la même manière, si une erreur de synchronisation se produit lorsque vous transformez un familier en monture alors, lors de la synchronisation, la monture disparaîtra. Le familier et la nourriture vous seront retournés. Il est possible que vous soyez amené.e à rafraîchir votre navigateur ou vider le cache avant de les voir dans votre inventaire. Vous pouvez ensuite transformer le familier en monture à nouveau.

Lancer des compétences en succession rapide peut produire des messages d'erreurModifier

Si vous lancez plusieurs compétences trop rapidement, des erreurs de synchronisation peuvent se produire. La mana que vous avez dépensée pour lancer des compétences non synchronisées vous sera retournée. Vous pouvez lancer les compétences à nouveau, plus lentement afin qu'elles soient prises en compte.

Sauf mention contraire, le contenu de la communauté est disponible sous licence CC-BY-SA .