Smooth
Administrateurs
-
Adhésion
-
Dernière visite
-
Actuellement
Affichage de Protocole Dofus
Tout ce qui a été publié par Smooth
-
Erreurs de paquet
Un paquet peut échouer à plusieurs moments : pendant son installation, quand un bot le démarre ou pendant qu'il tourne. Si vous écrivez des paquets, Messages d'erreur, dans la documentation développeur, liste chaque texte avec sa cause. Trouver d'abord la raison Plusieurs messages liés aux paquets arrivent sans leur raison, qui se trouve toujours ailleurs : Où Ce que vous y trouvez Le comportement s'est arrêté sur une erreur, sous l'en-tête du bot L'erreur complète d'un script qui a démarré, puis échoué. Copier la place dans votre presse-papiers. L'onglet Réglages du bot, sous Réglages du paquet Impossible de lire les réglages de ce paquet, avec la raison, quand le paquet du bot ne peut pas être chargé du tout. L'éditeur d'un paquet local Le badge d'erreurs dans sa barre du haut, par exemple « 3 erreur(s) », qui compte les problèmes dans tous les fichiers du paquet. L'onglet Console du bot Ce que le script écrit lui-même, avertissements compris. Impossible de démarrer le comportement Vous avez cliqué sur Lancer, et le script n'a même pas pu démarrer. La notification ne donne aucune raison, et la page du bot n'affiche aucune alerte. Vérifiez que le bot est Connecté au serveur de jeu. Charger un paquet et le lancer sur un bot qui n'est pas connecté charge le paquet, puis affiche ce message. Ouvrez l'onglet Réglages du bot et cliquez sur Réglages du paquet. Quand le paquet ne peut pas être chargé, Impossible de lire les réglages de ce paquet affiche la raison. Retrouvez cette raison dans Pourquoi un paquet ne se charge pas. Trois autres messages fonctionnent de la même façon, sans raison : Impossible de charger la sélection après le chargement d'un paquet, Impossible de changer de version après le choix d'une autre version dans l'en-tête du bot, et Impossible de lancer le paquet après Lancer dans l'éditeur. Pour chacun, regardez sous Réglages du paquet. Pourquoi un paquet ne se charge pas requires asterobot Le texte ressemble à package "<name>" requires asterobot <range>, running <version>. Le paquet indique avec quelles versions d'Asterobot il fonctionne, et la vôtre n'en fait pas partie. Le Gestionnaire de bibliothèque le marque Incompatible, et son nom passe en orange dans l'en-tête du bot. Si la plage demande un Asterobot plus récent, mettez-le à jour : voir Mettre à jour Asterobot. Si une autre version installée du paquet est compatible, passez le bot dessus : voir Changer de version. Pour un paquet du marché, cliquez sur Vérifier les mises à jour dans le Gestionnaire de bibliothèque : une version plus récente prend peut-être en charge votre Asterobot. Sinon, contactez l'auteur. has an invalid compatibleVersion constraint signifie que l'auteur a mal écrit cette plage. Seul l'auteur peut la corriger. package source integrity mismatch Les fichiers d'un paquet installé depuis le marché ne correspondent plus à ceux qu'Asterobot a téléchargés, par exemple parce qu'ils ont été modifiés à la main. Asterobot refuse de le charger. Dans le Gestionnaire de bibliothèque, ouvrez le menu du paquet, cliquez sur Supprimer, puis sur Oui, supprimer. Réinstallez-le depuis le marché, avec le même lien de fichier. Voir Installer depuis le marché. Remettez le bot sur cette version si elle a changé. Faire confiance à un paquet explique cette vérification. read package ou is not installed Le paquet, ou l'un des paquets dont il dépend, n'est pas dans votre bibliothèque à la version dont le bot a besoin. Le texte nomme celui qui manque, comme dans read package <name>@<version> sources:. Cela arrive après la suppression d'un paquet ou d'une dépendance, ou quand l'installation d'une dépendance a échoué. Pour un paquet du marché, réinstallez-le depuis le marché : Asterobot télécharge en même temps les dépendances qui lui manquent. Si vous avez supprimé cette version exprès, passez le bot sur une version installée. parse module ou resolve Un texte qui contient parse module ou resolve signifie que le code du paquet comporte une erreur : une faute de syntaxe, ou un import qui ne pointe vers rien. Pour un paquet du marché, vérifiez s'il existe une mise à jour, et prévenez son auteur en lui donnant le texte complet. Pour un paquet local, ouvrez-le avec Modifier le code : le badge d'erreurs vous mène au problème. Messages d'erreur explique chaque texte. Le comportement s'est arrêté sur une erreur Le script a démarré, puis a échoué. L'alerte affiche son erreur complète, et la colonne Comportement du Gestionnaire de bots indique Échec. Le bot reste connecté, et une partie relayée continue. Voici les textes que les joueurs rencontrent le plus souvent : Le texte contient Ce que ça signifie Que faire Game session closed La connexion de jeu s'est fermée pendant que le script tournait : vous avez quitté Dofus, le bot a été déconnecté, ou la connexion a été coupée. Reconnectez le bot, puis cliquez sur Lancer. IdentificationRequest.token: unknown protobuf field Le script a été écrit à partir d'un ancien exemple qui envoie les mauvais champs pour entrer en jeu. Mettez à jour le paquet, ou demandez à son auteur de le faire. Auteurs : voir Identifier et lancer. JavaScript execution deadline exceeded Le script a travaillé plus de 250 ms sans faire de pause. Prévenez l'auteur. behavior event-loop queue overflow Le script n'arrive pas à suivre le rythme des messages qu'il reçoit. Prévenez l'auteur. unhandled Promise rejection: Une erreur dans le script que rien n'a interceptée. Prévenez l'auteur, en lui donnant le texte complet. behavior requested Game disconnect Le script a déconnecté le bot volontairement. Rien, si le paquet est censé le faire. the game engine is not available: Asterobot n'a pas pu lire les messages du jeu. Voir Quand Dofus se met à jour. Pour relancer le script, cliquez sur Lancer. Si la même erreur revient, le paquet doit être corrigé. Installer depuis le marché Message Que faire Ce n'est pas un ID de fichier ou une URL asterobot.net valide. Copiez l'adresse de la page du fichier lui-même sur asterobot.net, ou son numéro, et non l'adresse de la catégorie. Fichier introuvable, ou vous n'avez pas la permission de le voir. Vérifiez l'adresse. Regardez ensuite le bouton du compte en bas de la barre latérale : Asterobot doit être connecté à asterobot.net pour se renseigner sur un fichier. Vous n'avez pas la permission de télécharger ce fichier. Votre compte asterobot.net n'est pas autorisé à télécharger ce fichier, et rien dans Asterobot n'y changera quoi que ce soit. Impossible d'installer le paquet Le téléchargement ou l'installation a échoué, sans raison. Le fichier n'est peut-être pas un paquet, ou bien il a plus d'une pièce jointe, pèse plus de 32 Mio ou a une dépendance qui ne peut pas être installée. Quand une dépendance a échoué, le paquet lui-même est peut-être déjà dans votre bibliothèque sans elle, et il ne démarrera pas. Installer depuis le marché donne les détails. Mettre à jour Impossible de vérifier les mises à jour : la vérification n'a pas abouti. Vérifiez qu'Asteroboard est connecté et qu'Asterobot est connecté à asterobot.net, puis réessayez. Impossible d'installer la mise à jour : les mêmes causes que pour une première installation, et pas de raison non plus. Pas de bouton Mettre à jour vers, alors que l'auteur a publié une nouvelle version : rien n'est vérifié automatiquement, alors cliquez sur Vérifier les mises à jour. Une version inférieure à la vôtre n'est pas proposée, et un fichier qui n'est plus lisible sur asterobot.net est ignoré sans message. Voir Mettre à jour les paquets. Importer et supprimer Impossible d'importer le paquet, sans raison : le fichier n'est peut-être pas un .zip, ou bien il n'a pas d'index.js, pèse plus de 32 Mio ou contient un asterobot.json invalide. Les messages de la fenêtre d'import sur le nom sont dans Gérer votre bibliothèque. Impossible de supprimer le script : rien n'a été supprimé. Réessayez. Après la suppression d'une version, un bot réglé sur celle-ci continue d'exécuter son script jusqu'à ce que le script s'arrête, puis obtient Impossible de démarrer le comportement au prochain clic sur Lancer. Passez le bot sur une autre version. Réglages et actions du paquet Ces messages apparaissent dans l'onglet Réglages du bot, sous Réglages du paquet : Message Ce que ça signifie Que faire Impossible d'appliquer les réglages, avec une raison Une valeur ne correspond pas à ce qu'attend le paquet. Rien du formulaire n'a été enregistré. Corrigez la valeur nommée dans la raison, puis cliquez de nouveau sur Appliquer. Impossible de lancer l'action, avec no behavior is running on this bot Les actions ne s'exécutent que pendant que le paquet tourne. Cliquez sur Lancer, puis sur l'action. Impossible de lancer l'action, avec une autre raison Un argument ne convient pas, ou le script en cours n'a pas cette action. Corrigez la valeur, ou cliquez sur Arrêter puis sur Lancer pour que le script en cours corresponde au paquet. Le nom de l'action suivi de a échoué Le code de l'action elle-même a échoué. Le script continue de tourner. Prévenez l'auteur. Les boutons d'action restent grisés avec « Le bot doit exécuter un comportement pour qu'une action puisse être lancée. » tant qu'aucun script ne tourne. Voir Réglages et actions d'un paquet. Contacter l'auteur Seul son auteur peut corriger le code d'un paquet du marché. Dans le Gestionnaire de bibliothèque, cliquez sur le nom du paquet. Dans ses détails, cliquez sur Voir sur asterobot.net, dans la ligne Source. Cela ouvre le fichier d'où vient le paquet. Contactez l'auteur depuis cette page, ou demandez sur le forum à https://asterobot.net/forums/. Joignez le texte complet de l'erreur copié avec Copier, la version du paquet, votre version d'Asterobot indiquée sur Serveur > État, et la version de jeu du bot. N'y joignez jamais votre config.toml, un jeton ou un mot de passe. Obtenir de l'aide liste ce qui doit rester privé. Pour aller plus loin Lancer un paquet Gérer votre bibliothèque Messages d'erreur, pour les auteurs de scripts
-
Problèmes en mode MITM
En mode MITM, abréviation de l'anglais man-in-the-middle (« homme du milieu »), un bot relaie le client Dofus avec lequel vous jouez : Asterobot redirige votre jeu vers lui-même en modifiant une ligne de votre dossier Dofus, puis transmet tout à Ankama. La plupart des problèmes de ce mode n'affichent aucune raison dans Asteroboard, donc cette page liste les causes à vérifier, dans l'ordre où elles se présentent en général. Mode MITM explique le fonctionnement du mode. Impossible de mettre le bot en attente Asteroboard affiche Impossible de mettre le bot en attente quand vous cliquez sur Commencer l'attente, ou Bot ajouté, mais il n'a pas pu être connecté quand vous ajoutez un bot avec Attendre mon client de jeu. Le bot reste Déconnecté. Asterobot a refusé, mais la raison n'est ni affichée dans Asteroboard ni écrite dans le journal, alors passez les causes en revue : Cause Ce qu'il faut vérifier Le Dofus auquel vous jouez n'est pas la version téléchargée par Asterobot Dans votre dossier Dofus, ouvrez Dofus_Data/StreamingAssets/version et lisez la ligne Version=. Elle doit correspondre exactement à la version qu'utilise le bot dans le Gestionnaire de jeux. Quand vos bots utilisent des versions différentes, Asterobot peut comparer votre jeu à n'importe laquelle d'entre elles : gardez donc tous vos bots sur la version à laquelle vous jouez. Asterobot ne peut pas lire le fichier version botmanager.mitmGamePath, sur Serveur > Config, doit être le dossier Dofus lui-même, celui qui contient Dofus_Data. Le fichier version n'a pas de ligne ConfigUrl Le dossier indiqué dans botmanager.mitmGamePath n'est pas une installation normale de Dofus. La ligne ConfigUrl pointe encore vers Asterobot depuis une session précédente, et la copie du jeu d'Asterobot n'a pas de fichier version où relire la ligne d'origine Remettez la ligne d'origine à la main, comme décrit dans Remettre la ligne à la main, ou cliquez sur Télécharger plus de fichiers sur la version de jeu du bot avec le filtre par défaut, qui inclut le fichier version. Un autre programme utilise le port 5555 ou 5556 Fermez ce programme, ou changez botmanager.mitmSignInPort et botmanager.mitmSessionPort, puis redémarrez Asterobot. botmanager.mitmSignInPort et botmanager.mitmSessionPort ont la même valeur Donnez-leur deux ports différents, puis redémarrez Asterobot. Cliquez ensuite de nouveau sur Commencer l'attente. Après un patch d'Ankama, la version est la coupable habituelle : l'Ankama Launcher a mis à jour votre Dofus, et Asterobot a encore la version précédente. Téléchargez la nouvelle et passez le bot dessus, comme l'explique Quand Dofus se met à jour. Le bot attend, mais votre jeu ne l'atteint jamais Le bot affiche En attente de votre client de jeu pendant que vous jouez, et rien n'arrive. Vérifiez ces points dans l'ordre. Asterobot n'a pas modifié la ligne Quand le premier bot se met en attente, le journal d'Asterobot, dans le terminal et sur Serveur > Console, affiche Pointed the played game at Asterobot. Un deuxième bot mis en attente ne l'affiche pas de nouveau : remontez donc plus haut si un autre bot attendait déjà. Quand la ligne n'apparaît jamais, botmanager.mitmGamePath est vide. Sur macOS, il l'est toujours au début, faute de valeur par défaut, et ailleurs il est vide quand Dofus n'était pas dans le dossier habituel de l'Ankama Launcher au lancement d'Asterobot. Le bot attend quand même, mais rien n'est modifié et votre jeu n'arrive jamais. Sur Serveur > Config, réglez botmanager.mitmGamePath sur votre dossier Dofus, celui qui contient Dofus_Data. Cliquez sur Déconnecter sur chaque bot en attente, puis de nouveau sur Commencer l'attente. Vérifiez que le journal affiche maintenant Pointed the played game at Asterobot. Voir Où Asterobot cherche votre dossier Dofus. Dofus était déjà ouvert Un Dofus lancé avant que le bot soit en attente ne passe pas par Asterobot. Fermez-le, puis relancez-le depuis l'Ankama Launcher. A game client signed in that no bot is waiting for Votre jeu est passé par Asterobot, mais aucun bot en attente ne l'a pris, et il est allé directement chez Ankama. Chaque bot prend les sessions par compte Ankama : un bot qui a relayé un compte une fois ne prend plus ensuite que les sessions de ce compte. Un bot sans compte Ankama reste rattaché pour de bon à son premier compte, même après un redémarrage, et Asteroboard n'offre aucun moyen de le détacher. Jouez avec le compte auquel le bot est rattaché. Son onglet Informations affiche le compte dès qu'une session est arrivée. Pour relayer un autre compte, ajoutez un autre bot sans compte et cliquez sur Commencer l'attente sur celui-ci. Voir Quel bot reçoit quelle session de jeu. Dofus tourne sur un autre ordinateur Asterobot ne peut modifier qu'un dossier Dofus situé sur son propre ordinateur. Pour un jeu sur un autre ordinateur, vous modifiez vous-même la ligne sur cet ordinateur et vous ouvrez les ports d'Asterobot : voir MITM sur plusieurs machines. Dofus n'arrive pas à se connecter Asterobot ne tourne pas Pendant qu'un bot attend, la ligne ConfigUrl de votre dossier Dofus pointe vers Asterobot. Si Asterobot s'arrête alors sans se fermer proprement, par exemple parce que sa fenêtre de terminal a été fermée, la ligne reste en l'état et Dofus ne peut plus du tout se connecter. Relancez Asterobot. À son lancement, il remet la ligne en place et affiche Restored a game install left pointing at Asterobot by a previous run. Lancez Dofus. Asterobot relit la ligne d'origine dans sa propre copie du jeu, qu'il retrouve grâce à vos bots. S'il n'affiche pas cette ligne, par exemple parce que tous les bots ont été ignorés à son lancement ou parce que botmanager.mitmGamePath est vide, remettez la ligne à la main comme décrit plus bas. Un bot qui se met en attente commence lui aussi par réparer la ligne, et affiche Recovering a ConfigUrl left pointing at Asterobot by a previous run. Arrêter Asterobot avec Ctrl+C ou Éteindre le serveur remet la ligne en place immédiatement, tout comme déconnecter le dernier bot en attente. HTTPS ou un mot de passe est configuré Le mode MITM ne fonctionne pas tant que server.tls est activé ou que server.basicAuth contient quelque chose, même avec Dofus et Asterobot sur le même ordinateur. La ligne qu'écrit Asterobot demande toujours à Dofus de récupérer sa configuration de connexion en simple http://, sans mot de passe. Avec HTTPS, le port d'Asterobot ne répond qu'aux requêtes HTTPS, et avec l'authentification basique il demande un mot de passe que Dofus ne peut pas fournir. Dans les deux cas, Dofus n'obtient pas sa configuration de connexion et ne peut pas se connecter en passant par Asterobot. Sur Serveur > Config, désactivez server.tls et cliquez sur Rétablir la valeur par défaut sur server.basicAuth. Redémarrez Asterobot. Sur l'ordinateur où tourne Asterobot, ouvrez http://127.0.0.1:8080, pour qu'Asteroboard reprenne l'adresse en simple HTTP. Cliquez sur Commencer l'attente, puis lancez Dofus. Pour utiliser Asteroboard depuis un autre appareil tout en gardant le mode MITM, passez par un tunnel SSH plutôt que par HTTPS : voir Asterobot sur une machine distante. Failed to fetch the real game configuration Quand Dofus demande sa configuration de connexion à Asterobot, Asterobot récupère la vraie configuration d'Ankama et y remplace l'adresse de connexion. Cette erreur dans le journal signifie qu'il n'a pas pu joindre Ankama pour cela. Failed to reach the Ankama login server signifie la même chose pour la connexion elle-même. Vérifiez la connexion internet de l'ordinateur où tourne Asterobot, puis relancez Dofus. Remettre la ligne à la main Quand Asterobot ne peut pas restaurer votre dossier Dofus, vous pouvez le faire vous-même : Fermez Dofus. Trouvez la copie de la même version de jeu propre à Asterobot, dans son dossier de cache, sous game/dofus/dofus3/windows/ suivi du numéro de version. Fichiers et dossiers indique où se trouve le dossier de cache. Asterobot ne modifie jamais cette copie. Si la version n'y est plus, retéléchargez-la d'abord dans le Gestionnaire de jeux. Ouvrez le fichier Dofus_Data/StreamingAssets/version de cette copie et copiez sa ligne ConfigUrl=. Dans votre propre dossier Dofus, ouvrez Dofus_Data/StreamingAssets/version avec un éditeur de texte, et remplacez sa ligne ConfigUrl= par celle que vous avez copiée. Laissez les autres lignes telles quelles. Enregistrez le fichier et lancez Dofus. Une ligne ConfigUrl qui se termine par /botmanager/mitm/dofus3.json a été écrite par Asterobot. La ligne qu'Asterobot modifie l'explique. Votre jeu est déconnecté en atteignant le bot Vous vous connectez, et le jeu se déconnecte au moment d'entrer. Le journal d'Asterobot affiche Failed to relay a game session, suivi de la raison. La raison mentionne dial the real game server : Asterobot n'a pas pu joindre le serveur de jeu. Vérifiez la connexion internet et le pare-feu de l'ordinateur où tourne Asterobot. Juste après un patch d'Ankama, votre version d'Asterobot ne prend peut-être pas encore en charge la nouvelle version. Voir Quand Dofus se met à jour. Votre jeu est déconnecté pendant que vous jouez Le bot porte votre session, donc tout ce qui met fin à la session du bot met fin à votre partie : Déconnecter sur le bot, Supprimer le bot, ou l'arrêt d'Asterobot. Un paquet qui ferme la connexion de jeu. Cliquez sur Arrêter et jouez sans lui pour en avoir le cœur net. Un autre Dofus qui se connecte avec le même compte Ankama : la nouvelle session remplace celle que portait le bot. Quand vous quittez Dofus, le bot revient à En attente de votre client de jeu, et un script en cours s'arrête avec Le comportement s'est arrêté sur une erreur. C'est normal : appuyez de nouveau sur Lancer une fois votre jeu revenu. Les scripts sur une session relayée Refused to forward a message that would re-authenticate a relayed session Cet avertissement apparaît dans l'onglet Console du bot. Le script a envoyé IdentificationRequest, le message qu'un script de connexion Full socket envoie pour entrer en jeu. Votre Dofus l'a déjà fait, et le renvoyer mettrait fin à votre session : Asterobot ne l'a donc pas transmis. Le script continue de tourner. Si le script attend plutôt une réponse à ce message, il reçoit mitm relay refuses to identify: this Game session was already authenticated by the real DOFUS client, et s'arrête avec Le comportement s'est arrêté sur une erreur, sauf s'il gère l'erreur. Un script de connexion ne devrait s'identifier qu'à son premier lancement, quand launch.reason vaut "initial", ce qui n'arrive jamais sur une session relayée. Si vous l'avez écrit, voir Identifier et lancer. Sinon, prévenez son auteur. interceptor failed: Un paquet peut modifier ou bloquer les messages entre votre jeu et le serveur. Cette ligne d'erreur dans la console du bot signifie qu'une des fonctions qui s'en chargent a levé une erreur ou a tourné plus de 250 ms : le message est passé sans modification, et le script continue de tourner. Une fonction écrite en async se comporte autrement : elle laisse toujours passer le message, et quand elle échoue, c'est tout le script qui s'arrête, avec unhandled Promise rejection: dans Le comportement s'est arrêté sur une erreur. Dans les deux cas, le paquet a un bug. Prévenez son auteur, ou consultez Interception si c'est le vôtre. Ce qu'affiche le bot n'a aucun sens Quand votre Dofus et la version de jeu du bot diffèrent, Asterobot lit les messages de votre jeu avec les définitions d'une autre version : les noms, les champs et les objets peuvent paraître plausibles tout en étant faux. Sur un seul ordinateur, Asterobot refuse de se mettre en attente dans ce cas. Sur plusieurs machines, rien ne le vérifie : comparez la ligne Version= de l'ordinateur où tourne Dofus avec le Gestionnaire de jeux après chaque mise à jour de Dofus. Pour aller plus loin Mode MITM MITM sur plusieurs machines Erreurs de paquet
-
Le bot ne se connecte pas
Un bot en mode Full socket, qu'Asterobot connecte tout seul, peut bloquer à n'importe quelle étape, du bouton Ajouter le bot qui refuse jusqu'au bot qui affiche Connecté au serveur de jeu sans jamais entrer en jeu. Pour un bot qui attend votre client Dofus en mode MITM (« homme du milieu », de l'anglais man-in-the-middle), voir Problèmes en mode MITM. Trouver la raison Quand une connexion échoue, Asteroboard affiche Impossible de connecter le bot avec la raison, et cette même raison reste dans une alerte Impossible de connecter ce bot sous l'en-tête du bot, sur chaque onglet. Copier la place dans votre presse-papiers. L'onglet Console du bot raconte chaque étape de la connexion : ses dernières lignes vous indiquent donc où elle s'est arrêtée. Deux échecs arrivent sans aucune raison : Impossible d'ajouter le bot, et un bot qui disparaît du Gestionnaire de bots. Leurs causes sont listées ci-dessous. Impossible d'ajouter le bot Asterobot a refusé le nouveau bot, et Asteroboard ne dit pas pourquoi. La fenêtre reste ouverte avec vos choix. Les causes : Le nom est déjà pris par un bot du Gestionnaire de bots. Le compte appartient déjà à un autre bot. Un compte Ankama ne peut appartenir qu'à un seul bot. Asterobot n'a pas pu confirmer votre compte asterobot.net, par exemple parce qu'il n'est pas connecté. Voir this installation is not entitled to start bots. La limite de bots de votre compte asterobot.net est atteinte. Chaque bot listé dans le Gestionnaire de bots compte, connecté ou non. Regardez le bouton du compte en bas de la barre latérale : il doit afficher votre nom asterobot.net. Vérifiez qu'aucun bot du Gestionnaire de bots ne porte le même nom, et qu'aucun autre bot n'utilise ce compte. Si vous avez beaucoup de bots, supprimez-en un dont vous ne vous servez plus. Cliquez de nouveau sur Ajouter le bot. Warning Dans quelques autres cas d'échec, le bot a bien été ajouté alors que la fenêtre reste ouverte, par exemple quand une connexion prend plus de 90 secondes. Regardez le Gestionnaire de bots avant de cliquer de nouveau sur Ajouter le bot : avec un nom vide, un second bot serait ajouté. Voir Ajouter un bot. Ajouter le bot reste grisé La fenêtre attend que tout ce dont elle a besoin soit renseigné, par exemple une version de jeu prête, un compte connecté pour Se connecter maintenant (l'option sélectionnée à l'ouverture de la fenêtre) ou un serveur pour Toujours ce serveur. Ajouter un bot liste toutes les conditions. Connecter est grisé Le bot n'est pas Déconnecté. Pendant que le bot se connecte, attend ou est connecté, l'en-tête affiche Déconnecter à la place. Cliquez d'abord dessus. Le bot n'a pas de compte Ankama. L'infobulle indique « Ce bot n'a aucun compte Ankama pour se connecter. » Il peut seulement relayer une partie que vous jouez, en mode MITM. Pour qu'il se connecte tout seul, choisissez un compte connecté dans son onglet Réglages pendant qu'il est déconnecté. La version du jeu du bot n'est pas encore prête Asteroboard affiche La version du jeu du bot n'est pas encore prête, avec « Ses fichiers de jeu ou ses données extraites ne sont pas complètement prêts - vérifiez le Gestionnaire de jeux pour cette version. » La raison dans l'alerte est this bot's game version is not ready to connect yet. Asterobot vérifie ce point avant que quoi que ce soit ne parte sur le réseau. Ouvrez le Gestionnaire de jeux et trouvez la version du bot. Sa colonne Prêt indique Pas prêt. S'il manque des fichiers, ouvrez le menu de la version et cliquez sur Télécharger plus de fichiers, avec le filtre par défaut. Une fois le téléchargement terminé, cliquez sur Extraire les données dans le même menu, et attendez Prêt pour un bot. Cliquez de nouveau sur Connecter. Problèmes de téléchargement du jeu vous aide quand le téléchargement ou l'extraction échoue. Les raisons d'un échec de connexion this installation is not entitled to start bots Asterobot n'a pas pu confirmer votre compte asterobot.net. Cela arrive quand Asterobot n'est pas connecté, quand il n'a pas pu joindre asterobot.net depuis plus d'une heure, ou quand asterobot.net l'a refusé. Asterobot fait cette vérification quand vous ajoutez un bot, quand vous changez le compte ou la version de jeu d'un bot, quand vous cliquez sur Connecter, et quand il restaure les bots à son lancement. Mettre un bot en attente de votre client Dofus n'est pas concerné. Regardez le bouton du compte en bas de la barre latérale. S'il n'affiche pas votre nom asterobot.net, connectez-vous comme l'explique Se connecter avec asterobot.net. Vérifiez que l'ordinateur où tourne Asterobot peut joindre asterobot.net, et consultez https://status.asterobot.net. Cliquez de nouveau sur Connecter. Si le problème persiste alors qu'Asterobot est connecté et en ligne, demandez sur le forum à https://asterobot.net/forums/ ou sur Discord à https://discord.asterobot.net. this account's bot limit has been reached Vous avez déjà autant de bots que votre compte asterobot.net le permet. Chaque bot du Gestionnaire de bots compte, y compris les bots déconnectés. Supprimez un bot dont vous ne vous servez plus, puis réessayez. Si ce décompte vous semble faux, demandez sur le forum ou sur Discord. ankama account authorization required Le compte Ankama du bot n'a plus de connexion valide, et Asterobot n'a pas pu la renouveler : Ankama a refusé le renouvellement discret, et soit le compte n'a pas de mot de passe enregistré, soit sa connexion automatique a échoué. Ouvrez le Gestionnaire de comptes et cliquez sur Reconnecter dans le menu du compte. Connectez le compte. Problèmes de connexion aux comptes vous aide si cela échoue. Cliquez de nouveau sur Connecter sur le bot. account not found Le compte du bot a été supprimé du Gestionnaire de comptes. La raison est suivie de l'identifiant du compte. Ajoutez de nouveau le compte avec le même identifiant et connectez-le, puis cliquez sur Connecter. Ou choisissez un autre compte connecté dans l'onglet Réglages du bot, pendant que le bot est déconnecté. identification was refused: account already connected elsewhere Le compte est déjà en jeu : dans Dofus, ou par un autre bot, y compris un bot qui relaie votre Dofus en mode MITM. Fermez l'autre session : quittez Dofus, ou déconnectez l'autre bot. Attendez un instant, puis cliquez de nouveau sur Connecter. Quand la raison indique identification was refused: suivi d'autre chose, c'est Ankama qui donne là sa propre raison de refuser le compte. Les comptes protégés par Ankama Shield ou par l'authentification à deux facteurs peuvent s'arrêter ici : voir Shield et authentification à deux facteurs. connect to login server: timed out waiting for a response Le serveur de connexion du jeu n'a pas répondu dans les 30 secondes. Vérifiez la connexion internet de l'ordinateur où tourne Asterobot, et si les serveurs du jeu sont en maintenance, puis réessayez. server selection was refused: Le serveur de connexion a refusé le serveur choisi par le bot, avec sa propre raison après les deux-points. Réessayez plus tard, ou réglez Choix du serveur sur Me demander à chaque fois dans l'onglet Réglages du bot et choisissez un autre serveur. connect bot to game server: L'étape du serveur de connexion a réussi, mais le bot n'a pas pu ouvrir sa connexion au serveur de jeu vers lequel il a été envoyé. Vérifiez la connexion internet et le pare-feu de l'ordinateur où tourne Asterobot, puis cliquez sur Déconnecter et de nouveau sur Connecter. a connection attempt is already in progress Un bot ne mène qu'une tentative de connexion à la fois, et une seconde est arrivée, en général depuis un autre onglet Asteroboard ouvert. Attendez la fin de la première tentative, ou cliquez sur Déconnecter et recommencez depuis un seul onglet. bot must be disconnected before starting a new login connection et this bot is relaying a session: stop it before signing in on its own sont le même genre de refus : le bot est déjà connecté, ou en attente de votre client de jeu. Cliquez d'abord sur Déconnecter. Après une mise à jour de Dofus Juste après un patch d'Ankama, un bot sur la nouvelle version peut refuser de se connecter tant que votre version d'Asterobot ne la prend pas en charge. Quand Dofus se met à jour liste ce que vous pouvez voir, dont une raison qui vous demande de mettre à jour Asterobot. Bloqué sur Connexion… Une connexion Ankama automatique est en cours. Quand la connexion du compte ne fonctionne plus et qu'un mot de passe est enregistré, Asterobot reconnecte le compte par le navigateur, ce qui peut prendre jusqu'à deux minutes. Un autre compte est en train de se connecter. Les connexions Ankama se font une par une pour l'ensemble de vos comptes : un bot attend donc celle qui passe avant lui. Le serveur de connexion est lent. Chaque échange avec lui est limité à 30 secondes, après quoi la connexion échoue avec une raison. Pour abandonner, cliquez sur Déconnecter : cela annule la tentative à n'importe quelle étape. Bloqué sur En attente de votre réponse Le bot attend que vous choisissiez un serveur dans l'encadré Choisissez un serveur, sous son en-tête. Il pose la question quand son Choix du serveur est Me demander à chaque fois, quand le serveur choisi avec Toujours ce serveur est hors ligne ou fermé à ce compte, et quand aucun serveur n'est en ligne et ouvert à ce compte. Asterobot ne fixe aucune limite de temps pour répondre. Ouvrez la page du bot. Une notification comme Le bot « my-bot » a besoin de votre saisie comporte un bouton Aller au bot qui l'ouvre. Cliquez sur un serveur qui n'est pas grisé. Si Asteroboard affiche Impossible d'envoyer votre réponse, le serveur est peut-être passé hors ligne entre-temps : choisissez-en un autre, ou cliquez sur Déconnecter, puis sur Connecter. Voir Mode Full socket. Connecté au serveur de jeu, mais le bot n'entre jamais en jeu C'est la surprise la plus courante en mode Full socket. Connecté au serveur de jeu signifie que la connexion au serveur de jeu est ouverte, rien de plus. Asterobot n'identifie pas le bot auprès du serveur de jeu et ne choisit pas de personnage : c'est le travail d'un script de connexion, un paquet que le bot lance. L'état affiché est le même, que le script ait fait son travail ou non. Note Bientôt disponible. Des scripts de connexion prêts à l'emploi, un simple et un complet, seront publiés pour que vous puissiez les lancer et les réutiliser. D'ici là, il vous faut votre propre script : Identifier et lancer montre l'identification dont tout script Full socket a besoin. Vous pouvez aussi utiliser le mode MITM, qui n'a besoin d'aucun script de connexion. Passez ces vérifications : Un script tourne-t-il ? Pendant qu'il tourne, l'en-tête affiche le paquet et Arrêter, et la colonne Comportement du Gestionnaire de bots indique En cours. Avec Aucun paquet sélectionné, ou si Lancer est toujours affiché, rien n'identifie le bot : chargez un script de connexion et cliquez sur Lancer. Voir Lancer un paquet. Le paquet est-il un script de connexion ? Un paquet conçu pour autre chose, par exemple pour consigner le chat, n'identifie pas le bot. Le code de départ que crée Nouveau paquet non plus. Que dit la Console du bot ? Les lignes écrites par le script vous disent comment s'est passée l'identification. Le script s'est-il arrêté ? Une alerte Le comportement s'est arrêté sur une erreur sous l'en-tête donne l'erreur. Avec IdentificationRequest.token: unknown protobuf field, le script a été copié d'un ancien exemple qui envoie token et lang : il lui faut le bloc d'identification de Identifier et lancer. Si vous n'avez pas écrit le paquet, demandez une mise à jour à son auteur. Erreurs de paquet couvre les autres erreurs. L'état revient à Connecté au serveur de connexion La connexion de jeu du bot s'est fermée. La console affiche Game connection lost, et l'état reste sur Connecté au serveur de connexion au lieu de Déconnecté. Un script en cours s'arrête, avec Le comportement s'est arrêté sur une erreur et un message qui mentionne Game session closed. Rien ne se reconnecte tout seul : Cliquez sur Déconnecter. Cliquez sur Connecter, et attendez Connecté au serveur de jeu. Cliquez sur Lancer. Si la connexion retombe juste après Lancer, lisez les lignes du script dans la console du bot pour voir ce qu'il a envoyé. Un bot a disparu du Gestionnaire de bots Après le lancement d'Asterobot. Asterobot a ignoré le bot, parce que son compte Ankama ou sa version de jeu manque, parce qu'il n'a pas pu préparer les connexions Ankama, ou parce qu'il n'a pas pu confirmer votre compte asterobot.net dans ses premières secondes. Dans ce dernier cas, tous les bots sont ignorés. Le terminal affiche un avertissement qui commence par skipping bot restore:, avec la raison. La configuration du bot est conservée : corrigez la cause et redémarrez Asterobot. Voir Déconnecter, supprimer et redémarrer. Juste après l'enregistrement de ses réglages. Quand Asterobot refuse un nouveau compte ou une nouvelle version de jeu, par exemple avec this account is already associated with a bot, ou ne peut pas confirmer votre compte asterobot.net à ce moment-là, le bot disparaît jusqu'au redémarrage d'Asterobot, puis revient avec ses réglages précédents. Voir Réglages du bot. Warning N'ajoutez pas de nouveau bot portant le nom d'un bot disparu : il remplacerait pour de bon la configuration enregistrée du bot manquant. Impossible d'enregistrer les réglages Asteroboard affiche la raison sous Impossible d'enregistrer les réglages. Celles que vous rencontrerez le plus sont this account is already associated with a bot, quand un autre bot utilise le compte choisi, et this installation is not entitled to start bots, traitée plus haut. Réglages du bot indique quand Enregistrer reste grisé. Pour aller plus loin États et commandes Mode Full socket Erreurs de paquet
-
Problèmes de connexion aux comptes
Asterobot gère deux connexions qui n'ont rien à voir entre elles. Il se connecte lui-même à votre compte asterobot.net, avec un code que vous confirmez sur le site, et il connecte les comptes Ankama avec lesquels jouent vos bots en mode Full socket. Un bot en mode MITM (« homme du milieu », de l'anglais man-in-the-middle) n'a besoin d'aucune connexion Ankama dans Asterobot : vous vous connectez vous-même, dans Dofus. asterobot.net Se connecter avec asterobot.net explique comment fonctionne le code quand tout se passe bien. Cliquer sur Se connecter ne fait rien Le bouton du compte reste sur Se connecter, et aucun lien n'arrive. Soit Asterobot a demandé un code à asterobot.net sans en obtenir, soit votre clic n'a jamais atteint Asterobot. Dans les deux cas, Asteroboard n'affiche aucun message. Vérifiez qu'Asteroboard est connecté : pas de point rouge sur Préférences dans la barre latérale. S'il y en a un, voir Asteroboard ne se connecte pas. Cherchez dans le terminal d'Asterobot, ou sur Serveur > Console, l'avertissement Failed to request a sign-in code, suivi de la raison. Vérifiez que l'ordinateur où tourne Asterobot peut joindre asterobot.net, et consultez https://status.asterobot.net. Cliquez de nouveau sur Se connecter. Connexion en attente, mais aucun onglet ne s'est ouvert Asterobot n'ouvre un onglet de navigateur de lui-même que pour le premier code après avoir perdu sa connexion, et seulement sur l'ordinateur où il tourne. Sur une machine sans environnement de bureau, le terminal affiche Failed to open the web browser à la place. Le code attend quand même. Cliquez sur le bouton du compte, qui indique Connexion en attente : il ouvre le lien de connexion dans un nouvel onglet, sur l'appareil que vous utilisez. Ou copiez le lien depuis le terminal, sur la ligne qui suit Website sign-in required. Please visit this link to authorize access to your account; the app will continue automatically once authorized. Ou activez website.showQRCode sur Serveur > Config, et scannez le QR code que le terminal affiche avec le code suivant. Sign-in was not completed in time; it will be offered again Asterobot a cessé d'attendre le code. Soit personne ne l'a confirmé dans les 15 minutes, soit quelqu'un l'a refusé sur asterobot.net : les deux cas se terminent par cette même ligne. Le bouton du compte revient sur Se connecter, et Asterobot redemande un code de lui-même au bout de quelques minutes. Pour obtenir un nouveau code tout de suite, rechargez Asteroboard. Si le bouton du compte indique Se connecter, cliquez dessus. Ouvrez le nouveau lien et confirmez le code dans les 15 minutes. This code is invalid or has expired. Check the code displayed on your device and try again. asterobot.net affiche ce message quand le code ne correspond à aucune connexion en attente : il a été mal saisi, il a déjà servi, ou il date de plus de 15 minutes. Comparez-le avec le code à la fin du lien, après code=. Un code compte huit caractères, des chiffres et des lettres de A à F. Les espaces, les traits d'union et les minuscules n'ont pas d'importance. S'il date de plus de 15 minutes, obtenez-en un nouveau comme décrit dans la section précédente. Too many incorrect codes have been entered. Wait a few minutes and try again. 20 codes ne correspondant à aucune connexion en attente ont été saisis depuis votre connexion internet en moins de 15 minutes, et asterobot.net a cessé pour un temps de vérifier les codes venant de cette connexion. Un code qui n'a pas le bon format ne compte pas. Arrêtez de saisir des codes. Patientez. Vous pourrez de nouveau saisir des codes au plus tard 15 minutes après le dernier code erroné. Ouvrez le lien depuis le bouton du compte au lieu de saisir le code : il transmet le code à votre place. The authorization was denied. You can close this page; your device will stop waiting shortly. Quelqu'un a refusé l'accès à Asterobot sur la page d'autorisation d'asterobot.net. Asterobot cesse d'attendre et affiche Sign-in was not completed in time; it will be offered again. Si c'était une erreur, obtenez un nouveau code et autorisez l'accès cette fois. Start again from your device. Trois messages d'asterobot.net se terminent ainsi : This authorization link is invalid or has expired. Start again from your device. This authorization session has expired. Start again from your device. The authorization could not be completed. Start again from your device. La page a été ouverte depuis un lien périmé ou abîmé, le code a expiré pendant que vous vous connectiez, ou asterobot.net n'a pas pu terminer. Ouvrez le lien le plus récent depuis le bouton du compte. Si le bouton indique Se connecter, cliquez dessus pour obtenir un nouveau code. Website rejected the token asterobot.net n'accepte plus la connexion d'Asterobot, par exemple parce qu'elle a expiré ou a été révoquée. Asterobot l'oublie et démarre aussitôt une nouvelle connexion : après cet avertissement, le terminal affiche un nouveau lien, et le bouton du compte passe sur Connexion en attente. Confirmez le nouveau code. Asterobot reste déconnecté après un redémarrage Après Se déconnecter sur le bouton du compte, ou Déconnecter sur la page Compte, Asterobot ne se reconnecte pas de lui-même, pas même à son redémarrage. Cliquez sur Se connecter sur le bouton du compte. Voir Votre compte. Asterobot est connecté avec le mauvais compte Le code est confirmé pour le compte avec lequel votre navigateur est connecté sur asterobot.net à ce moment-là. Déconnectez Asterobot, connectez-vous au bon compte sur le site, puis cliquez de nouveau sur Se connecter. Votre compte détaille la marche à suivre. Connecté, mais les bots sont refusés Quand Asterobot est connecté et refuse pourtant d'ajouter ou de connecter des bots avec this installation is not entitled to start bots, voir Le bot ne se connecte pas. Comptes Ankama Connexion automatique et Connexion manuelle expliquent les deux façons de connecter un compte. Connecter automatiquement n'apparaît pas dans le menu Connecter automatiquement n'apparaît que pour un compte dont le mot de passe est enregistré. Ouvrez le menu du compte, cliquez sur Connecter, puis enregistrez le mot de passe avec Enregistrer un mot de passe Ankama pour la connexion automatique en bas de la fenêtre. Voir Connexion manuelle. Échec de la connexion automatique : ankama account authorization required Après Échec de la connexion automatique, le message commence par ankama account authorization required, suivi de l'adresse de la page de connexion d'Ankama, et se termine en vous demandant d'enregistrer un code dans la configuration. Ignorez cette fin : la connexion se fait dans la fenêtre d'Asteroboard. Le message est le même quel que soit le problème, alors commencez par trouver la vraie raison. Ouvrez le terminal d'Asterobot, ou Serveur > Console. Cherchez l'avertissement Automatic Ankama sign-in failed, a person has to sign in. Son erreur commence par browser sign-in failed:, puis indique ce qui s'est passé. Retrouvez ce texte dans le tableau ci-dessous. L'erreur contient Ce qui s'est passé Que faire failed to start a browser (is Chrome, Chromium or Edge installed?) Asterobot n'a trouvé sur son ordinateur aucun navigateur qu'il puisse lancer. Installez Chrome, Chromium ou Edge sur l'ordinateur où tourne Asterobot, ou indiquez son chemin dans zaapmanager.browserPath. Quand ce réglage est rempli, Asterobot n'essaie que ce navigateur. ankama's sign-in page is asking for a human (bot challenge or captcha) Le formulaire de connexion d'Ankama n'est pas apparu dans les 30 secondes, ou la page n'était pas le formulaire qu'attend Asterobot. Voir Ankama demande une intervention humaine. the request was refused by Ankama's edge network before Ankama saw it Le navigateur a reçu une page de blocage avant d'atteindre Ankama. Le compte lui-même n'a pas été vérifié. Réessayez plus tard, ou connectez-vous à la main. ankama did not accept the sign-in (wrong password, a verification step, or a challenge raised after submitting) Le formulaire a été envoyé, mais la page de confirmation d'Ankama n'est pas arrivée dans les 60 secondes. Vérifiez le mot de passe et enregistrez-le de nouveau. Si Ankama demande une étape de vérification pour ce compte, celui-ci ne peut pas se connecter automatiquement : voir Shield et authentification à deux facteurs. failed to open ankama's sign-in page, failed to fill ankama's sign-in form ou failed to submit ankama's sign-in form Le navigateur n'a pas pu charger la page d'Ankama, ou n'a pas pu utiliser son formulaire. Vérifiez la connexion internet de l'ordinateur où tourne Asterobot, puis connectez-vous à la main. browser signed in but the Continue link carried no code La connexion a réussi, mais le lien derrière Continuer ne contenait aucun code. Connectez-vous à la main. Quand vous avez lancé la tentative avec le bouton Connecter automatiquement de la fenêtre de connexion, celle-ci affiche aussi une image de la page où se trouvait le navigateur au moment où il a abandonné. C'est souvent le moyen le plus rapide de distinguer un captcha d'un mauvais mot de passe. Ankama demande une intervention humaine Ankama place parfois une vérification ou un captcha devant son formulaire, et la connexion automatique n'essaie pas de la franchir. Vous avez deux solutions : Se connecter à la main, dans votre propre navigateur, depuis la fenêtre de connexion du compte, sous « ou connectez-vous vous-même ». Cela fonctionne quel que soit l'endroit où tourne Asterobot. Voir Connexion manuelle. Répondre dans la fenêtre du navigateur de connexion, quand Asterobot tourne sur l'ordinateur devant lequel vous êtes : désactivez zaapmanager.browserHeadless sur Serveur > Config, relancez la connexion automatique, répondez vite dans la fenêtre qui s'ouvre, puis réactivez le réglage. Voir Connexion automatique. Connecter automatiquement semble bloqué Une connexion par le navigateur peut prendre jusqu'à deux minutes. De plus, les connexions Ankama se font une par une pour l'ensemble de vos comptes : un compte attend donc pendant qu'un autre se connecte. Attendez le résultat avant de cliquer de nouveau. Impossible de démarrer la connexion Ouvrir la connexion Ankama a échoué. La première fois qu'Asterobot prépare une connexion Ankama après son lancement, il récupère auprès d'Ankama la version actuelle de l'Ankama Launcher, et cette étape n'a pas fonctionné. Vérifiez la connexion internet de l'ordinateur où tourne Asterobot, puis cliquez de nouveau sur Ouvrir la connexion Ankama. Impossible de terminer la connexion - le code a peut-être expiré, réessayez Asterobot n'a pas pu échanger ce que vous avez collé contre la connexion du compte. Un code ne sert qu'une fois, et uniquement pour la connexion pour laquelle il a été créé. Les causes courantes : Le lien a été copié en partie seulement, ou c'est l'adresse de la page Félicitations d'Ankama au lieu du lien derrière son bouton Continuer. Le code a déjà servi, ou vient d'un ancien onglet : chaque clic sur Ouvrir la connexion Ankama démarre une nouvelle connexion, et seul son propre code correspond. Asterobot a redémarré après votre clic sur Ouvrir la connexion Ankama. Fermez la fenêtre. Rouvrez-la depuis le menu du compte et cliquez sur Ouvrir la connexion Ankama. Connectez-vous, faites un clic droit sur Continuer, copiez l'adresse du lien, qui commence par zaap://login?code=, et collez-la dans Code d'autorisation. Cliquez sur Valider. Le même message apparaît quand Asterobot refuse des jetons saisis dans Saisir les jetons manuellement (debug), par exemple une date d'expiration qu'il ne sait pas lire. Échec de la vérification - essayez de vous reconnecter Vérifier a interrogé Ankama, la connexion du compte ne fonctionnait pas, et Asterobot n'a pas pu la réparer : le renouvellement discret a été refusé, et une connexion par le navigateur n'était pas possible ou a échoué elle aussi. Cliquez sur Reconnecter dans le menu du compte et connectez-vous de nouveau. Impossible de rafraîchir le jeton - essayez de vous reconnecter Ankama a refusé Forcer le rafraîchissement du jeton, ou le compte n'a pas de jeton de rafraîchissement. Cette action ne se rabat jamais sur le navigateur. Cliquez sur Reconnecter et connectez-vous de nouveau. Le compte affiche Connecté, et les bots échouent avec ankama account authorization required Connecté signifie seulement qu'Asterobot détient les jetons du compte, pas qu'Ankama les accepte encore. Quand un bot se connecte, Asterobot met réellement la connexion à l'épreuve : il la renouvelle discrètement quand Ankama le permet, reconnecte par le navigateur un compte dont le mot de passe est enregistré, et sinon la connexion échoue avec ce message. Dans le Gestionnaire de comptes, cliquez sur Vérifier dans le menu du compte. En cas d'échec, cliquez sur Reconnecter et connectez-vous. Connectez de nouveau le bot. Quand le compte a un mot de passe enregistré et échoue quand même, le journal d'Asterobot donne la raison, comme décrit dans Échec de la connexion automatique. Comptes avec Ankama Shield ou authentification à deux facteurs Ces comptes ne peuvent pas servir en mode Full socket : la connexion automatique ne sait pas répondre à l'étape supplémentaire, et le mode Full socket ne les prend pas en charge même quand ils affichent Connecté. Utilisez le mode MITM, où vous vous connectez vous-même dans Dofus. Voir Shield et authentification à deux facteurs. Pour aller plus loin Le bot ne se connecte pas État et actions d'un compte Obtenir de l'aide
-
Asteroboard ne se connecte pas
Asteroboard n'a rien à afficher par lui-même : chaque bot, chaque réglage et chaque version de jeu de ses pages vient de votre Asterobot. Quand les deux ne communiquent plus, les pages restent vides et vos clics n'aboutissent pas. Les causes ci-dessous commencent par la plus courante. Comment le reconnaître Où Ce que vous voyez Une notification Serveur déconnecté, avec « Asteroboard a perdu la connexion au serveur Asterobot. Nouvelle tentative automatique… » La barre latérale Un point rouge qui clignote sur Préférences Serveur > État Un point rouge et Déconnecté, ou un point orange et Connexion en cours… pendant qu'Asteroboard essaie Préférences, dans la section Serveur Le badge Déconnecté à côté de Tester la connexion La page d'un bot « Ce bot n'est pas enregistré (ou a été supprimé). » avec « Il a peut-être été supprimé, ou le serveur qui l'héberge n'est pas joignable. » Asteroboard essaie de se reconnecter tout seul, une fois par seconde, tant que la page est ouverte. Il affiche Serveur déconnecté une seule fois quand il perd Asterobot, pas à chaque tentative, puis Serveur connecté quand la connexion revient. Inutile de recharger la page. Pour vérifier tout de suite, ouvrez Préférences, allez dans la section Serveur et cliquez sur Tester la connexion. Asteroboard envoie une requête à l'adresse indiquée dans URL du serveur : Serveur joignable, avec une ligne comme « Latence aller-retour : 12 ms » : Asterobot a répondu. Si le badge n'indiquait pas encore Connecté, Asteroboard se reconnecte aussitôt. Serveur injoignable : rien n'a répondu à cette adresse. Lisez la suite. Asterobot ne tourne pas C'est la cause la plus courante. Asterobot s'arrête quand sa fenêtre de terminal est fermée, quand quelqu'un clique sur Éteindre le serveur, quand on appuie sur Ctrl+C dans son terminal ou quand l'ordinateur redémarre. Asteroboard ne peut pas le relancer. Allez sur l'ordinateur où tourne Asterobot et cherchez sa fenêtre de terminal. S'il n'y en a pas, relancez Asterobot comme l'explique Premier lancement. Attendez Server listening dans le terminal. Asteroboard se connecte tout seul et affiche Serveur connecté. Vos bots reviennent déconnectés : rien ne se reconnecte et aucun paquet ne se relance tout seul. Voir Déconnecter, supprimer et redémarrer. An error occurred during the server's initialization process Asterobot affiche ce message et s'arrête peu après son lancement : il n'a pas pu écouter sur son adresse. La suite de la ligne commence par failed to make server listen:, suivi de la raison donnée par votre système. Deux choses peuvent vous induire en erreur. Le terminal affiche Server listening juste avant l'erreur, parce qu'Asterobot écrit cette ligne avant d'essayer. Et votre navigateur peut encore ouvrir http://127.0.0.1:8080, qui affiche alors ce qui occupe déjà ce port : si c'est une autre copie d'Asterobot, vous arrivez sur un Asteroboard connecté à cette autre copie. Les causes habituelles : Une autre copie d'Asterobot tourne déjà, dans une autre fenêtre de terminal, dans un multiplexeur de terminal comme tmux ou en tant que service. Servez-vous de celle-là, ou arrêtez-la avant d'en lancer une nouvelle. Un autre programme utilise le port 8080. Donnez un autre port à Asterobot, comme ci-dessous. server.listenAddress indique une adresse que cet ordinateur n'a pas, par exemple une adresse réseau qui a changé depuis que vous l'avez réglée. Remettez 127.0.0.1:8080, ou l'adresse actuelle. Comme Asterobot ne tourne pas, modifiez le réglage dans config.toml avec un éditeur de texte. Fichiers et dossiers indique où se trouve le fichier. Ouvrez config.toml. Ajoutez ces lignes, ou changez la valeur si une section [server] existe déjà : [server] listenAddress = "127.0.0.1:8081" Enregistrez le fichier et relancez Asterobot. Ouvrez http://127.0.0.1:8081 dans votre navigateur, pour qu'Asteroboard prenne la nouvelle adresse. En mode MITM (« homme du milieu », de l'anglais man-in-the-middle), la ligne qu'Asterobot écrit dans votre dossier Dofus suit le nouveau port d'elle-même. Comment les parties communiquent traite aussi des deux ports MITM. L'URL du serveur pointe ailleurs Asterobot tourne, son terminal affiche Server listening, et pourtant Asteroboard reste déconnecté. Asteroboard se connecte à l'adresse enregistrée comme URL du serveur dans le navigateur que vous utilisez, et cette adresse ne mène pas à votre Asterobot. Cela arrive après un changement de server.listenAddress, quand le navigateur garde l'adresse d'un autre Asterobot, par exemple une machine distante ou un tunnel SSH sur un autre port, ou après une faute de frappe. Sur l'ordinateur où tourne Asterobot, ouvrez http://127.0.0.1:8080 dans le navigateur, avec le port de server.listenAddress si vous l'avez changé. Asterobot vous renvoie vers Asteroboard, qui remplace son URL du serveur par cette adresse. Depuis un autre appareil, ou pour saisir l'adresse vous-même, ouvrez Préférences, tapez-la dans URL du serveur avec le schéma, l'adresse et le port, par exemple http://127.0.0.1:8080, puis appuyez sur Entrée. Cliquez sur Tester la connexion. Chaque navigateur garde sa propre URL du serveur, une seule à la fois. Préférences explique ce champ. L'adresse s'ouvre, mais Asteroboard reste déconnecté C'est presque toujours une affaire de HTTPS ou de mot de passe, réglés avec server.tls et server.basicAuth. Les requêtes qu'Asteroboard envoie lui-même ne peuvent afficher ni avertissement de certificat ni demande de mot de passe : elles échouent sans rien dire tant que le navigateur n'a pas accepté les deux sur une page que vous avez ouverte vous-même. Ce que vous voyez Que faire Client sent an HTTP request to an HTTPS server. server.tls est activé, et l'adresse commence par http://. Utilisez https://. Serveur déconnecté juste après un redémarrage qui a activé server.tls L'URL du serveur d'Asteroboard commence encore par http://. Ouvrez https://127.0.0.1:8080, acceptez l'avertissement, et Asteroboard prend la nouvelle adresse. Serveur injoignable, alors que l'adresse en https:// est correcte Ouvrez cette adresse dans un onglet du même navigateur, acceptez l'avertissement de certificat et saisissez un identifiant et un mot de passe de server.basicAuth. Revenez ensuite sur Asteroboard. Ça marchait hier, plus aujourd'hui Les navigateurs oublient le mot de passe quand ils se ferment, et certains oublient au bout d'un moment votre choix sur le certificat. Rouvrez l'adresse. Le navigateur redemande sans cesse le mot de passe L'identifiant et le mot de passe doivent correspondre exactement à une paire de server.basicAuth. Important Avec server.tls activé, ou quoi que ce soit dans server.basicAuth, le mode MITM ne fonctionne plus. Voir Problèmes en mode MITM. Depuis un téléphone ou un autre ordinateur Par défaut, Asterobot n'accepte que les connexions venant de l'ordinateur sur lequel il tourne : un autre appareil ne peut pas du tout le joindre. L'ouvrir à votre réseau demande quelques réglages et un redémarrage. Asteroboard sur un autre appareil les détaille, et Asterobot sur une machine distante couvre le cas d'un serveur. Si c'est fait et que la connexion ne passe toujours pas, vérifiez ces points : L'adresse commence par https://. Les navigateurs ne laissent pas la page d'Asteroboard, servie en HTTPS, envoyer des requêtes en simple http:// à un autre appareil. Seul l'appareil sur lequel tourne le navigateur y a droit, c'est pourquoi http://127.0.0.1:8080 fonctionne là et nulle part ailleurs. L'autre solution est un tunnel SSH. Asterobot a été redémarré après la modification de server.listenAddress, server.tls ou server.basicAuth. Aucun de ces réglages ne s'applique avant. server.listenAddress ne commence plus par 127.0.0.1, une adresse qu'aucun autre appareil ne peut joindre. Le pare-feu de l'ordinateur qui fait tourner Asterobot accepte les connexions TCP entrantes sur le port. L'autorisation de votre navigateur. Certains navigateurs demandent si asteroboard.asterobot.net peut accéder aux appareils de votre réseau local. Autorisez-le. Le tunnel SSH est toujours ouvert, si vous en utilisez un. Quand il se ferme, Asteroboard affiche Serveur déconnecté, puis se reconnecte tout seul une fois le tunnel rétabli. Asteroboard lui-même ne se charge pas La page d'Asteroboard vient de https://asteroboard.asterobot.net. La première fois que vous l'ouvrez dans un navigateur, ce navigateur a besoin d'une connexion internet. Ensuite, Asteroboard s'ouvre sans connexion, du moment qu'il peut joindre Asterobot. Ce que vous voyez Ce que ça signifie Que faire La page ne s'ouvre pas du tout Le navigateur ne peut pas joindre asteroboard.asterobot.net et n'en a encore aucune copie. Vérifiez votre connexion internet, et consultez https://status.asterobot.net. Mode hors ligne indisponible « Cet appareil n'a pas pu tout préparer pour une utilisation hors ligne. » Asteroboard fonctionne, mais certaines fonctionnalités peuvent nécessiter une connexion internet. Rien, sauf si vous en avez besoin hors ligne. Mise à jour disponible, avec Actualiser Une nouvelle version d'Asteroboard est prête. Cliquez sur Actualiser, ou rechargez la page. Une ancienne version, ou un comportement étrange après une mise à jour La copie d'Asteroboard gardée par le navigateur n'est plus à jour. Utilisez Réinitialiser les données hors ligne. Voir Réinitialiser et repartir de zéro. Page introuvable L'adresse ne correspond à aucune page d'Asteroboard. Cliquez sur Aller au tableau de bord. Une erreur est survenue « Asteroboard n'a pas pu afficher cette page. » Cliquez sur Retour, ou rechargez. Si cela se reproduit, ouvrez Détails techniques et notez le Statut et l'Adresse demandée pour votre demande d'aide. Toujours bloqué Lisez le terminal d'Asterobot. Serveur > Console ne reçoit des lignes que lorsqu'Asteroboard est connecté, donc le terminal est le seul endroit qui montre ce qui s'est passé avant. Demandez sur le forum ou sur Discord, en indiquant votre version d'Asterobot, l'adresse que vous utilisez et les dernières lignes du terminal. Obtenir de l'aide indique ce qu'il faut joindre et ce qu'il ne faut jamais partager. Pour aller plus loin Comment les parties communiquent Préférences État et console
-
Mettre à jour Asterobot
Asterobot ne se met pas à jour tout seul : quand une nouvelle version sort, vous remplacez le programme à la main. Cela prend quelques minutes, et vos bots, comptes, paquets, versions de jeu et réglages sont tous conservés. Asteroboard, lui, se met à jour tout seul. Savoir quand une nouvelle version sort À chaque démarrage, Asterobot consulte asterobot.net. Quand une version plus récente est publiée, le terminal affiche An Asterobot update is available avec la version et le lien, et Asteroboard affiche Mise à jour d'Asterobot disponible avec un bouton Voir sur asterobot.net. Messages et mises à jour détaille cette vérification. Vous pouvez aussi comparer vous-même : votre version est indiquée dans Serveur > État, et la dernière sur la page du fichier Asterobot, à l'adresse https://asterobot.net/files/category/3-asterobot/. Ce qu'une mise à jour conserve Le programme tient en un seul fichier, et Asterobot ne stocke rien à côté. Tout le reste se trouve dans les dossiers de votre profil utilisateur (Fichiers et dossiers), que la nouvelle version utilise tels quels : vos bots, comptes Ankama et paquets ; vos versions de jeu et leurs données de jeu extraites ; les réglages que vous avez modifiés, et la connexion à asterobot.net. Un réglage que vous n'avez jamais modifié prend la valeur par défaut de la nouvelle version, si cette valeur a changé. Un réglage que vous avez modifié garde votre valeur (La page Config). Rien n'a besoin d'être exporté au préalable. Si vous voulez tout de même une copie de sécurité, suivez Sauvegarder votre Asterobot. Faire la mise à jour Téléchargez la nouvelle archive pour votre système et votre processeur, du même type que celle que vous utilisez actuellement, et vérifiez-la avec checksums.txt. Télécharger Asterobot explique les deux étapes. Arrêtez Asterobot, avec Ctrl+C dans son terminal ou Éteindre le serveur dans Serveur > État, et attendez qu'il soit complètement fermé. Un arrêt normal lui permet de déconnecter vos bots et de remettre en place la ligne qu'il a pu modifier dans votre dossier Dofus pour le mode MITM, pour « homme du milieu » (man-in-the-middle). Décompressez l'archive et remplacez l'ancien programme par le nouveau : asterobot.exe sous Windows, asterobot sous macOS et Linux. Vous pouvez aussi le placer dans un autre dossier et supprimer l'ancien. Sous macOS et Linux, rendez de nouveau le fichier exécutable, depuis son dossier : chmod +x asterobot Démarrez Asterobot comme d'habitude (Premier lancement). La première ligne du terminal affiche maintenant la nouvelle version, tout comme Version dans Serveur > État. La notification de mise à jour ne s'affiche plus. Après la mise à jour Remettez vos bots en ligne. Comme après tout redémarrage, ils reviennent déconnectés et rien ne joue tout seul : cliquez sur Connecter ou Commencer l'attente, puis sur Lancer (Déconnecter, supprimer et redémarrer). Regardez la colonne Compatibilité du Gestionnaire de jeux. Chaque version d'Asterobot est testée avec une version précise de Dofus, qui peut changer d'une sortie à l'autre. Une version de jeu qui correspond affiche Compatible (Pourquoi Asterobot télécharge Dofus). Regardez vos paquets. Un paquet qui indique avec quelles versions d'Asterobot il fonctionne peut passer de Compatible à Incompatible, ou l'inverse, après une mise à jour (Qu'est-ce qu'un paquet). Asteroboard se met à jour tout seul Il n'y a rien à télécharger pour Asteroboard. Tant qu'il est ouvert, il cherche une nouvelle version toutes les 30 minutes, et affiche Mise à jour disponible quand elle est prête. Cliquez sur Actualiser, ou rechargez la page quand cela vous arrange, pour passer à la nouvelle version. Messages et mises à jour donne les détails, et explique quoi faire quand le passage ne se fait pas. Asterobot et Asteroboard ont des versions distinctes et se mettent à jour séparément. Où voir chaque numéro de version Version de Où la lire Asterobot La première ligne qu'affiche Asterobot au démarrage, juste après le mot Asterobot. La ligne Version dans Serveur > État. La commande ./asterobot --version, ou .\asterobot.exe --version sous Windows (Ligne de commande). Asteroboard Le haut de la barre latérale, à côté du nom, sous la forme v suivi du numéro. Ce lien mène aux notes de version d'Asteroboard, à l'adresse https://asterobot.net/release-note-asteroboard. La page À propos, après « Asteroboard version ». Pour aller plus loin Fichiers et dossiers Messages et mises à jour
-
Préférences
Préférences regroupe les options propres à Asteroboard : son apparence, et l'Asterobot auquel il se connecte. Elles sont enregistrées dans le navigateur que vous utilisez, donc chaque navigateur et chaque appareil a les siennes, et aucune ne change quoi que ce soit dans Asterobot. Les réglages d'Asterobot se trouvent dans Serveur > Config (La page Config). Dans la barre latérale, cliquez sur Préférences. La page comporte trois sections, que vous choisissez en haut : Apparence, qui s'ouvre en premier, Serveur et Zone dangereuse. Apparence Chaque modification s'applique immédiatement. Champ Ce qu'il change Choix Par défaut Langue La langue de l'interface d'Asteroboard. Anglais, français, espagnol La langue de votre navigateur, ou le français si votre navigateur en utilise une autre Mode d'affichage Interface claire ou sombre. Système, Clair, Sombre Système, qui suit votre système Couleur primaire La couleur d'accent principale. 17 couleurs, de Red à Rose Green Couleur neutre La teinte de gris du texte, des bordures et des arrière-plans. Slate, Gray, Zinc, Neutral, Stone, Taupe, Mauve, Mist, Olive Slate Rayon L'arrondi des coins des boutons, des cartes et des champs. 0, 0.125, 0.25, 0.375, 0.5 0.25 La liste des langues affiche chaque langue sous son propre nom, suivi de son nom dans la langue actuelle, comme « English (Anglais) ». Une fois un champ modifié, un petit bouton à côté permet de revenir à la valeur par défaut : Utiliser la langue du système pour la langue, Utiliser la valeur par défaut pour les couleurs et le rayon. Mode d'affichage n'en a pas besoin, puisque Système fait partie de ses choix. Visite d'Asteroboard montre l'effet de la langue sur les textes du jeu dans la page Jeu. Serveur Cette section indique à Asteroboard où se trouve votre Asterobot. Sans adresse qui fonctionne, Asteroboard n'a rien à afficher. URL du serveur L'adresse à laquelle Asteroboard se connecte. Elle vaut http://127.0.0.1:8080 par défaut, ce qui convient quand Asterobot tourne sur le même ordinateur avec ses réglages par défaut. Vous avez rarement besoin de la taper. Quand vous ouvrez l'adresse d'Asterobot lui-même dans votre navigateur, http://127.0.0.1:8080 par défaut, vous arrivez sur Asteroboard avec cette adresse déjà dans URL du serveur. Elle remplace ce que contenait le champ, sans rien vous demander. Pour la modifier à la main : Tapez l'adresse dans URL du serveur, avec http:// ou https://, l'adresse de l'ordinateur et le port, comme http://192.168.1.20:8080. Appuyez sur Entrée ou cliquez en dehors du champ. Asteroboard se connecte aussitôt à la nouvelle adresse. Il abandonne ce qu'il affichait de l'Asterobot précédent, y compris les lignes de Serveur > Console, et recharge tout depuis le nouveau. Les barres obliques en fin d'adresse sont retirées. Vous en aurez besoin pour un Asterobot sur un autre appareil, sur un autre port ou en HTTPS : voir Asteroboard sur un autre appareil. Connexion Le badge affiche l'état de la connexion en direct : Connexion en cours…, Connecté ou Déconnecté. Tester la connexion envoie une seule requête à Asterobot et vous indique le résultat : Serveur joignable, avec la durée de l'aller-retour, comme « Latence aller-retour : 12 ms ». Si le badge n'indiquait pas encore Connecté, Asteroboard se reconnecte immédiatement. Serveur injoignable : Asterobot n'a pas répondu à cette adresse. Vérifiez qu'Asterobot tourne et que l'URL du serveur est correcte, puis consultez Asteroboard ne se connecte pas. Un test est utile juste après avoir changé l'adresse ou redémarré Asterobot. Zone dangereuse Ces deux boutons effacent ce qu'Asteroboard garde dans le navigateur que vous utilisez, puis rechargent la page. Ils ne touchent jamais à Asterobot : vos bots, comptes, paquets et réglages restent tels quels. Votre navigateur vous demande de confirmer chacun d'eux. Réinitialiser les données hors ligne Asteroboard garde une copie de lui-même dans votre navigateur pour s'ouvrir rapidement et fonctionner sans connexion internet. Réinitialiser les données hors ligne supprime cette copie et recharge la page, ce qui télécharge de nouveau Asteroboard. Le navigateur a besoin d'une connexion internet pour cela. Cliquez sur Réinitialiser les données hors ligne. Confirmez « Cela efface toutes les données hors ligne mises en cache par Asteroboard et recharge la page. Continuer ? » Utilisez-le quand Asteroboard continue d'afficher une ancienne version, ou se comporte bizarrement après une mise à jour. Vos préférences et votre URL du serveur restent. Si vous avez installé Asteroboard comme application, il reste installé. Le bouton est grisé quand votre navigateur ne peut pas du tout faire fonctionner Asteroboard hors ligne. Si la réinitialisation échoue, Asteroboard affiche Impossible de réinitialiser les données hors ligne : « Réessayez, ou effacez les données de ce site depuis les paramètres de votre navigateur. » Réinitialiser les préférences Réinitialiser les préférences remet l'apparence et la disposition d'Asteroboard à leurs valeurs par défaut, puis recharge la page. Cliquez sur Réinitialiser les préférences. Confirmez « Cela réinitialise la langue, l'apparence et la disposition du tableau de bord à leurs valeurs par défaut, et recharge la page. Continuer ? » Ce qu'efface chaque réinitialisation Réinitialiser les données hors ligne Réinitialiser les préférences Langue, mode d'affichage, couleurs et rayon Conservés Valeurs par défaut La langue des textes du jeu dans la page Jeu Conservée Suit de nouveau la langue d'Asteroboard Disposition de la barre latérale : repliée ou non, et sa largeur Conservée Valeurs par défaut URL du serveur Conservée Conservée Les boutons de niveau de Serveur > Console Conservés Conservés La copie hors ligne d'Asteroboard Supprimée, puis téléchargée de nouveau Conservée Tout ce qui se trouve dans Asterobot Conservé Conservé Quelques autres choix sont retenus dans votre navigateur et conservés par les deux réinitialisations, comme les calques de la carte du monde et le volume du lecteur de musique. Pour supprimer tout ce qu'Asteroboard a stocké dans un navigateur, effacez les données du site asteroboard.asterobot.net dans les paramètres de ce navigateur. Pour aller plus loin Asteroboard sur un autre appareil Mettre à jour Asterobot
-
État et console
La page Serveur concerne Asterobot lui-même plutôt que vos bots. Son onglet État vous indique si Asteroboard est connecté et à quel Asterobot il parle, et son onglet Console affiche le journal d'Asterobot en direct. Le terminal dans lequel tourne Asterobot affiche le même journal, avec un peu plus de détails. L'onglet État Dans la barre latérale, cliquez sur Serveur : l'onglet État s'ouvre en premier. Il comporte quatre parties, de haut en bas. État de la connexion Un gros point accompagné d'un mot indique où en est la connexion d'Asteroboard à Asterobot : État Point Ce que cela signifie Connecté Vert, pulsant Asteroboard est connecté et reçoit tout en direct. Connexion en cours… Ambre Asteroboard essaie de se connecter. Déconnecté Rouge Asteroboard ne parvient pas à joindre Asterobot. Il réessaie toutes les secondes. Si Asteroboard reste Déconnecté, consultez Asteroboard ne se connecte pas. La carte Connexion Ligne Ce qu'elle affiche URL du serveur L'adresse qu'utilise Asteroboard pour joindre Asterobot, définie dans Préférences. Version La version d'Asterobot, pas celle d'Asteroboard. Transport Chiffré (HTTPS) quand l'URL du serveur commence par https://, sinon Non chiffré (HTTP). Authentification Protégé par mot de passe quand server.basicAuth contient au moins un identifiant, sinon Sans mot de passe. Transport est déduit de l'adresse qu'utilise Asteroboard, et Authentification du réglage enregistré. Comme server.basicAuth ne prend effet qu'après un redémarrage, Protégé par mot de passe peut s'afficher avant que le mot de passe soit réellement exigé. Asteroboard sur un autre appareil explique HTTPS et les mots de passe. La carte Débogage La carte Débogage donne des chiffres techniques sur l'Asterobot en cours d'exécution. Vous n'en avez pas besoin au quotidien, mais quelqu'un qui vous aide peut vous en demander quelques-uns. Valeur Ce que c'est CPU Le nombre de cœurs de processeur qu'Asterobot peut utiliser. Goroutines Le nombre de tâches en cours dans Asterobot à cet instant. Appels Cgo Un compteur technique, utile seulement pour le dépannage. Version de Go La version de Go, le langage de programmation avec lequel Asterobot est construit. OS Le système pour lequel cet Asterobot a été compilé : windows, darwin pour macOS, ou linux. Architecture Le type de processeur pour lequel il a été compilé : amd64 ou arm64. Compilateur Le compilateur utilisé pour le construire. Alloué et Tas alloué La mémoire qu'Asterobot utilise pour ses données en ce moment. Total alloué Toute la mémoire qu'Asterobot a utilisée pour ses données depuis son démarrage, cumulée, y compris celle qu'il a déjà libérée. Mémoire système La mémoire qu'Asterobot a réservée auprès de votre système. Les chiffres sont lus au chargement de la carte, puis de nouveau après Libérer la mémoire maintenant. Ils ne se mettent pas à jour d'eux-mêmes. Libérer la mémoire maintenant demande à Asterobot de rendre tout de suite la mémoire dont il ne se sert plus, au lieu d'attendre qu'il le fasse de lui-même. Comme l'indique la carte, cela ne devrait normalement pas être nécessaire. Asteroboard confirme avec Collecte des déchets déclenchée, ou affiche Impossible de déclencher la collecte des déchets. Éteindre Asterobot La carte Extinction arrête Asterobot : « Arrête le serveur Asterobot. Ne faites cela que si vous savez comment le redémarrer. » Cliquez sur Éteindre le serveur. La fenêtre Éteindre le serveur ? vous rappelle qu'Asteroboard ne peut pas redémarrer Asterobot : à moins qu'il soit configuré pour redémarrer tout seul, quelqu'un doit avoir accès à l'ordinateur sur lequel il tourne. Cliquez sur Oui, éteindre, ou sur Annuler. Asteroboard affiche Extinction demandée, et Asterobot s'arrête environ deux secondes plus tard, en fermant tout proprement comme avec Ctrl+C dans son terminal. Asteroboard affiche ensuite Déconnecté. Si la demande n'arrive pas jusqu'à Asterobot, Asteroboard affiche Impossible d'éteindre le serveur et rien ne s'arrête. Arrêter Asterobot déconnecte tous les bots, y compris un bot qui relaie le jeu auquel vous jouez. Premier lancement explique comment le relancer. L'onglet Console Serveur > Console affiche le journal d'Asterobot en direct : ce qu'il fait, les avertissements et les erreurs qu'il rencontre, et les lignes que les scripts écrivent avec asterobot:console. Ce qu'il affiche Chaque ligne affiche l'heure, dans le fuseau horaire de votre navigateur, le niveau (DEBUG, INFO, WARN ou ERROR) et le texte. Seulement le texte : les détails que le terminal affiche après un message, comme l'adresse dans Server listening, n'apparaissent pas ici. Les lignes écrites par un script avec asterobot:console n'indiquent pas quel bot les a écrites. Les lignes propres à un bot se trouvent dans son propre onglet Console (Console). L'onglet Console ne contient que ce qui est arrivé pendant qu'Asteroboard était ouvert. Asterobot ne lui garde aucun historique, donc les lignes antérieures à l'ouverture d'Asteroboard n'y figurent pas : cherchez-les dans le terminal. Asteroboard garde les 500 dernières lignes, les oublie quand vous rechargez ou fermez la page, et les efface quand vous changez son URL du serveur. Tant que rien n'est arrivé, la console indique « Aucun message pour le moment. » L'extrémité droite de la barre du haut indique si Asteroboard est connecté : Connecté, Connexion en cours… ou Déconnecté. Afficher et masquer des niveaux Les quatre boutons du haut, Debug, Info, Avertissement et Erreur, affichent ou masquent les lignes de chaque niveau. Un bouton plein signifie que ses lignes sont affichées. Asteroboard retient votre choix dans ce navigateur. Ces boutons ne filtrent que les lignes qu'Asteroboard a déjà reçues. Les lignes sous le niveau serveur n'arrivent jamais jusqu'à lui. Niveau serveur La liste Niveau serveur, à côté des boutons, définit logger.webLevel : le niveau le plus bas qu'Asterobot envoie à la console. Comme le précise son infobulle, tout ce qui est en dessous n'arrive jamais ici, quels que soient les boutons. Il vaut INFO par défaut : les lignes de débogage n'arrivent donc pas dans la console tant que vous ne choisissez pas DEBUG. Le changement s'applique immédiatement, pour tous les Asteroboard, et reste valable après un redémarrage d'Asterobot, puisque c'est un réglage enregistré. S'il ne peut pas être enregistré, Asteroboard affiche Impossible de mettre à jour le niveau de journalisation du serveur. Envoyer un message La zone du bas, « Envoyer un message à la console du serveur... », écrit une ligne dans le journal d'Asterobot lui-même. Tapez votre texte. Choisissez son niveau dans la liste sous la zone : Info par défaut. Appuyez sur Entrée, ou cliquez sur le bouton d'envoi. Asterobot journalise votre texte comme l'une de ses propres lignes. Il apparaît dans le terminal si son niveau est supérieur ou égal à celui du terminal, et dans tous les onglets Console ouverts s'il est supérieur ou égal au niveau serveur : un message Debug ne s'affiche jamais tant que le niveau serveur est INFO. Si le message ne peut pas être envoyé, Asteroboard affiche Impossible d'envoyer le message. Un message permet de marquer un moment dans le journal, par exemple juste avant de reproduire un problème pour un rapport de bug. Le terminal Le terminal dans lequel tourne Asterobot affiche son journal dès la toute première ligne, y compris tout ce qui précède l'ouverture d'Asteroboard. Chaque ligne commence par la date et l'heure, puis le niveau et le message, suivis de ses détails sous forme de paires name=value, en couleur. La quantité de lignes affichées dépend de logger.cliLevel, dans Serveur > Config. Le changement s'applique immédiatement, et il est indépendant du niveau de la console : vous pouvez garder un terminal discret et une console détaillée, ou l'inverse. Certains éléments du terminal ne sont pas des lignes de journal et s'affichent toujours, quel que soit le niveau : le QR code d'un lien de connexion, les barres de progression des commandes, et ce qu'affichent des commandes comme gamemanager list. Asterobot n'écrit aucun fichier de journal. Quand vous fermez la fenêtre du terminal, ses lignes sont perdues. Choisir un niveau de journalisation logger.cliLevel et logger.webLevel prennent les mêmes quatre valeurs. Chaque niveau affiche ses propres lignes et celles de tous les niveaux au-dessus : Niveau Ce que vous voyez DEBUG Tout, y compris des lignes détaillées destinées au dépannage. INFO L'activité normale. C'est la valeur par défaut des deux réglages. WARN Les avertissements et les erreurs uniquement. ERROR Les erreurs uniquement. Passez à DEBUG quand vous cherchez la cause d'un problème ou que quelqu'un qui vous aide demande un journal détaillé, puis revenez à INFO : les lignes de débogage sont nombreuses et noient les lignes utiles. Pour aller plus loin La page Config Obtenir de l'aide
-
Fichiers et dossiers
Asterobot ne garde rien à côté du programme lui-même. Il range tout dans des dossiers standard de votre profil utilisateur : un pour ses réglages, un pour ses données et un pour son cache. Savoir à quoi sert chacun vous indique quoi copier pour sauvegarder votre Asterobot ou le déplacer vers un autre ordinateur. Où se trouvent les dossiers Dossier Windows macOS Linux Réglages %LocalAppData%\asterobot\config ~/Library/Application Support/asterobot/config ~/.config/asterobot Données %LocalAppData%\asterobot\appdata ~/Library/Application Support/asterobot/appdata ~/.local/share/asterobot Cache %LocalAppData%\asterobot\cache ~/Library/Caches/asterobot ~/.cache/asterobot Asterobot les crée à son premier démarrage. Ce sont toujours trois dossiers distincts : Asterobot refuse de démarrer si l'un d'eux se trouve dans un autre. Sous Windows, %LocalAppData% correspond en général à C:\Users\<your name>\AppData\Local. Taper le chemin, signes % compris, dans la barre d'adresse de l'Explorateur de fichiers ouvre le dossier. Sous macOS et Linux, ~ désigne votre dossier personnel. Sous Linux, les variables XDG_CONFIG_HOME, XDG_DATA_HOME et XDG_CACHE_HOME remplacent ~/.config, ~/.local/share et ~/.cache quand elles contiennent un chemin absolu. Sur tous les systèmes, les options --config-dir, --appdata-dir et --cache-dir, ou leurs variables d'environnement, choisissent d'autres dossiers. Ligne de commande les explique. Le dossier des réglages Il contient un seul fichier, config.toml, avec les réglages que vous avez modifiés dans Serveur > Config. Les réglages restés à leur valeur par défaut n'y sont pas écrits, c'est pourquoi le fichier est vide après un premier lancement. La page Config explique comment Asterobot le lit et l'écrit, y compris quand vous le modifiez à la main. config.toml contient deux secrets une fois qu'ils sont définis : website.token, le jeton de connexion d'Asterobot sur asterobot.net, et les identifiants et mots de passe de server.basicAuth, en clair. Le dossier des données Élément Ce qu'il contient Pour en savoir plus bots.toml Tous les bots, avec tout ce que vous avez réglé pour chacun. Qu'est-ce qu'un bot accounts.toml Vos comptes Ankama : les identifiants, les mots de passe que vous avez enregistrés, en clair, et les jetons qu'Ankama a donnés à Asterobot. Ajouter un compte library/packages/ Vos paquets, un dossier par version, comme library/packages/my-harvester/1.0.0/ ou library/packages/@some-author/auto-harvest/1.2.0/. Gérer votre bibliothèque tls/cert.pem et tls/key.pem Le certificat HTTPS et sa clé privée, créés au premier démarrage d'Asterobot avec server.tls activé. Référence des réglages zaapmanager/browser-profiles/ Un profil de navigateur de connexion pour chaque compte qui s'est connecté automatiquement. Chacun contient une session Ankama active. Connexion automatique C'est ce dossier qui fait de votre Asterobot le vôtre. Le perdre, c'est devoir ajouter de nouveau vos bots, vos comptes et vos paquets. Le dossier de cache Élément Ce qu'il contient game/ Les fichiers de chaque version de jeu, un dossier par version, comme game/dofus/dofus3/windows/3.6.11.13/. game_extracted/ Les données de jeu extraites de chaque version. zaapmanager/ La capture d'écran de la dernière connexion automatique échouée de chaque compte. Le dernier dossier contient les chunks à partir desquels les versions de jeu sont reconstruites, dans son sous-dossier chunk (Comment les chunks sont stockés), ainsi que les listes de versions et de fichiers publiées par les serveurs de téléchargement d'Ankama, avec quelques autres fichiers qu'ils fournissent. Tout ce qui se trouve dans le cache peut être téléchargé ou reconstruit de nouveau. Le perdre coûte du temps, pas des réglages : vous téléchargez et extrayez de nouveau vos versions de jeu. C'est aussi de loin le plus gros dossier, puisqu'il contient les versions de jeu (Pourquoi Asterobot télécharge Dofus). Aucun fichier de journal Asterobot n'écrit aucun fichier de journal. Son journal s'affiche dans le terminal où il tourne, et dans Serveur > Console tant qu'un Asteroboard est ouvert. Une fois la fenêtre du terminal fermée, ses lignes sont perdues : copiez d'abord ce dont vous avez besoin. État et console couvre ces deux endroits. Permissions Sous Linux et macOS, Asterobot réserve à votre propre compte utilisateur les fichiers qui contiennent des secrets : Fichier ou dossier Qui peut le lire config.toml Seulement votre utilisateur. Si d'autres utilisateurs peuvent le lire, Asterobot restreint ses droits au moment de le lire, et le terminal affiche Restricted the configuration file to its owner. accounts.toml Seulement votre utilisateur. Asterobot réapplique cette restriction à chaque démarrage et à chaque enregistrement du fichier. zaapmanager/browser-profiles/ Seulement votre utilisateur. tls/key.pem Seulement votre utilisateur. Tout le reste Créé lisible par les autres utilisateurs de l'ordinateur. Sous Windows, ces restrictions n'ont aucun effet. Dans tous les cas, quiconque peut ouvrir des fichiers en tant que votre utilisateur, ou obtient une copie de ces fichiers, peut lire les mots de passe et utiliser les jetons qu'ils contiennent. Obtenir de l'aide liste ce qu'il ne faut jamais partager. Modifier les fichiers à la main config.toml : Asterobot le surveille et applique vos modifications dès que vous enregistrez. Voir La page Config. bots.toml et accounts.toml : Asterobot ne les lit qu'au démarrage, et les réécrit à chaque changement. Une modification faite pendant qu'il tourne est écrasée. Arrêtez Asterobot avant de les modifier, et gardez une copie de l'original. Dossiers des versions de jeu : après en avoir ajouté ou supprimé un à la main, cliquez sur Rescanner dans le Gestionnaire de jeux (Gérer les versions de jeu). Dossiers des paquets : ne modifiez pas les fichiers d'un paquet installé depuis le marché. Asterobot les vérifie à chaque chargement du paquet et les refuse s'ils ont changé (Faire confiance à un paquet). Sauvegarder votre Asterobot Arrêtez Asterobot, pour qu'il n'écrive aucun fichier pendant la copie (Premier lancement). Copiez le dossier des réglages et le dossier des données en lieu sûr. Le dossier de cache est facultatif : tout ce qu'il contient peut être téléchargé de nouveau, mais cela prend du temps. Relancez Asterobot. Pour restaurer une sauvegarde, arrêtez Asterobot, remettez les dossiers en place, puis démarrez-le. Caution Une sauvegarde contient vos mots de passe Ankama, vos jetons et la connexion d'Asterobot à asterobot.net. Gardez-la dans un endroit auquel vous seul avez accès. Passer sur un autre ordinateur Téléchargez et décompressez Asterobot sur le nouvel ordinateur (Télécharger Asterobot). Arrêtez Asterobot sur l'ancien ordinateur. Copiez le dossier des réglages et le dossier des données aux emplacements indiqués en haut de cette page pour le système du nouvel ordinateur. Copiez aussi le dossier de cache si vous ne voulez pas télécharger de nouveau vos versions de jeu. Démarrez Asterobot sur le nouvel ordinateur. Les fichiers et dossiers qu'ils contiennent gardent les mêmes noms sur tous les systèmes : seuls leurs emplacements changent. Vérifiez ensuite quelques points : Asterobot est toujours connecté à asterobot.net, puisque la connexion voyage dans config.toml. Vos bots reviennent déconnectés, comme après tout redémarrage. Un bot dont la version de jeu n'est pas dans le cache est ignoré jusqu'à ce que vous téléchargiez et extrayiez cette version (Déconnecter, supprimer et redémarrer). Les réglages qui désignent un dossier de l'ancien ordinateur y pointent toujours si vous les aviez modifiés : botmanager.mitmGamePath et zaapmanager.browserPath. Les réglages que vous n'avez jamais modifiés prennent les valeurs par défaut du nouvel ordinateur. Asteroboard retient son URL du serveur navigateur par navigateur. Sur un nouvel ordinateur ou un nouveau navigateur, ouvrez une fois l'adresse du nouvel Asterobot pour vous y connecter (Préférences). Ce que supprime chaque réinitialisation Réinitialisation Où Ce qu'elle supprime Ce qu'elle conserve Rétablir la valeur par défaut, la réinitialisation d'un groupe, Tout rétablir Serveur > Config Les valeurs que vous avez définies, dans config.toml. La connexion à asterobot.net disparaît aussi quand website.token est concerné. Les dossiers des données et du cache config reset Ligne de commande Tout le contenu de config.toml, connexion comprise Les dossiers des données et du cache cache reset Ligne de commande Tout le dossier de cache Les dossiers des réglages et des données Désinstaller, Supprimer, Supprimer tous les chunks Gestionnaire de jeux Des parties du dossier de cache (Gérer les versions de jeu) Tout le reste Supprimer Gestionnaire de bibliothèque Le dossier d'une version de paquet Tout le reste Réinitialiser les données hors ligne, Réinitialiser les préférences Préférences Uniquement ce qu'Asteroboard stocke dans votre navigateur (Préférences) Tous les dossiers d'Asterobot Réinitialiser et repartir de zéro vous aide à choisir la bonne réinitialisation quand quelque chose ne fonctionne plus. Pour aller plus loin Ligne de commande Mettre à jour Asterobot
-
Ligne de commande
Lancer Asterobot sans commande le démarre, comme vous le faites tous les jours. Le même programme propose aussi des commandes pour des tâches qui se passent d'Asteroboard : lister et télécharger des versions de jeu, gérer la bibliothèque, et réinitialiser les réglages ou le cache. Lancer une commande Les commandes se lancent dans un terminal, depuis le dossier où vous avez placé Asterobot : Windows : ouvrez PowerShell dans ce dossier et tapez .\asterobot.exe, puis la commande et ses options. macOS et Linux : ouvrez un terminal dans ce dossier et tapez ./asterobot, puis la commande et ses options. Les commandes sont réparties en groupes, un par partie d'Asterobot concernée : gamemanager pour les versions de jeu, library pour les paquets, config pour les réglages et cache pour le dossier de cache. Vous tapez le groupe, puis la commande. Par exemple, pour lister vos versions de jeu : .\asterobot.exe gamemanager list ./asterobot gamemanager list Les exemples ci-dessous utilisent ./asterobot. Sous Windows, écrivez .\asterobot.exe à la place. Les options commencent par deux tirets et prennent une valeur après une espace : --version latest. Mettez entre guillemets une valeur qui contient des espaces ou des caractères spéciaux, comme une expression régulière. Chaque commande affiche d'abord la même ligne qu'un démarrage normal, avec la version d'Asterobot, puis fait son travail. Une commande qui prend du temps, comme un téléchargement, affiche une barre de progression, et Ctrl+C l'interrompt. Quand une commande échoue, elle affiche une ligne contenant asterobot execution failed, suivie de la raison. Quand la ligne de commande elle-même est incorrecte, rien ne se passe : Asterobot affiche une ligne contenant Incorrect usage:, suivie de l'erreur. Erreur Ce qui suit Incorrect usage: Un groupe qui n'existe pas unknown command "gamemanger". Did you mean "gamemanager"? Une commande que le groupe ne possède pas No help topic for 'lst'. Did you mean "list"? Une option obligatoire oubliée Required flag "version" not set, après la liste des options de la commande Aide et version Tapez Pour obtenir ./asterobot --help ou ./asterobot -h La liste des groupes, puis les options de dossier avec les dossiers par défaut de cet ordinateur. ./asterobot gamemanager ou ./asterobot gamemanager --help Les commandes d'un groupe. ./asterobot gamemanager download --help Les options d'une commande, puis les options de dossier sous GLOBAL OPTIONS. ./asterobot --version ou ./asterobot -v La version, sur une ligne qui commence par Asterobot version suivi du numéro. Choisir les dossiers Asterobot range ses fichiers dans trois dossiers : un pour ses réglages, un pour ses données et un pour son cache (Fichiers et dossiers). Une option place chacun d'eux ailleurs, pour un démarrage normal comme pour n'importe quelle commande : Option Variable d'environnement Dossier --config-dir ASTEROBOT_CONFIG_DIR Le dossier des réglages, avec config.toml --appdata-dir ASTEROBOT_APPDATA_DIR Le dossier des données : bots, comptes Ankama, paquets et le reste de vos données --cache-dir ASTEROBOT_CACHE_DIR Le dossier de cache : versions de jeu et tout ce qui peut être téléchargé de nouveau Par exemple, pour garder les versions de jeu sur un autre disque : ./asterobot --cache-dir /mnt/games/asterobot-cache Asterobot utilise le dossier indiqué tel quel, sans y ajouter de sous-dossier, et le crée s'il n'existe pas. Un chemin relatif part du dossier où se trouve le terminal. L'option peut se placer avant ou après la commande, comme dans ./asterobot gamemanager list --cache-dir /mnt/games/asterobot-cache. Une variable d'environnement agit comme son option pour chaque exécution qui la voit, et l'option l'emporte quand les deux sont définies. Asterobot ne retient pas ces dossiers. Une exécution sans l'option ni sa variable d'environnement utilise le dossier par défaut. Donnez donc les mêmes dossiers à chaque démarrage et à chaque commande : une version de jeu téléchargée avec --cache-dir n'apparaît dans le Gestionnaire de jeux que si Asterobot démarre avec le même dossier de cache. Les trois dossiers doivent rester séparés, et à l'écart de votre dossier personnel, puisque cache reset supprime tout le contenu du dossier de cache. Avant de lancer quoi que ce soit, Asterobot refuse les dossiers suivants avec une ligne contenant Incorrect usage: : Dossiers Ce qui suit Incorrect usage:, par exemple Deux options avec le même dossier, ou le dossier d'une option placé dans celui d'une autre --appdata-dir and --cache-dir must be separate folders, neither inside the other: /data and /data/cache Votre dossier personnel, ou un dossier qui le contient --cache-dir can't be your home folder or a folder that contains it: /home/me Une valeur vide, comme une variable d'environnement définie sans valeur --cache-dir needs a folder Toutes les commandes Commande Ce qu'elle fait Dans Asteroboard server Démarre Asterobot. Revient à le lancer sans commande. gamemanager list Liste les versions de jeu connues d'Asterobot. Gestionnaire de jeux gamemanager registry Liste les versions de jeu proposées par les serveurs de téléchargement d'Ankama. gamemanager download Télécharge une version de jeu. Télécharger un jeu gamemanager verify Vérifie les fichiers d'une version et télécharge de nouveau ceux qui ne correspondent pas. Vérifier les fichiers gamemanager remove Supprime une version de jeu. Supprimer gamemanager chunks verify Vérifie tous les chunks stockés. Vérifier tous les chunks gamemanager chunks clear Supprime tous les chunks stockés. Supprimer tous les chunks library list Liste les paquets de votre bibliothèque. Gestionnaire de bibliothèque library install Installe un paquet depuis un dossier. Importer un .zip library remove Supprime une version d'un paquet. Supprimer config reset Remet tous les réglages à leur valeur par défaut. Tout rétablir dans Serveur > Config cache reset Supprime le dossier de cache d'Asterobot. Pendant qu'Asterobot tourne Une commande travaille sur les mêmes fichiers qu'Asterobot quand les deux utilisent les mêmes dossiers, et un Asterobot déjà lancé dans un autre terminal n'est pas informé de ce qu'une commande a changé. Une version de jeu téléchargée avec gamemanager download, par exemple, n'apparaît dans le Gestionnaire de jeux qu'après Rescanner ou un redémarrage (Gérer les versions de jeu). Par prudence, arrêtez Asterobot avant de lancer une commande qui modifie des fichiers, et relancez-le ensuite. Pour cache reset, l'arrêter d'abord est indispensable. Versions de jeu Les commandes qui désignent une version prennent les quatre mêmes options, toutes obligatoires : Option Ce qu'il faut indiquer Exemple --game Le code du jeu dofus --environment L'environnement dofus3 --platform La plateforme windows --version Le numéro de version 3.6.11.13 Ce sont les valeurs qu'affichent les colonnes Jeu, Environnement, Plateforme et Version du Gestionnaire de jeux. Télécharger une version de jeu les explique. gamemanager list ./asterobot gamemanager list Affiche un tableau des versions de jeu connues d'Asterobot, installées ou non, avec une ligne par version : jeu, environnement, plateforme, version et statut, comme installed, downloading ou failed. GAME ENVIRONMENT PLATFORM VERSION STATUS dofus dofus3 windows 3.6.11.13 installed gamemanager registry ./asterobot gamemanager registry Affiche un tableau des versions de jeu trouvées dans les listes des serveurs de téléchargement d'Ankama qu'Asterobot garde dans son dossier de cache : jeu, environnement, plateforme et version. Le nombre de listes conservées dépend de cytrus.keepMostRecentIndexes (Référence des réglages). gamemanager download ./asterobot gamemanager download --game dofus --environment dofus3 --platform windows --version latest Télécharge une version de jeu et attend la fin, avec une barre de progression. En plus des quatre options ci-dessus : Option Ce qu'elle fait --version latest Télécharge la version la plus récente qu'Ankama propose pour ce jeu, cet environnement et cette plateforme. --file-filter Une expression régulière. Seuls les fichiers dont le chemin correspond sont téléchargés. --fragment-filter Une expression régulière comparée aux noms des parties en lesquelles Ankama découpe un jeu. Seules les parties correspondantes sont téléchargées. La commande se comporte différemment de Télécharger un jeu sur deux points : Sans --file-filter, elle télécharge tous les fichiers de la version, pas seulement ceux dont un bot a besoin, ce qui prend beaucoup plus de place. Pour ne télécharger que ce dont les bots ont besoin, copiez le motif du champ Filtre de fichiers (regex) de la fenêtre de téléchargement d'Asteroboard et passez-le à --file-filter, entre guillemets. Elle n'extrait pas les données de jeu. Extrayez ensuite la version depuis le Gestionnaire de jeux (Extraire les données de jeu). gamemanager verify ./asterobot gamemanager verify --game dofus --environment dofus3 --platform windows --version 3.6.11.13 Compare les fichiers d'une version présents sur le disque à la liste publiée par Ankama, et télécharge de nouveau ceux qui ne correspondent pas. Elle a besoin du numéro de version exact : latest ne fonctionne qu'avec gamemanager download. --file-filter et --fragment-filter limitent la vérification à une partie des fichiers, et n'ajoutent jamais de fichiers qui n'avaient pas été téléchargés. gamemanager remove ./asterobot gamemanager remove --game dofus --environment dofus3 --platform windows --version 3.6.11.13 Supprime une version de jeu : ses fichiers et ses données de jeu extraites. Les chunks stockés restent, comme avec Supprimer dans le Gestionnaire de jeux. Elle affiche Game removed, ou échoue avec game is not installed quand Asterobot ne connaît pas cette version. Les bots réglés sur cette version ne sont pas vérifiés : faites-les d'abord changer de version (Quand Dofus se met à jour). gamemanager chunks verify ./asterobot gamemanager chunks verify Lit chaque chunk stocké et supprime ceux dont le contenu ne correspond pas, avec une barre de progression. Elle se termine par All chunks have been validated!. Un chunk supprimé est téléchargé de nouveau la prochaine fois qu'un téléchargement en a besoin. gamemanager chunks clear ./asterobot gamemanager chunks clear Supprime tous les chunks stockés, pour tous les jeux et toutes les versions, et affiche Chunks removed. Vos versions de jeu continuent de fonctionner. Le prochain téléchargement ou la prochaine vérification récupère de nouveau les chunks nécessaires, ce qui prend plus de temps. Gérer les versions de jeu explique les chunks. Paquets Note Les commandes de paquet préparent aussi la connexion d'Asterobot à asterobot.net. Si Asterobot n'est pas connecté, elles affichent un lien de connexion et peuvent l'ouvrir dans votre navigateur. Vous pouvez l'ignorer : lister, installer et supprimer des paquets locaux ne demande pas de connexion. library list ./asterobot library list Affiche un tableau des versions de paquets de votre bibliothèque, avec une ligne par version : nom, version, provenance (local, community ou official) et éditeur. library install ./asterobot library install --path ./my-harvester --name my-harvester --version 1.0.0 Installe un paquet depuis un dossier de votre ordinateur. Les trois options sont obligatoires : Option Ce qu'il faut indiquer --path Le dossier qui contient les fichiers .js ou .mjs du paquet, avec index.js directement à l'intérieur, et son asterobot.json s'il en a un. --name Le nom que prend le paquet dans votre bibliothèque. Un nom simple, comme my-harvester, donne un paquet local. Un nom de la forme @publisher:name le fait apparaître comme Communautaire, ou Officiel avec @asterobot:. --version La version exacte, comme 1.0.0. Elle affiche Package my-harvester@1.0.0 installed. Si ce nom et cette version sont déjà installés, les fichiers sont remplacés. Une option manquante arrête la commande avec une erreur comme Required flag "version" not set. Les auteurs de scripts qui travaillent avec un éditeur externe trouveront plus de détails dans Fichiers zip et ligne de commande. library remove ./asterobot library remove --name my-harvester --version 1.0.0 Supprime une version d'un paquet et affiche Package removed. Les deux options sont obligatoires. Contrairement à Supprimer dans le Gestionnaire de bibliothèque, elle ne vous avertit pas des bots réglés sur cette version ni des paquets qui en dépendent. Réinitialisations Les deux réinitialisations suppriment des éléments définitivement, c'est pourquoi chacune demande confirmation avant d'agir. [y/N] à la fin de la question signifie qu'Entrée seule répond non : tapez y ou yes, puis Entrée, pour continuer. Toute autre réponse arrête la commande avec not confirmed, et rien ne change. Pour répondre oui à l'avance, par exemple dans un script, ajoutez --yes après la commande. Sans --yes, une réinitialisation lit sa réponse dans le terminal. Quand son entrée est un pipe ou un fichier, elle ne pose pas la question et s'arrête avec this command needs a confirmation: run it again with --yes : envoyer y par un pipe ne confirme donc rien. Une réinitialisation travaille sur les dossiers de sa propre exécution. Si vous démarrez Asterobot avec des options de dossier ou leurs variables d'environnement, donnez les mêmes dossiers à la réinitialisation. config reset ./asterobot config reset Elle demande Put every setting back to its default value? [y/N]. Une fois la confirmation donnée, elle remet tous les réglages à leur valeur par défaut et vide config.toml, en affichant Resetting the configuration.. puis All configuration settings have been reset to their default values. Vous perdez tout ce que vous avez modifié dans Serveur > Config, notamment : La connexion d'Asterobot à asterobot.net : vous devrez confirmer un nouveau code de connexion. Les réglages réseau, comme server.listenAddress, server.basicAuth et server.tls, qui reviennent à n'accepter que les connexions de cet ordinateur, sans mot de passe. Vos ports, hôtes et dossier Dofus du mode MITM, pour « homme du milieu » (man-in-the-middle), ainsi que vos réglages de connexion automatique. Vos bots, comptes Ankama, paquets et versions de jeu sont conservés. Si Asterobot tourne, il lit aussitôt le fichier vidé, comme après une modification à la main : il est déconnecté immédiatement, et les réglages qui demandent un redémarrage reviennent à leur valeur par défaut au prochain démarrage. cache reset ./asterobot cache reset Elle demande Delete <folder> with everything in it? [y/N], avec le chemin complet du dossier de cache à la place de <folder> : vérifiez qu'il s'agit bien du dossier voulu. Une fois la confirmation donnée, elle supprime le dossier de cache avec tout son contenu, puis le recrée, vide, en affichant Resetting the cache.. puis All cache have been removed. Ce que vous perdez : toutes les versions de jeu, avec leurs fichiers et leurs données de jeu extraites, tous les chunks stockés, les listes de téléchargement d'Ankama, et les captures d'écran des connexions automatiques qui ont échoué. Les bots réglés sur une version de jeu supprimée sont ignorés au démarrage d'Asterobot, jusqu'à ce que vous téléchargiez et extrayiez de nouveau cette version. Vos réglages, bots, comptes Ankama et votre bibliothèque restent, puisque leurs dossiers ne se trouvent jamais dans le dossier de cache. Arrêtez Asterobot avant de la lancer. Réinitialiser et repartir de zéro vous aide à choisir la bonne réinitialisation. Pour aller plus loin Fichiers et dossiers Référence des réglages
-
Référence des réglages
Asterobot compte 19 réglages, regroupés ici par thème. Vous les modifiez dans Serveur > Config (La page Config) ou dans config.toml. Les réglages qui demandent un redémarrage ne prennent effet qu'au prochain démarrage d'Asterobot. Tous les réglages en un coup d'œil Clé Type Valeur par défaut Redémarrage nécessaire server.listenAddress Texte 127.0.0.1:8080 Oui server.basicAuth Identifiants et mots de passe Vide Oui server.tls Activé ou désactivé Désactivé Oui server.skipOpenFrontend Activé ou désactivé Désactivé Non logger.cliLevel Niveau de journalisation INFO Non logger.webLevel Niveau de journalisation INFO Non website.token Texte, masqué Vide Non website.showQRCode Activé ou désactivé Désactivé Non website.signedOut Activé ou désactivé Désactivé Non botmanager.mitmSignInPort Nombre 5555 Oui botmanager.mitmSessionPort Nombre 5556 Oui botmanager.mitmBindHost Texte 127.0.0.1 Oui botmanager.mitmAdvertiseHost Texte Vide Oui botmanager.mitmGamePath Texte Dépend du système Non zaapmanager.browserHeadless Activé ou désactivé Activé Non zaapmanager.browserPath Texte Vide Non zaapmanager.browserUserAgent Texte Vide Non cytrus.keepMostRecentIndexes Nombre 5 Non cytrus.keepMostRecentGamesManifests Nombre 5 Non Sur la page Config, chaque groupe est une carte qui porte le nom de la première partie de ses clés, et les cartes suivent l'ordre alphabétique plutôt que l'ordre de cette page. Connexion à Asteroboard Ces réglages décident où et comment Asteroboard joint Asterobot. Les valeurs par défaut n'acceptent que les connexions venant de l'ordinateur sur lequel tourne Asterobot. Pour joindre Asterobot depuis un autre appareil, suivez Asteroboard sur un autre appareil plutôt que de les modifier un par un, et lisez d'abord Sécurité. server.listenAddress Texte. Par défaut : 127.0.0.1:8080. Redémarrage nécessaire. L'adresse et le port sur lesquels Asterobot attend Asteroboard, au format address:port. Avec 127.0.0.1, seul l'ordinateur sur lequel tourne Asterobot peut se connecter. 0.0.0.0:8080 accepte les connexions sur toutes les interfaces réseau de l'ordinateur. Modifiez-le quand un autre programme utilise déjà le port 8080, ou quand Asteroboard tourne sur un autre appareil. Gardez en tête que : Si Asterobot ne peut pas utiliser l'adresse, par exemple parce que le port est déjà pris, il s'arrête juste après son démarrage avec An error occurred during the server's initialization process. Au démarrage, Asterobot ouvre votre navigateur sur 127.0.0.1 avec ce port. Cela ne fonctionne que si la valeur est une adresse IP suivie d'un port. Avec un nom comme localhost:8080, le terminal affiche Failed to open frontend et Asterobot continue de tourner : ouvrez Asteroboard vous-même. Asteroboard continue d'utiliser son ancienne URL du serveur après le redémarrage. Ouvrez la nouvelle adresse d'Asterobot dans votre navigateur, ou modifiez URL du serveur dans Préférences. Le port apparaît aussi dans la ligne qu'Asterobot écrit dans votre dossier Dofus pour le mode MITM, pour « homme du milieu » (man-in-the-middle) : voir Mode MITM. server.basicAuth Identifiants et mots de passe. Vide par défaut. Redémarrage nécessaire. Masqué. Les identifiants et mots de passe à saisir pour accéder à Asterobot. Vide signifie aucun mot de passe, ce qui ne pose pas de problème tant que seul votre propre ordinateur peut se connecter. Il s'édite en JSON sur la page Config, avec un identifiant par entrée : {"alice": "a long password", "bob": "another long password"} Les mots de passe sont stockés en clair dans config.toml. Dès qu'un identifiant est défini, Serveur > État affiche Protégé par mot de passe (État et console). Warning Quand ce réglage est défini, le mode MITM ne fonctionne plus, même sur un seul ordinateur. Mode MITM explique pourquoi, et un tunnel SSH permet à d'autres appareils d'accéder à Asterobot sans lui. server.tls Activé ou désactivé. Désactivé par défaut. Redémarrage nécessaire. Sert Asterobot en HTTPS au lieu de HTTP. La première fois qu'Asterobot démarre avec ce réglage activé, il crée son propre certificat, tls/cert.pem, et sa clé privée, tls/key.pem, dans son dossier de données (Fichiers et dossiers). Le certificat est valable trois ans, uniquement pour les noms localhost, 127.0.0.1 et ::1, et signé par Asterobot lui-même : les navigateurs affichent donc un avertissement jusqu'à ce que vous l'acceptiez. La description sur la page Config parle du répertoire de cache, mais les deux fichiers se trouvent dans le dossier de données. Pour obtenir un nouveau certificat, supprimez-les et redémarrez Asterobot. Avec ce réglage activé, l'URL du serveur d'Asteroboard doit commencer par https://, et le navigateur qu'Asterobot ouvre au démarrage utilise https://127.0.0.1 avec le port de server.listenAddress. Warning Avec ce réglage activé, le mode MITM ne fonctionne plus, même sur un seul ordinateur. Mode MITM explique pourquoi, et un tunnel SSH permet à d'autres appareils d'accéder à Asterobot sans lui. server.skipOpenFrontend Activé ou désactivé. Désactivé par défaut. Sans redémarrage. Asterobot ouvre votre navigateur sur Asteroboard à chaque démarrage. Activez ce réglage pour l'en empêcher, par exemple sur un ordinateur sans écran, ou quand Asteroboard est déjà ouvert. Il est lu à chaque démarrage d'Asterobot. Journal Les deux niveaux de journalisation sont indépendants : l'un pour le terminal dans lequel tourne Asterobot, l'autre pour Serveur > Console. Tous deux prennent l'une de quatre valeurs, et chaque niveau affiche ses propres lignes et celles de tous les niveaux au-dessus : Niveau Ce que vous voyez DEBUG Tout, y compris des lignes détaillées destinées au dépannage. INFO L'activité normale. C'est la valeur par défaut. WARN Les avertissements et les erreurs uniquement. ERROR Les erreurs uniquement. État et console détaille ces deux endroits. logger.cliLevel Niveau de journalisation. Par défaut : INFO. Sans redémarrage. La quantité de lignes qu'affiche le terminal depuis lequel Asterobot a été lancé. Passez-le à DEBUG quand quelqu'un qui vous aide demande un journal détaillé, puis remettez-le à INFO : les lignes de débogage sont nombreuses. logger.webLevel Niveau de journalisation. Par défaut : INFO. Sans redémarrage. La quantité de lignes qui arrivent dans Serveur > Console. Les lignes sous ce niveau ne sont jamais envoyées à Asteroboard. La liste Niveau serveur de l'onglet Console modifie ce même réglage. Connexion à asterobot.net website.token Texte. Vide par défaut. Sans redémarrage. Masqué. Le jeton de connexion d'Asterobot sur asterobot.net. Asterobot l'enregistre quand vous confirmez un code de connexion, et le vide quand vous vous déconnectez. Vous n'avez aucune raison d'y taper quoi que ce soit. Quiconque obtient cette valeur peut utiliser votre accès à asterobot.net : ne la partagez jamais (Obtenir de l'aide). La rétablir déconnecte Asterobot. website.showQRCode Activé ou désactivé. Désactivé par défaut. Sans redémarrage. Affiche le lien de connexion sous forme de QR code dans le terminal, pour que vous puissiez confirmer le code depuis un téléphone. Pratique quand Asterobot tourne sur une machine sans navigateur. Le réglage s'applique à partir du prochain code demandé par Asterobot. Voir Se connecter avec asterobot.net. website.signedOut Activé ou désactivé. Désactivé par défaut. Sans redémarrage. S'active quand vous vous déconnectez, et se désactive quand vous vous connectez. Tant qu'il est activé, Asterobot ne lance jamais de connexion de lui-même, pas même après un redémarrage. Laissez le bouton du compte s'en charger : le désactiver à la main permet seulement à Asterobot de lancer de lui-même une nouvelle connexion la prochaine fois qu'il a besoin de votre compte. Voir Votre compte. Mode MITM Ces réglages ne concernent que les bots en mode MITM, abréviation de man-in-the-middle (« homme du milieu »), où un bot relaie le Dofus auquel vous jouez. Un bot qui se connecte seul ne les utilise jamais. Mode MITM explique ce mode, et MITM sur plusieurs machines les installations où Dofus tourne sur un autre ordinateur. botmanager.mitmSignInPort Nombre. Par défaut : 5555. Redémarrage nécessaire. Le port sur lequel votre Dofus se connecte une fois que ses fichiers pointent vers Asterobot. Ne le modifiez que si un autre programme utilise déjà ce port sur cet ordinateur. Il doit être différent de botmanager.mitmSessionPort. botmanager.mitmSessionPort Nombre. Par défaut : 5556. Redémarrage nécessaire. Le port sur lequel votre Dofus ouvre sa session de jeu, après la connexion. Un seul port sert à tous les bots relayés : Asterobot distingue les sessions d'après ce qu'elles envoient. Ne le modifiez que si un autre programme utilise déjà ce port. botmanager.mitmBindHost Texte. Par défaut : 127.0.0.1. Redémarrage nécessaire. L'interface réseau sur laquelle écoutent les deux ports. 127.0.0.1 n'accepte que les connexions venant de cet ordinateur, ce qui convient quand vous jouez dessus. Pour relayer un Dofus qui tourne sur un autre ordinateur, indiquez l'adresse de cet ordinateur sur votre réseau, ou 0.0.0.0 pour toutes les interfaces. Tout ce qui se trouve sur ce réseau peut alors joindre les deux ports. botmanager.mitmAdvertiseHost Texte. Vide par défaut. Redémarrage nécessaire. L'adresse à laquelle votre Dofus reçoit l'instruction de se connecter. Vide, c'est botmanager.mitmBindHost qui sert, ou 127.0.0.1 quand celui-ci vaut 0.0.0.0. Renseignez-le quand Asterobot écoute sur 0.0.0.0, ou se trouve derrière un NAT, avec l'adresse que l'ordinateur de Dofus peut réellement joindre. botmanager.mitmGamePath Texte. Valeur par défaut selon le système. Sans redémarrage. Le dossier du Dofus auquel vous jouez, celui qu'a installé l'Ankama Launcher. Asterobot lit le numéro de version dans son fichier Dofus_Data/StreamingAssets/version et en modifie une ligne pendant qu'un bot attend votre jeu. Il ne lit rien d'autre dans ce dossier. Système Valeur par défaut Windows %AppData%\Ankama\Dofus-dofus3 Linux ~/.config/Ankama/Dofus-dofus3, ou le même dossier sous XDG_CONFIG_HOME quand cette variable est définie macOS Vide La valeur par défaut n'est remplie que si ce dossier existe au démarrage d'Asterobot. Indiquez le dossier vous-même sur macOS, ou quand votre Dofus est installé ailleurs. Une nouvelle valeur s'applique dès qu'aucun bot n'attend votre jeu. Connexion automatique aux comptes Ankama Ces réglages affinent la façon dont Asterobot connecte les comptes Ankama au moyen d'un navigateur. Aucun n'est nécessaire au fonctionnement de la connexion automatique : c'est l'enregistrement du mot de passe d'un compte qui l'active. Connexion automatique explique tout le processus. zaapmanager.browserHeadless Activé ou désactivé. Activé par défaut. Sans redémarrage. Lance le navigateur de connexion sans fenêtre. Désactivez-le, sur un ordinateur avec un écran devant lequel vous êtes, pour suivre la connexion et répondre à une vérification affichée par Ankama. Réactivez-le ensuite. Le réglage s'applique à partir de la prochaine connexion. zaapmanager.browserPath Texte. Vide par défaut. Sans redémarrage. Le chemin complet du navigateur utilisé pour se connecter à Ankama. Vide, Asterobot cherche Google Chrome, Chromium ou Microsoft Edge à leurs emplacements habituels. Renseignez-le pour un navigateur installé à un endroit inhabituel, ou pour un autre navigateur basé sur Chromium comme Brave, Vivaldi ou Opera. Quand il est renseigné, Asterobot utilise ce navigateur et aucun autre. zaapmanager.browserUserAgent Texte. Vide par défaut. Sans redémarrage. La façon dont le navigateur de connexion s'identifie auprès des pages qu'il ouvre. Vide, il se présente comme Chrome sous Windows 11, avec le numéro de version majeure du navigateur réellement installé. Ce que vous saisissez remplace cette identité. Laissez-le vide, sauf si vous avez une raison précise de le changer. Listes de téléchargement du jeu Quand Asterobot télécharge des versions de jeu, il garde dans son dossier de cache des copies de deux sortes de listes venant des serveurs de téléchargement d'Ankama : la liste des versions de jeu disponibles et, pour chaque version, la liste des fichiers qui la composent. Ces deux réglages limitent le nombre de copies conservées. Vous aurez rarement besoin de les modifier. cytrus.keepMostRecentIndexes Nombre. Par défaut : 5. Sans redémarrage. Le nombre de copies de la liste des versions de jeu disponibles qu'Asterobot conserve. Les copies plus anciennes sont supprimées. 0 conserve toutes les copies. La commande gamemanager registry liste les versions trouvées dans les copies conservées (Ligne de commande). cytrus.keepMostRecentGamesManifests Nombre. Par défaut : 5. Sans redémarrage. Le nombre de listes de fichiers qu'Asterobot conserve pour chaque jeu. Les plus anciennes sont supprimées. 0 les conserve toutes. Pour aller plus loin La page Config Ligne de commande
-
La page Config
Serveur > Config liste tous les réglages de votre Asterobot, ceux que vous avez modifiés comme ceux restés à leur valeur par défaut. Ce que vous y changez est enregistré aussitôt dans le fichier config.toml d'Asterobot. Le rôle de chaque réglage est détaillé dans Référence des réglages. L'ouvrir Dans la barre latérale, cliquez sur Serveur. Cliquez sur l'onglet Config. La page commence par « Tous les réglages stockés sur le serveur Asterobot. Les changements s'appliquent en direct. » En dessous se trouvent le filtre, les compteurs et deux boutons, puis une carte par groupe de réglages. Comment les réglages sont regroupés Chaque réglage a une clé en deux parties, comme server.listenAddress. La partie avant le point désigne le groupe, et chaque groupe a sa carte, dans l'ordre alphabétique des noms. L'en-tête de la carte affiche le nom du groupe, le nombre de ses réglages listés et combien d'entre eux sont modifiés. Dans une carte, chaque ligne affiche la partie après le point, comme listenAddress, avec tout ce qui concerne ce réglage : Partie de la ligne Ce qu'elle affiche Le nom La seconde partie de la clé. Le bouton de copie juste à côté, Copier la clé, copie la clé entière, comme server.listenAddress. Modifié Vous avez défini ce réglage vous-même. Voir Modifié et valeur par défaut. Redémarrage requis Asterobot n'utilise une nouvelle valeur qu'à son démarrage. Voir Redémarrage requis. La description Ce que fait le réglage. Les descriptions des réglages botmanager restent en anglais, quelle que soit la langue d'Asteroboard. Défaut : La valeur du réglage quand personne ne l'a changée. (vide) signifie un texte vide. Le contrôle L'endroit où vous changez la valeur : un interrupteur, une liste, une zone de texte ou Éditer en JSON. Le bouton de réinitialisation Rétablir la valeur par défaut remet la valeur par défaut. Il est grisé, avec l'infobulle Déjà à la valeur par défaut, quand le réglage n'est pas modifié. Trouver un réglage Filtrer les réglages... garde les réglages dont la clé ou la description contient ce que vous tapez, sans tenir compte des majuscules et des minuscules. La description compte aussi : taper https trouve server.tls, dont la description parle d'HTTPS. Modifiés uniquement masque tous les réglages que vous n'avez pas modifiés. Le badge à côté compte ce que vous voyez, par exemple « 3 sur 19 · 2 modifié(s) » : 3 réglages affichés sur 19, et 2 modifiés au total. Quand rien ne correspond, la page indique « Aucun réglage ne correspond à ce filtre. » Modifier un réglage Le contrôle dépend du type de valeur : Type de valeur Contrôle Quand la modification est enregistrée Activé ou désactivé Un interrupteur Dès que vous le basculez. Une valeur parmi quelques-unes, comme un niveau de journalisation Une liste Dès que vous choisissez une valeur. Du texte ou un nombre Une zone de texte Quand vous appuyez sur Entrée ou cliquez en dehors de la zone. Quitter la zone sans changer le texte n'enregistre rien. Des identifiants et mots de passe, comme server.basicAuth Éditer en JSON Quand vous cliquez sur Appliquer. Une modification enregistrée va directement dans config.toml, et tous les Asteroboard connectés à cet Asterobot l'affichent. Sauf si le réglage porte le badge Redémarrage requis, Asterobot utilise la nouvelle valeur tout de suite. Quand une modification ne peut pas être enregistrée, Asteroboard affiche Impossible d'enregistrer avec la clé du réglage, et le contrôle reprend la valeur enregistrée. Cela arrive par exemple quand la valeur n'est pas du type que le réglage attend. Nombres Un réglage qui contient un nombre n'accepte qu'un nombre. Tout le reste, zone vide comprise, affiche Ce n'est pas un nombre et la zone reprend la valeur enregistrée. Réglages édités en JSON server.basicAuth contient une liste d'identifiants avec leurs mots de passe, qu'une simple zone de texte ne peut pas afficher. Cliquez sur Éditer en JSON pour ouvrir un éditeur sous la ligne : Modifiez la valeur, par exemple {"alice": "a long password"} pour un seul identifiant. Cliquez sur Appliquer. Annuler, ou Masquer le JSON sur la ligne, ferme l'éditeur sans enregistrer. Si le texte n'est pas du JSON valide, Asteroboard affiche JSON invalide et laisse l'éditeur ouvert pour que vous puissiez corriger. Modifié et valeur par défaut Un réglage devient Modifié dès que vous enregistrez une valeur pour lui, même si cette valeur est identique à la valeur par défaut. Seuls les réglages modifiés sont écrits dans config.toml. Cette différence compte quand vous mettez Asterobot à jour. Un réglage laissé à sa valeur par défaut suit la nouvelle version : si celle-ci change la valeur par défaut, le réglage change avec elle. Un réglage modifié garde votre valeur, quelle que soit la nouvelle valeur par défaut. N'enregistrez donc une valeur que si vous tenez vraiment à la conserver. Le bouton de réinitialisation annule ce choix : le réglage revient à sa valeur par défaut, perd le badge Modifié et disparaît de config.toml. Redémarrage requis Quelques réglages ne sont lus qu'au démarrage d'Asterobot et portent le badge Redémarrage requis : server.listenAddress, server.basicAuth, server.tls, botmanager.mitmSignInPort, botmanager.mitmSessionPort, botmanager.mitmBindHost et botmanager.mitmAdvertiseHost. Quand l'un d'eux change pendant que la page est ouverte, une alerte apparaît en haut : Redémarrer pour appliquer, « Certains réglages modifiés ne prennent effet qu'après un redémarrage d'asterobot. » Pour redémarrer, arrêtez Asterobot puis relancez-le, comme l'explique Premier lancement. L'alerte apparaît aussi quand la modification vient d'ailleurs, par exemple d'un autre Asteroboard, et elle reste affichée jusqu'à ce que vous rechargiez Asteroboard, même après le redémarrage. Warning server.listenAddress, server.basicAuth et server.tls changent la façon dont Asteroboard joint Asterobot. Après le redémarrage, Asteroboard risque de ne plus pouvoir se connecter avec son URL du serveur actuelle. Lisez Asteroboard sur un autre appareil avant de les modifier, et gardez un accès à l'ordinateur sur lequel tourne Asterobot. Rétablir des réglages Vous pouvez rétablir à trois niveaux : Un réglage : le bouton de réinitialisation au bout de sa ligne. Un groupe : le bouton de réinitialisation dans l'en-tête de la carte, Rétablir les réglages de ce service. Il n'apparaît que si le groupe contient des réglages modifiés. Tout : Tout rétablir, en haut à droite. Il reste grisé tant que rien n'est modifié. Tout rétablir demande d'abord confirmation, avec Rétablir tous les réglages modifiés ? et « Cela rétablit 2 réglage(s) modifié(s) à leur valeur par défaut. » Cliquez sur Tout rétablir dans cette alerte pour continuer, ou sur Annuler. Asteroboard confirme avec Réglages rétablis. Le résultat est le même qu'avec la commande config reset (Ligne de commande). Si une réinitialisation échoue, Asteroboard affiche Impossible de rétablir le réglage. Warning Une fois Asterobot connecté à asterobot.net, website.token est un réglage modifié. Le rétablir, seul, avec le groupe website ou avec Tout rétablir, déconnecte Asterobot. Asterobot lance alors une nouvelle connexion la prochaine fois qu'il a besoin de votre compte, ou quand vous cliquez sur Se connecter dans le bouton du compte. Voir Se connecter avec asterobot.net. Valeurs masquées Deux réglages contiennent des secrets et ne sont jamais affichés par défaut : website.token, le jeton de connexion d'Asterobot sur asterobot.net. Sa zone affiche des points, et le bouton en forme d'œil à côté révèle la valeur. server.basicAuth, les identifiants et mots de passe qui protègent Asterobot. Sa valeur par défaut s'affiche sous forme de points, mais Éditer en JSON montre les identifiants et les mots de passe en clair. Un réglage sur lequel Asterobot ne fournit aucune information est masqué de la même façon quand sa clé contient token, password ou secret. Ne révélez pas ces valeurs, et n'ouvrez pas server.basicAuth dans l'éditeur, si quelqu'un peut voir votre écran. Obtenir de l'aide explique pourquoi. Réglages déclarés par aucun service Une ligne qui affiche « Déclaré par aucun service » à la place d'une valeur par défaut correspond à un réglage que config.toml contient mais qu'aucune partie d'Asterobot n'utilise. C'est en général un reste d'une ancienne version, ou une clé tapée à la main avec une faute. Il n'a aucun effet. Son bouton de réinitialisation le retire de config.toml. Tout recharger Tout recharger relit tous les réglages depuis Asterobot. La page se tient normalement à jour d'elle-même, vous en aurez donc rarement besoin. Si le rechargement échoue, Asteroboard affiche Impossible de recharger les réglages, ce qui veut en général dire qu'il n'est pas connecté à Asterobot. Pendant le chargement des réglages, la page indique « Chargement des réglages... », et « Aucun réglage chargé pour le moment. » quand Asteroboard n'a rien à afficher. Modifier config.toml à la main Vous pouvez aussi modifier les réglages dans config.toml avec un éditeur de texte. Asterobot surveille le fichier : enregistrez-le, et Asterobot applique la modification en un instant, exactement comme si vous l'aviez faite sur la page Config, puis Asteroboard se met à jour. Le terminal affiche Config loaded from suivi du chemin du fichier. Le fichier est au format TOML, avec une section par groupe, et ne contient que les réglages que vous avez modifiés. Par exemple : [logger] cliLevel = "DEBUG" [server] skipOpenFrontend = true [server.basicAuth] alice = "a long password" Supprimer une ligne remet ce réglage à sa valeur par défaut. Fichiers et dossiers indique où se trouve le fichier sur chaque système. Si le fichier ne peut plus être lu après votre modification, par exemple à cause d'un guillemet manquant, le terminal affiche l'avertissement Failed to reload config from file et Asterobot garde les valeurs qu'il avait. Corrigez le fichier et enregistrez-le de nouveau. Asterobot n'écrase pas un fichier qu'il ne peut pas lire, pas même quand il s'arrête. Pour aller plus loin Référence des réglages Fichiers et dossiers
-
Sécurité
Asterobot n'a pas de comptes utilisateurs à lui : quiconque atteint son port est traité comme vous. Ce n'est pas un problème tant qu'il n'écoute que sur votre propre ordinateur, et c'est la seule chose à garder en tête avant de laisser entrer d'autres machines. Quiconque atteint Asterobot peut faire ce que vous faites Asteroboard fait tout par le port d'Asterobot, celui de server.listenAddress. Toute personne dont le navigateur ou le programme atteint ce port, et qui passe l'authentification basique (basic auth) quand vous l'avez configurée, peut tout faire elle aussi : Lire tous les réglages, dont website.token, la connexion qu'Asterobot utilise pour votre compte asterobot.net, et les mots de passe de l'authentification basique eux-mêmes. Utiliser vos comptes Ankama : y connecter des bots, envoyer des messages dans le jeu au nom de vos personnages, et déconnecter la partie que vous êtes en train de jouer. Exécuter du code sur vos bots : installer des paquets du marché avec votre compte asterobot.net, en écrire de nouveaux dans l'éditeur, et les lancer. Suivre vos parties : lire les consoles des bots, le chat et le trafic, y compris IdentificationRequest, le message qui ouvre une session de jeu, dès qu'elle l'a coché. Modifier ou supprimer n'importe quoi : réglages, bots, comptes, paquets et versions de jeu. Cela inclut ouvrir au réseau les ports MITM (« homme du milieu », de l'anglais man-in-the-middle), ou désactiver l'authentification basique. Arrêter Asterobot. Une chose reste hors de portée. Asteroboard ne reçoit jamais vos mots de passe Ankama enregistrés ni les connexions Ankama, donc personne ne peut les lire par le port d'Asterobot. On peut en revanche s'en servir, en connectant vos bots. Ce que protègent les réglages par défaut Le port d'Asterobot et les deux ports MITM écoutent tous sur 127.0.0.1, que seul l'ordinateur qui fait tourner Asterobot peut atteindre. Sur un ordinateur partagé, cela inclut tout de même les autres personnes qui l'utilisent, et tous les programmes qui y tournent. Les ports MITM ne s'ouvrent que pendant qu'un bot attend votre jeu. config.toml, qui contient la connexion asterobot.net et les mots de passe de l'authentification basique, n'est lisible que par votre propre utilisateur sous Linux et macOS. Asterobot l'écrit ainsi, et quand il trouve le fichier ouvert à d'autres, il le restreint de nouveau et affiche Restricted the configuration file to its owner. Il n'y a ni mot de passe ni HTTPS par défaut, parce que seul cet ordinateur peut atteindre ces ports. Avant de l'ouvrir Parcourez cette liste avant qu'une autre machine puisse atteindre Asterobot : Préférez un tunnel SSH. Il garde Asterobot sur 127.0.0.1, chiffre la connexion et ne laisse entrer que les personnes qui peuvent se connecter à la machine. C'est aussi la seule option qui garde le mode MITM fonctionnel. Voir Asterobot sur une machine distante. Sinon, configurez l'authentification basique, avec un long mot de passe que vous n'utilisez nulle part ailleurs. Activez TLS, pour que ce mot de passe et tout le reste ne traversent pas le réseau sous une forme lisible. Limitez le port dans votre pare-feu aux appareils qui en ont besoin, et ne le redirigez pas de votre routeur vers Internet. N'ouvrez que ce que vous utilisez. Laissez botmanager.mitmBindHost sur 127.0.0.1, sauf si Dofus tourne sur un autre ordinateur. Vérifiez le résultat dans Serveur > État, depuis l'appareil avec lequel vous vous connectez : Transport doit indiquer Chiffré (HTTPS), et Authentification doit indiquer Protégé par mot de passe. L'authentification basique et TLS empêchent tous deux le mode MITM. Quand vous avez besoin du mode MITM avec Dofus ou Asteroboard sur une autre machine, utilisez des tunnels SSH, ou gardez l'installation sur un réseau de confiance, comme le fait MITM sur plusieurs machines. Authentification basique server.basicAuth contient des noms d'utilisateur et leurs mots de passe. Dès qu'il en contient au moins un, Asterobot demande un nom d'utilisateur et un mot de passe à chaque requête sur son port, depuis n'importe quel navigateur ou programme. Ce réglage prend effet au redémarrage d'Asterobot. Asteroboard sur un autre appareil montre comment le configurer. Ce qu'il faut savoir : Les mots de passe sont enregistrés en clair dans config.toml, exactement comme vous les avez tapés. Quiconque peut lire ce fichier peut les lire, tout comme quiconque entre avec l'un d'eux, dans Serveur > Config. Rien ne limite les essais erronés. Asterobot ne ralentit ni ne bloque personne après des tentatives échouées : un long mot de passe compte donc. Sans TLS, le mot de passe circule en clair. Le navigateur l'envoie avec chaque requête, et quiconque peut observer le réseau entre le navigateur et Asterobot peut le lire. Elle couvre tout ce qui passe par le port, y compris les réglages de connexion que Dofus récupère en mode MITM. Dofus ne peut pas envoyer de mot de passe, donc le mode MITM cesse de fonctionner. Le navigateur le demande quand vous ouvrez l'adresse d'Asterobot, et Asteroboard utilise ensuite ce dont le navigateur se souvient. Les navigateurs l'oublient en général à leur fermeture. TLS server.tls fait parler HTTPS au port d'Asterobot, pour que ce qui circule entre votre navigateur et Asterobot ne puisse pas être lu en chemin. Ce réglage prend effet au redémarrage d'Asterobot. Le certificat est auto-signé, et il ne couvre que localhost, 127.0.0.1 et ::1. Les navigateurs le signalent la première fois. N'acceptez cet avertissement que pour l'adresse de votre propre Asterobot. Il est valable 3 ans, et Asterobot ne le renouvelle pas. Asteroboard sur un autre appareil explique où il est enregistré et comment le remplacer. Il empêche le mode MITM, parce que Dofus récupère ses réglages de connexion en simple HTTP. Les ports MITM Le port de connexion (botmanager.mitmSignInPort, 5555) et le port de session (botmanager.mitmSessionPort, 5556) existent pour les clients Dofus. Ils écoutent sur botmanager.mitmBindHost, 127.0.0.1 par défaut, et seulement tant qu'au moins un bot attend. Ce qu'ils acceptent : Le port de connexion accepte n'importe quel client Dofus qui s'y connecte, et transmet sa connexion à Ankama. Asterobot ne demande rien : c'est Ankama qui vérifie le compte. Un bot en attente qui n'est rattaché à aucun compte Ankama prend la première session qui arrive, et se rattache à ce compte. Un bot sans compte Ankama garde ce rattachement pour de bon. Le port de session n'accepte qu'une session de jeu dont le ticket est passé par le port de connexion, et chaque ticket ne sert qu'une fois. Toute autre connexion est fermée. Le port 8080 répond à la demande de réglages de connexion de Dofus avec les réglages publics d'Ankama, dans lesquels seule l'adresse de connexion est modifiée. Ainsi, quand les ports MITM sont ouverts à un réseau, n'importe qui sur ce réseau peut faire passer sa propre partie par votre Asterobot, et votre bot en attente peut se retrouver rattaché à son compte au lieu du vôtre. Il ne prend alors plus vos sessions : supprimez-le et ajoutez-le de nouveau (voir Mode MITM). Relayer un Dofus depuis un autre ordinateur implique aussi de laisser le port 8080 ouvert sans mot de passe, avec tout ce que cela permet. Si quelqu'un est entré Si vous pensez que quelqu'un a utilisé votre Asterobot à votre insu : Arrêtez Asterobot, ou remettez server.listenAddress sur 127.0.0.1:8080 et redémarrez-le. Changez les mots de passe de l'authentification basique, ainsi que partout ailleurs où vous les avez utilisés. Dans le Gestionnaire de comptes, cliquez sur Déconnecter pour chaque compte Ankama : Asterobot demande à Ankama d'annuler la connexion du compte, puis l'oublie (État et actions d'un compte). Si des mots de passe étaient enregistrés, changez-les du côté d'Ankama. Déconnectez-vous d'asterobot.net depuis le bouton du compte, puis reconnectez-vous. La déconnexion fait oublier sa connexion à Asterobot, mais n'annule pas une copie que quelqu'un d'autre aurait pu prendre. Obtenir de l'aide explique comment joindre l'équipe. Vérifiez dans le Gestionnaire de bibliothèque, le Gestionnaire de bots et Serveur > Config qu'il n'y a rien que vous n'ayez pas fait vous-même. Pour aller plus loin Comment les parties communiquent Comptes et sécurité
-
MITM sur plusieurs machines
En mode MITM (« homme du milieu », de l'anglais man-in-the-middle), un bot relaie la partie que vous jouez. Quand Dofus et Asterobot partagent un ordinateur, Asterobot modifie tout seul une ligne de votre dossier Dofus (Mode MITM). Quand Dofus tourne sur un autre ordinateur, Asterobot ne peut pas atteindre ce fichier : vous faites donc la modification vous-même, et vous ouvrez les ports d'Asterobot à cet ordinateur. Cette page utilise trois ordinateurs : PC A fait tourner Dofus, installé avec l'Ankama Launcher. PC B fait tourner Asterobot. PC C fait tourner Asteroboard dans un navigateur. Le PC C est facultatif. Asteroboard peut tourner sur le PC B, où les réglages par défaut fonctionnent, ou sur le PC A, qui se connecte alors comme le PC C. L'adresse 192.168.1.20 représente l'adresse du PC B sur votre réseau. Comment le jeu atteint Asterobot PC A : Dofus → PC B : Asterobot (8080, 5555, 5556) PC A : Dofus → Serveurs d'Ankama (tout le reste) PC B : Asterobot → Serveurs d'Ankama PC C : Asteroboard → PC B : Asterobot (tunnel SSH) Dofus, sur le PC A, lit la ligne ConfigUrl de son fichier version, et récupère ses réglages de connexion à cette adresse : le port 8080 d'Asterobot, sur le PC B. Asterobot répond avec les vrais réglages d'Ankama, dans lesquels le serveur de connexion est remplacé par son propre port de connexion, 5555. Dofus se connecte sur le port 5555 du PC B, et Asterobot transmet la connexion à Ankama. Quand Ankama indique à Dofus quel serveur de jeu rejoindre, Asterobot remplace cette adresse par son propre port de session, 5556. Dofus ouvre sa session de jeu sur le port 5556, et le bot en attente la relaie vers le serveur de jeu. Le PC A doit donc atteindre trois ports du PC B, tous à la même adresse : celle qu'Asterobot donne à Dofus. Tout le reste de ce qu'utilise Dofus va toujours directement chez Ankama. Ce qu'il vous faut Dofus 3 sur le PC A, installé avec l'Ankama Launcher. Asterobot sur le PC B, connecté à asterobot.net, avec la version de Dofus du PC A téléchargée et extraite dans le Gestionnaire de jeux, et un bot qui utilise cette version. Votre premier bot détaille les deux. Un PC A capable d'atteindre le PC B : sur le même réseau local, ou par redirection de ports (voir Pare-feu et NAT). 1. Vérifier la version à la main Sur un seul ordinateur, Asterobot compare votre version de Dofus avec sa propre copie, et refuse d'attendre quand elles diffèrent. Les fichiers du PC A sont hors de sa portée : ici, rien ne le vérifie. Sur le PC A, ouvrez Dofus_Data/StreamingAssets/version dans le dossier de Dofus, et lisez la ligne Version=. Le dossier habituel de l'Ankama Launcher est %AppData%\Ankama\Dofus-dofus3 sous Windows et ~/.config/Ankama/Dofus-dofus3 sous Linux. Sur le PC B, vérifiez dans le Gestionnaire de jeux que cette version exacte est téléchargée et extraite, et que le bot l'utilise. Quand elles diffèrent, Asterobot lit les messages du jeu avec les définitions d'une autre version, et rien de ce qu'affiche le bot ou de ce que voit un paquet n'est fiable. Vérifiez de nouveau après chaque mise à jour de Dofus. 2. Ouvrir Asterobot au PC A Sur le PC B, ouvrez Serveur > Config. Caution Avec ces réglages, tous les appareils de votre réseau peuvent atteindre le port 8080 d'Asterobot sans mot de passe, ce qui donne le contrôle total d'Asterobot, et peuvent envoyer leur propre session de jeu à votre bot en attente. Ne le faites que sur un réseau de confiance. Sécurité explique les risques. Modifiez ces réglages : Réglage Valeur à mettre Pourquoi server.listenAddress 0.0.0.0:8080 Dofus récupère ses réglages de connexion sur ce port. 0.0.0.0 garde aussi 127.0.0.1 fonctionnel sur le PC B, ce dont a besoin le tunnel SSH venant du PC C. botmanager.mitmBindHost 192.168.1.20, l'adresse du PC B Les ports de connexion et de session acceptent alors les connexions venant de votre réseau. botmanager.mitmAdvertiseHost Laissez-le vide Vide signifie la même adresse que botmanager.mitmBindHost, ce qui convient ici. server.tls Désactivé Dofus récupère ses réglages en simple HTTP. server.basicAuth Vide Dofus ne peut pas envoyer de mot de passe. Ne renseignez botmanager.mitmAdvertiseHost que lorsque le PC A doit utiliser une autre adresse que botmanager.mitmBindHost : quand botmanager.mitmBindHost vaut 0.0.0.0. Cette valeur signifie toutes les interfaces, mais ce n'est pas une adresse à laquelle on peut se connecter : Asterobot indique alors à Dofus d'utiliser 127.0.0.1, qui ne fonctionne que sur le PC B ; quand le PC A atteint le PC B à travers un NAT, avec une autre adresse (voir Pare-feu et NAT). Redémarrez Asterobot sur le PC B : chaque réglage du tableau prend effet au prochain démarrage. Si Dofus est aussi installé sur le PC B, dans le dossier indiqué par botmanager.mitmGamePath, Asterobot modifie toujours cette copie dès qu'un bot se met en attente, et refuse d'attendre quand la version de cette copie n'est pas la sienne. Si vous ne jouez pas sur le PC B, videz botmanager.mitmGamePath. Ce réglage-là s'applique sans redémarrage. 3. Se mettre en attente et copier la valeur pour le PC A Dans Asteroboard, ouvrez la page du bot et cliquez sur Commencer l'attente. L'état passe à En attente de votre client de jeu. Asterobot ouvre ses ports de connexion et de session et écrit Ready for game clients dans son journal, dans le terminal du PC B et dans Serveur > Console. Cette ligne liste les adresses utilisées. Vérifiez que l'adresse advertised est celle du PC B, et non 127.0.0.1. Copiez la valeur configUrl de cette ligne. Avec les réglages ci-dessus, elle donne : http://192.168.1.20:8080/botmanager/mitm/dofus3.json La valeur est toujours construite de la même façon : http://, l'adresse annoncée, deux-points et le port de server.listenAddress, puis /botmanager/mitm/dofus3.json. Elle reste la même tant que ces réglages ne changent pas. Sans Dofus sur le PC B, le journal n'affiche pas Pointed the played game at Asterobot. C'est normal : il n'y a rien à modifier sur le PC B. 4. Modifier la ligne sur le PC A Fermez Dofus sur le PC A, s'il est ouvert. Ouvrez Dofus_Data/StreamingAssets/version, dans le dossier de Dofus, avec un éditeur de texte. Trouvez la ligne qui commence par ConfigUrl=, et copiez-la en lieu sûr. Vous en aurez besoin pour remettre le fichier en état. Remplacez tout ce qui suit ConfigUrl= par la valeur de l'étape 3, et laissez les autres lignes telles quelles : ConfigUrl=http://192.168.1.20:8080/botmanager/mitm/dofus3.json Enregistrez le fichier. 5. Jouer Lancez Dofus depuis l'Ankama Launcher sur le PC A, connectez-vous et choisissez votre personnage. Sur la page du bot, l'état passe à Connecté au serveur de jeu, comme sur un seul ordinateur. Les sessions de jeu sont associées aux bots en attente par compte Ankama, exactement comme le décrit Mode MITM. Tant que sa ligne ConfigUrl pointe vers le PC B, le Dofus du PC A ne se connecte que si Asterobot tourne sur le PC B avec au moins un bot en attente. Quand aucun bot n'attend, le port de connexion est fermé, et quand Asterobot est arrêté, Dofus ne peut même pas récupérer ses réglages de connexion. Sur un seul ordinateur, Asterobot remet la ligne en place à ces moments-là. Sur plusieurs machines, c'est à vous de le faire. Remettre la ligne en place Pour jouer sur le PC A sans Asterobot : Fermez Dofus. Dans Dofus_Data/StreamingAssets/version, remplacez la ligne ConfigUrl= par la ligne d'origine que vous avez gardée. Enregistrez le fichier et lancez Dofus. Si vous avez perdu la ligne d'origine, reprenez-la dans la copie de la même version qu'Asterobot garde sur le PC B, et qu'il ne modifie jamais. Son fichier version se trouve dans le dossier de cache d'Asterobot, sous game/dofus/dofus3/windows/, puis le numéro de version, puis Dofus_Data/StreamingAssets/version. Fichiers et dossiers indique où se trouve le dossier de cache. Piloter depuis le PC C Le navigateur du PC C doit atteindre Asterobot sur le PC B. Depuis un autre appareil, cela veut généralement dire HTTPS (Asteroboard sur un autre appareil), mais HTTPS empêche le mode MITM. Utilisez plutôt un tunnel SSH du PC C vers le PC B : Assurez-vous que le PC B fait tourner un serveur SSH qui accepte votre connexion. Sur le PC C, lancez : ssh -L 8080:127.0.0.1:8080 user@192.168.1.20 Dans le navigateur du PC C, ouvrez http://127.0.0.1:8080. Asterobot sur une machine distante explique le tunnel en détail. Certains navigateurs laissent Asteroboard atteindre directement http://192.168.1.20:8080, une fois que vous autorisez l'accès à votre réseau local. Si c'est le cas du vôtre, ouvrir cette adresse sur le PC C fonctionne sans tunnel, mais beaucoup de navigateurs le refusent. Sans ouvrir aucun port Si le PC A peut se connecter au PC B en SSH, un tunnel peut aussi transporter le jeu, et Asterobot garde tous ses ports sur 127.0.0.1 : Sur le PC B, gardez les valeurs par défaut : server.listenAddress sur 127.0.0.1:8080, botmanager.mitmBindHost sur 127.0.0.1 et botmanager.mitmAdvertiseHost vide. Redémarrez Asterobot si vous les aviez modifiés. Sur le PC A, ouvrez un tunnel pour les trois ports, et gardez-le ouvert pendant que vous jouez : ssh -L 8080:127.0.0.1:8080 -L 5555:127.0.0.1:5555 -L 5556:127.0.0.1:5556 user@192.168.1.20 Sur le PC A, remplacez la ligne ConfigUrl par la valeur qu'Asterobot affiche avec les réglages par défaut : ConfigUrl=http://127.0.0.1:8080/botmanager/mitm/dofus3.json Dofus, sur le PC A, se connecte alors à 127.0.0.1, et le tunnel transporte chaque connexion vers le même port du PC B. Les ports 8080, 5555 et 5556 doivent être libres sur le PC A : aucun Asterobot ne peut donc y tourner en même temps. Le même tunnel donne au PC A accès à Asteroboard sur http://127.0.0.1:8080. Pare-feu et NAT Pare-feu. Le PC B doit accepter les connexions TCP entrantes du PC A sur trois ports : le port de server.listenAddress (8080), botmanager.mitmSignInPort (5555) et botmanager.mitmSessionPort (5556). Sous Windows, la première fois qu'Asterobot écoute sur vos réseaux, le système peut demander s'il faut l'autoriser à y communiquer. Sinon, ajoutez des règles pour ces ports, limitées à votre réseau local. Les ports de connexion et de session n'écoutent que pendant qu'un bot attend : testez donc la connexion depuis le PC A à un moment où c'est le cas. NAT. Quand le PC A n'est pas sur le réseau du PC B, par exemple avec le PC B à la maison et le PC A ailleurs, le PC A atteint le PC B par l'adresse publique de votre routeur. Dans ce cas : Sur le routeur, redirigez les ports TCP 8080, 5555 et 5556 vers le PC B. Sur le PC B, réglez botmanager.mitmAdvertiseHost sur l'adresse publique du routeur, puisque l'adresse locale du PC B ne signifie rien pour le PC A. Gardez botmanager.mitmBindHost sur l'adresse locale du PC B, et redémarrez Asterobot. Utilisez la valeur configUrl qu'Asterobot affiche ensuite, qui contient l'adresse publique. Caution Rediriger ces ports met le port 8080 d'Asterobot sur Internet sans mot de passe, puisque le mode MITM ne peut pas en utiliser. Quiconque le trouve contrôle votre Asterobot, vos bots et vos comptes. Préférez le tunnel SSH ci-dessus dès que le PC A peut s'en servir. Quand ça ne fonctionne pas Ce que vous voyez Ce qu'il faut vérifier Le bot reste sur En attente de votre client de jeu pendant que vous jouez sur le PC A La ligne ConfigUrl du PC A contient exactement la valeur configUrl, Dofus a été lancé après la modification, le pare-feu du PC B laisse passer le PC A sur les trois ports, server.tls est désactivé et server.basicAuth est vide. Le journal du PC B affiche A game client signed in that no bot is waiting for Votre jeu est bien passé par Asterobot, mais aucun bot en attente ne l'a pris, parce que le bot est rattaché à un autre compte Ankama. Voir Mode MITM. Ready for game clients affiche 127.0.0.1 comme adresse annoncée botmanager.mitmBindHost vaut encore 127.0.0.1, ou vaut 0.0.0.0 alors que botmanager.mitmAdvertiseHost est vide. Corrigez-le et redémarrez Asterobot. Dofus, sur le PC A, ne parvient pas à se connecter Aucun bot n'attend sur le PC B, ou Asterobot ne tourne pas. Mettez un bot en attente, ou remettez la ligne d'origine. Impossible de mettre le bot en attente Les causes listées dans Mode MITM, dont une copie de Dofus sur le PC B, dans botmanager.mitmGamePath, dont la version n'est pas celle du bot. Le bot se connecte, mais ce qu'il affiche n'a aucun sens La version de Dofus du PC A n'est pas celle qu'utilise le bot. Problèmes en mode MITM couvre d'autres erreurs. Pour aller plus loin Sécurité, pour ce que permettent les ports ouverts. Plusieurs bots, pour relayer plusieurs clients Dofus.
-
Asterobot sur une machine distante
Asterobot n'a pas besoin d'écran. Il peut tourner sur un serveur loué, un Raspberry Pi rangé dans un placard ou un PC dans une autre maison, pendant que vous utilisez Asteroboard dans votre propre navigateur. Les exemples utilisent Linux, le système habituel des serveurs, et les mêmes principes s'appliquent sous Windows et macOS. L'installer Asterobot est publié pour Linux sur deux types de processeur : Asterobot_VERSION_linux_amd64.7z pour Intel et AMD, et Asterobot_VERSION_linux_arm64.7z pour ARM, comme un Raspberry Pi 4 ou 5 ou un serveur ARM. Lancez uname -m sur la machine pour savoir lequel il vous faut : x86_64 correspond à amd64, et aarch64 à arm64. Sur votre propre ordinateur, téléchargez l'archive depuis https://asterobot.net/files/category/3-asterobot/, puis copiez-la sur la machine, par exemple avec scp. Sur la machine, décompressez-la et rendez le programme exécutable : 7zz x Asterobot_VERSION_linux_amd64.7z chmod +x asterobot Télécharger Asterobot explique chaque étape et comment vérifier le téléchargement. Prévoyez de l'espace disque pour les versions de jeu qu'utiliseront vos bots : voir Prérequis. Le lancer sans bureau Lancez Asterobot depuis un terminal sur la machine, par exemple dans une session SSH : ./asterobot Il fonctionne comme sur un ordinateur de bureau, à deux différences près. Il ne peut pas ouvrir de navigateur. Asterobot essaie d'ouvrir Asteroboard au démarrage, et la page de connexion d'asterobot.net quand il a besoin que vous vous connectiez. Sur une machine sans bureau, il affiche à la place Failed to open frontend et Failed to open the web browser, puis continue. Ni l'un ni l'autre n'est un problème. Activez server.skipOpenFrontend si vous préférez ne pas voir le premier. Vous ne pouvez pas encore l'atteindre. Asterobot écoute sur 127.0.0.1:8080, que seule la machine elle-même peut atteindre. Laissez ce réglage tel quel et utilisez un tunnel SSH. L'atteindre par un tunnel SSH Un tunnel SSH amène un port de la machine distante jusqu'à votre propre ordinateur, à l'intérieur de votre connexion SSH. Asterobot continue d'écouter sur 127.0.0.1, rien de nouveau n'est ouvert sur Internet, et votre navigateur parle à 127.0.0.1 sur votre propre ordinateur, qu'Asteroboard a le droit d'atteindre sans HTTPS. Sur votre propre ordinateur, ouvrez un terminal et lancez cette commande, avec votre nom d'utilisateur et l'adresse de la machine : ssh -L 8080:127.0.0.1:8080 user@server N'importe quel client SSH capable de rediriger un port convient aussi. Laissez cette connexion ouverte. Tant qu'elle l'est, le port 8080 de votre ordinateur mène à Asterobot sur la machine. Dans votre navigateur, ouvrez http://127.0.0.1:8080. Asterobot vous renvoie vers Asteroboard, qui enregistre cette adresse comme URL du serveur et affiche Serveur connecté. Quand la connexion SSH se ferme, Asteroboard affiche Serveur déconnecté. Il continue d'essayer, et se reconnecte tout seul dès que le tunnel est rétabli. Si Asterobot tourne aussi sur votre propre ordinateur, le port 8080 y est déjà pris. Mettez un autre port du côté gauche du tunnel, et ouvrez celui-là : ssh -L 9080:127.0.0.1:8080 user@server Ouvrez ensuite http://127.0.0.1:9080. Un navigateur garde une seule URL du serveur à la fois : pour passer de l'un de vos deux Asterobot à l'autre, ouvrez l'adresse de celui que vous voulez. À travers un tunnel, Asterobot n'a besoin ni de mot de passe ni de HTTPS : SSH chiffre déjà la connexion, et seules les personnes qui peuvent se connecter à la machine passent. Gardez à l'esprit que toute personne ayant un compte sur cette machine peut aussi atteindre 127.0.0.1:8080. Si vous avez tout de même activé server.tls ou server.basicAuth, ouvrez plutôt https://127.0.0.1:8080, et attendez-vous à l'avertissement de certificat et à la demande de mot de passe décrits dans Asteroboard sur un autre appareil. Le mode MITM (« homme du milieu », de l'anglais man-in-the-middle) a besoin que les deux soient désactivés. Ou ouvrir le port Asterobot peut aussi écouter sur l'adresse publique de la machine, comme Asteroboard sur un autre appareil le met en place sur un réseau domestique : server.basicAuth avec un mot de passe, server.tls activé, server.listenAddress réglé sur 0.0.0.0:8080, un redémarrage, et le port autorisé dans le pare-feu. Vous ouvrez alors https:// suivi de l'adresse de la machine et de :8080, depuis n'importe quel appareil. Caution Un port ouvert sur un serveur est accessible à n'importe qui sur Internet. Sans mot de passe, celui qui le trouve contrôle votre Asterobot, vos bots et vos comptes Ankama. N'ouvrez jamais le port sans server.basicAuth et server.tls à la fois, et limitez-le dans le pare-feu à vos propres adresses si vous le pouvez. Voir Sécurité. Tunnel SSH Port ouvert Ouvert sur Internet Rien de plus que SSH Le port 8080 Qui peut entrer Les personnes qui peuvent se connecter à la machine Toute personne ayant un mot de passe de server.basicAuth Chiffrement SSH server.tls Avertissement de certificat Aucun Une fois par navigateur Appareils Ceux qui ont un client SSH N'importe quel navigateur Mode MITM Continue de fonctionner Cesse de fonctionner Se connecter à asterobot.net À son premier démarrage, Asterobot doit être connecté à asterobot.net. Il affiche le lien dans le terminal, sur la ligne qui suit Website sign-in required. Please visit this link to authorize access to your account; the app will continue automatically once authorized. Vous pouvez l'ouvrir de l'une de ces façons : Copiez le lien depuis votre terminal SSH dans votre navigateur. Une fois le tunnel ouvert, cliquez sur le bouton du compte en bas de la barre latérale d'Asteroboard. Il indique Connexion en attente, et ouvre le même lien. Activez website.showQRCode dans Serveur > Config, et scannez le QR code que le terminal affiche avec le code de connexion suivant. Confirmez sur asterobot.net, et Asterobot reprend tout seul. Se connecter avec asterobot.net explique toute la démarche. Connecter vos comptes Ankama Les bots en mode Full socket de la machine se connectent avec les comptes Ankama enregistrés dans cet Asterobot. La connexion manuelle fonctionne depuis n'importe quel endroit où vous utilisez Asteroboard. Ouvrir la connexion Ankama ouvre la page d'Ankama dans votre propre navigateur, et vous recollez le lien dans Asteroboard. Rien n'est à installer sur la machine. Voir Connexion manuelle. La connexion automatique démarre un navigateur sur la machine elle-même : Chrome, Chromium ou Edge doit donc y être installé. Par défaut, ce navigateur tourne sans fenêtre, ce qui fonctionne sur une machine sans bureau. Quand Ankama demande qu'une personne intervienne, vous ne pouvez pas afficher cette fenêtre sur un serveur : connectez-vous plutôt manuellement. Voir Connexion automatique. Le mode MITM fonctionne aussi avec un Asterobot distant, mais votre client Dofus tourne sur votre propre ordinateur, où Asterobot ne peut modifier aucun fichier : voir MITM sur plusieurs machines. Le laisser tourner Asterobot s'arrête quand son terminal se ferme, et mettre fin à la session SSH depuis laquelle vous l'avez lancé ferme ce terminal. Deux méthodes courantes le gardent en marche : Un multiplexeur de terminal, comme tmux ou screen. Lancez Asterobot à l'intérieur, détachez-vous, déconnectez-vous, et rattachez-vous plus tard pour lire ce qu'il a affiché. Un service système, comme une unité systemd sous Linux, pour qu'Asterobot démarre avec la machine. Asterobot n'est pas fourni avec un fichier de service : vous en écrivez un qui lance le programme Asterobot. Lancez-le avec l'utilisateur sous lequel vous avez configuré Asterobot : Asterobot garde ses réglages et ses données dans des dossiers de l'utilisateur qui le lance (Fichiers et dossiers), et un autre utilisateur démarre sans aucun d'entre eux. Sans terminal sous les yeux, lisez ce qu'affiche Asterobot dans Serveur > Console, dans Asteroboard. Voir État et console. Deux autres points comptent sur une machine devant laquelle vous n'êtes pas : Éteindre le serveur, dans Asteroboard, arrête Asterobot, et Asteroboard ne peut pas le relancer. Il vous faudra une session SSH, ou un service configuré pour le démarrer. Quand Asterobot redémarre, après un redémarrage de la machine par exemple, vos bots reviennent déconnectés, et rien ne se reconnecte ni ne joue tout seul. Remettez-les en ligne depuis Asteroboard. Voir Déconnecter, supprimer et redémarrer. Pour mettre à jour Asterobot, remplacez le fichier du programme, comme l'explique Mettre à jour Asterobot. Pour aller plus loin Sécurité MITM sur plusieurs machines
-
Asteroboard sur un autre appareil
Par défaut, seul l'ordinateur qui fait tourner Asterobot peut utiliser Asteroboard. Vous pouvez l'ouvrir aux autres appareils de votre réseau domestique : votre téléphone sur le canapé, un portable dans une autre pièce. Pour une machine qui n'est pas sur votre réseau, comme un serveur loué, voir Asterobot sur une machine distante. Les exemples appellent l'ordinateur qui fait tourner Asterobot « l'ordinateur Asterobot », et lui donnent l'adresse 192.168.1.20 sur votre réseau. Remplacez-la par la vôtre. Pourquoi il faut HTTPS Asteroboard vient de https://asteroboard.asterobot.net, une page HTTPS. Les navigateurs ne laissent pas une page HTTPS envoyer de simples requêtes http://, sauf vers l'appareil sur lequel tourne le navigateur, comme 127.0.0.1. C'est grâce à cette exception que l'installation par défaut fonctionne sur l'ordinateur Asterobot, et c'est à cause d'elle qu'un téléphone qui vise http://192.168.1.20:8080 reste déconnecté. Un autre appareil peut tout de même atteindre Asterobot de deux façons : HTTPS sur Asterobot Tunnel SSH Fonctionnement Asterobot sert du HTTPS sur votre réseau, derrière un mot de passe Le navigateur de l'appareil parle à 127.0.0.1, et SSH transporte ces échanges jusqu'à l'ordinateur Asterobot Ce qu'il faut Rien à installer Un serveur SSH sur l'ordinateur Asterobot, un client SSH sur l'appareil Appareils Téléphones, tablettes et ordinateurs Surtout des ordinateurs Avertissement de certificat Une fois par navigateur Aucun Mode MITM Cesse de fonctionner Continue de fonctionner Cette page met en place HTTPS. Le tunnel SSH est expliqué dans Asterobot sur une machine distante, et fonctionne de la même façon sur un réseau domestique. Certains navigateurs laissent une page HTTPS atteindre une simple adresse http:// de votre réseau local une fois que vous leur en donnez la permission. Tous ne le font pas, donc cette page ne compte pas dessus. Warning HTTPS et un mot de passe empêchent tous deux le mode MITM (« homme du milieu », de l'anglais man-in-the-middle) de fonctionner, y compris pour un client Dofus installé sur l'ordinateur Asterobot lui-même. Dofus demande ses réglages de connexion à Asterobot en simple HTTP, sans mot de passe, et Asterobot refuse. Si vous jouez avec un bot MITM, utilisez plutôt le tunnel SSH. Avant de commencer Trouvez l'adresse de l'ordinateur Asterobot sur votre réseau. Sous Windows, ipconfig l'affiche comme « Adresse IPv4 ». Sous Linux, ip addr la liste. Sous macOS, elle se trouve dans les réglages réseau. Gardez l'appareil sur le même réseau que l'ordinateur Asterobot. Lisez Sécurité. Dès qu'Asterobot écoute sur votre réseau, tout ce qui est connecté à ce réseau peut l'atteindre : c'est pourquoi les étapes ci-dessous ajoutent un mot de passe. 1. Ajouter un mot de passe Le réglage server.basicAuth contient des noms d'utilisateur et leurs mots de passe. Dès qu'il en contient au moins un, Asterobot demande un nom d'utilisateur et un mot de passe à chaque requête, depuis n'importe quel navigateur, y compris celui de son propre ordinateur. Dans Asteroboard, ouvrez Serveur > Config et tapez basicAuth dans Filtrer les réglages.... Cliquez sur Éditer en JSON sur la ligne basicAuth. Remplacez {} par un nom d'utilisateur et son mot de passe, chacun entre guillemets doubles : { "me": "a long password you use nowhere else" } Pour plusieurs personnes, séparez les paires par des virgules : { "me": "...", "alex": "..." }. Cliquez sur Appliquer. La ligne affiche maintenant Modifié et Redémarrage requis. Si ce que vous avez tapé n'est pas du JSON valide, Asteroboard affiche JSON invalide et garde votre texte pour que vous puissiez le corriger. Si Asterobot refuse la valeur, Impossible d'enregistrer apparaît. Caution Asterobot enregistre ces mots de passe exactement comme vous les tapez, en clair, dans config.toml. Quiconque entre avec l'un d'eux peut tous les lire avec Éditer en JSON. Ne réutilisez le mot de passe d'aucun autre compte. 2. Activer HTTPS Sur la même page, trouvez tls et activez-le. La ligne affiche Redémarrage requis. Au prochain démarrage, Asterobot sert du HTTPS au lieu du HTTP sur son port. S'il n'a pas encore de certificat, il en crée d'abord un : Le certificat est auto-signé : c'est Asterobot qui l'a créé, et non une autorité à laquelle vos navigateurs font confiance. Chaque navigateur le signale la première fois. Il ne couvre que localhost, 127.0.0.1 et ::1. Un navigateur qui atteint Asterobot par 192.168.1.20 signale aussi que le certificat ne correspond pas à l'adresse. Il est valable 3 ans, et Asterobot ne le renouvelle pas. Quand il expire, arrêtez Asterobot, supprimez les deux fichiers ci-dessous et relancez-le : Asterobot en crée un nouveau. Il est enregistré sous tls/cert.pem, avec sa clé dans tls/key.pem, dans le dossier de données d'Asterobot (Fichiers et dossiers). La description du réglage sur la page Config parle du dossier de cache, mais c'est bien dans le dossier de données qu'ils se trouvent. Asterobot utilise la paire de fichiers qu'il trouve à cet endroit, quelle qu'elle soit. Si vous avez votre propre certificat pour l'adresse que vous utilisez, au format PEM, vous pouvez mettre ce certificat et sa clé à la place de ces deux fichiers. 3. Écouter sur votre réseau Trouvez listenAddress, tapez la nouvelle valeur et appuyez sur Entrée : Valeur Qui peut se connecter 127.0.0.1:8080 Seulement l'ordinateur Asterobot. C'est la valeur par défaut. 0.0.0.0:8080 Tous les réseaux auxquels l'ordinateur Asterobot est connecté, et l'ordinateur lui-même. 192.168.1.20:8080 Seulement par cette adresse. L'ordinateur Asterobot doit lui aussi l'utiliser, puisque 127.0.0.1 ne répond plus. 0.0.0.0:8080 est le plus simple. Avec une adresse unique, le navigateur qu'Asterobot ouvre au démarrage va sur 127.0.0.1 et n'y trouve rien : ouvrez vous-même https://192.168.1.20:8080, ou activez server.skipOpenFrontend. Gardez le port 8080, sauf si un autre programme l'utilise. 4. Redémarrer Asterobot Les trois réglages prennent effet au prochain démarrage d'Asterobot. Arrêtez-le avec Ctrl+C dans son terminal, ou avec Éteindre le serveur dans Serveur > État, puis relancez-le comme d'habitude (Premier lancement). Au démarrage, Asterobot ouvre https://127.0.0.1:8080 dans le navigateur de l'ordinateur Asterobot, sauf si server.skipOpenFrontend est activé. Dans un onglet déjà ouvert, Asteroboard affiche Serveur déconnecté tant que le navigateur n'a pas ouvert une fois l'adresse en https://, parce que son URL du serveur commence encore par http://. Quand il l'ouvre, le navigateur signale le certificat et demande un nom d'utilisateur et un mot de passe, comme à l'étape 6. 5. Ouvrir le pare-feu L'ordinateur Asterobot doit accepter les connexions entrantes sur le port TCP 8080. Sous Windows, la première fois qu'Asterobot écoute sur vos réseaux, le système peut demander s'il faut l'autoriser à y communiquer : autorisez-le pour les réseaux privés. Sinon, ajoutez dans votre pare-feu une règle pour les connexions TCP entrantes sur le port 8080, limitée à votre réseau local si le pare-feu le permet. 6. Se connecter depuis l'autre appareil Dans le navigateur de l'appareil, ouvrez https://192.168.1.20:8080, avec l'adresse de l'ordinateur Asterobot. Tapez https:// en entier. Le navigateur prévient que la connexion n'est pas privée, ou que le certificat n'est pas fiable. Vérifiez que l'adresse est bien celle de l'ordinateur Asterobot, puis choisissez de continuer vers le site. La plupart des navigateurs rangent ce choix derrière une option pour utilisateurs avancés. Le navigateur demande un nom d'utilisateur et un mot de passe. Saisissez une paire de server.basicAuth. Vous arrivez sur Asteroboard. Il enregistre https://192.168.1.20:8080 comme URL du serveur et affiche Serveur connecté. Votre navigateur peut aussi demander si asteroboard.asterobot.net a le droit d'accéder aux appareils de votre réseau local. Autorisez-le, sinon Asteroboard ne peut pas atteindre Asterobot. Ouvrez toujours d'abord l'adresse elle-même, plutôt que de la saisir directement dans les Préférences. L'avertissement de certificat et la demande de mot de passe n'apparaissent que sur une page que vous ouvrez. Les requêtes d'Asteroboard ne peuvent pas les afficher : elles échouent, et Asteroboard reste déconnecté. 7. Vérifier la connexion Dans Serveur > État, la carte sous l'état de la connexion résume la connexion de l'appareil sur lequel vous êtes : Ligne Ce qu'elle affiche URL du serveur L'adresse qu'utilise ce navigateur. Version La version d'Asterobot. Transport Chiffré (HTTPS) quand l'URL du serveur commence par https://, Non chiffré (HTTP) sinon. Authentification Protégé par mot de passe quand server.basicAuth contient au moins une paire, Sans mot de passe sinon. Les Préférences ont aussi une section Serveur. Sa ligne Connexion affiche Connecté, Connexion en cours… ou Déconnecté, et Tester la connexion vérifie une nouvelle fois : Serveur joignable, avec le temps d'aller-retour en millisecondes, ou Serveur injoignable. Saisir l'adresse vous-même Pour définir l'URL du serveur à la main, par exemple sur un appareil qui a déjà accepté le certificat : Ouvrez les Préférences et trouvez URL du serveur dans la section Serveur. Tapez le schéma, l'adresse et le port, sans rien après : https://192.168.1.20:8080. Appuyez sur Entrée, ou cliquez en dehors du champ. Asteroboard se connecte aussitôt à la nouvelle adresse. Cliquez sur Tester la connexion. Un navigateur garde une seule URL du serveur. Pour revenir à un Asterobot qui tourne sur l'appareil où vous êtes, ouvrez http://127.0.0.1:8080, ou saisissez cette adresse de la même façon. Quand vous revenez plus tard Les navigateurs ne gardent pas indéfiniment le mot de passe et le choix fait pour le certificat. La plupart oublient le mot de passe à leur fermeture, et certains oublient le choix du certificat au bout d'un moment. Quand Asteroboard affiche Serveur déconnecté sur l'appareil alors qu'Asterobot tourne, ouvrez de nouveau https://192.168.1.20:8080, comme à l'étape 6. Revenir à la configuration par défaut Dans Serveur > Config, cliquez sur le bouton Rétablir la valeur par défaut, la flèche circulaire, sur les lignes de listenAddress, tls et basicAuth. Redémarrez Asterobot. Sur l'ordinateur Asterobot, ouvrez http://127.0.0.1:8080. Quand ça ne fonctionne pas Ce que vous voyez Ce qu'il faut vérifier L'adresse ne se charge pas sur l'appareil Asterobot a bien été redémarré après les changements, le pare-feu autorise le port TCP 8080, les deux appareils sont sur le même réseau, et l'adresse commence par https://. Client sent an HTTP request to an HTTPS server. L'adresse commence par http:// alors que server.tls est activé. Utilisez https://. Le navigateur redemande sans cesse le mot de passe Le nom d'utilisateur et le mot de passe doivent correspondre exactement à une paire de server.basicAuth. Asteroboard reste Déconnecté, et Tester la connexion indique Serveur injoignable Ouvrez d'abord l'adresse elle-même, pour accepter le certificat et saisir le mot de passe. La plupart des navigateurs bloquent une URL du serveur qui commence par http:// : utilisez https://. L'ordinateur Asterobot affiche Serveur déconnecté après le redémarrage Son URL du serveur commence encore par http://. Ouvrez https://127.0.0.1:8080 sur cet ordinateur. Votre bot MITM ne reçoit plus votre jeu HTTPS et le mot de passe empêchent le mode MITM. Revenez à la configuration par défaut, et utilisez un tunnel SSH pour l'autre appareil. Asteroboard ne se connecte pas couvre les autres problèmes de connexion. Pour aller plus loin Sécurité Préférences
-
Comment les parties communiquent
Asteroboard, Asterobot et votre client Dofus peuvent chacun tourner sur une machine différente. Avant de les séparer, mieux vaut savoir quelle partie parle à laquelle, et sur quelle adresse. Toutes les connexions Votre navigateur → Asterobot (port 8080) Votre navigateur → asteroboard.asterobot.net Votre navigateur → asterobot.net Votre client Dofus, en mode MITM → Asterobot (ports 8080, 5555, 5556) Votre client Dofus, en mode MITM → Serveurs d'Ankama Asterobot → Serveurs d'Ankama Asterobot → asterobot.net De Vers Adresse par défaut Ce qui y passe Votre navigateur Asterobot 127.0.0.1:8080 Tout ce qu'Asteroboard affiche et fait, et ses mises à jour en direct. Votre navigateur asteroboard.asterobot.net Internet La page Asteroboard elle-même, et ses nouvelles versions. Votre navigateur asterobot.net Internet Le nom et l'avatar de votre compte asterobot.net, affichés sur le bouton du compte et sur la page Compte. Votre client Dofus Asterobot 127.0.0.1:8080 Mode MITM uniquement. Les réglages de connexion que Dofus récupère avant de se connecter. Votre client Dofus Asterobot 127.0.0.1:5555 Mode MITM uniquement. La connexion, qu'Asterobot transmet à Ankama. Votre client Dofus Asterobot 127.0.0.1:5556 Mode MITM uniquement. La session de jeu, qu'Asterobot transmet au serveur de jeu. Votre client Dofus Serveurs d'Ankama Internet Tout le reste de ce qu'utilise Dofus. Asterobot change seulement l'endroit où il se connecte et la destination de sa session de jeu. Asterobot Serveurs d'Ankama Internet Les téléchargements du jeu, les connexions aux comptes Ankama, et les serveurs de jeu sur lesquels jouent vos bots. Asterobot asterobot.net Internet La connexion à votre compte asterobot.net, les téléchargements depuis le marché, la vérification des mises à jour et les annonces de l'équipe Asterobot. En mode MITM (« homme du milieu », de l'anglais man-in-the-middle), où un bot relaie la partie que vous jouez, le port 8080 a deux rôles : c'est le port d'Asteroboard, et c'est là que Dofus récupère ses réglages de connexion. C'est pourquoi la ligne qu'Asterobot écrit dans votre dossier Dofus utilise le port de server.listenAddress (Mode MITM). Ce qu'Asterobot accepte par défaut 127.0.0.1 est l'adresse qu'un ordinateur utilise pour s'atteindre lui-même. Asterobot écoute dessus par défaut, pour les trois ports, si bien qu'aucune autre machine ne peut se connecter : ni un téléphone sur votre Wi-Fi, ni un autre PC, ni quoi que ce soit sur Internet. Les programmes qui tournent sur le même ordinateur le peuvent, tout comme les autres personnes qui utilisent cet ordinateur. Les ports de connexion et de session ne sont même pas ouverts la plupart du temps. Asterobot les ouvre quand un bot se met à attendre votre jeu, et les ferme dès qu'aucun bot n'attend plus. Il n'y a pas non plus de mot de passe ni de HTTPS par défaut. Tant que seul cet ordinateur peut atteindre les ports d'Asterobot, ni l'un ni l'autre n'est nécessaire. Sécurité explique ce qui change dès que d'autres machines peuvent atteindre Asterobot. Ces réglages décident de tout cela. Ils se trouvent dans Serveur > Config, et chacun prend effet au redémarrage d'Asterobot. Réglage Par défaut Ce qu'il décide server.listenAddress 127.0.0.1:8080 L'adresse et le port auxquels Asteroboard se connecte, et sur lesquels Dofus récupère ses réglages de connexion. server.tls Désactivé Si ce port parle HTTPS au lieu de HTTP. server.basicAuth Vide Les noms d'utilisateur et les mots de passe que ce port demande. Vide, il n'en demande aucun. botmanager.mitmBindHost 127.0.0.1 L'interface réseau sur laquelle écoutent les ports de connexion et de session. botmanager.mitmAdvertiseHost Vide L'adresse à laquelle Dofus doit se connecter. Vide, c'est botmanager.mitmBindHost qui est utilisé. botmanager.mitmSignInPort 5555 Le port de connexion. botmanager.mitmSessionPort 5556 Le port de session. Référence des réglages décrit chaque réglage en détail, et La page Config montre comment en modifier un. Important Le mode MITM cesse de fonctionner tant que server.tls est activé ou que server.basicAuth est renseigné, même sur l'ordinateur où tourne Asterobot, comme l'explique Mode MITM. Quand vous avez besoin du mode MITM et d'un accès depuis une autre machine, utilisez un tunnel SSH : voir Asterobot sur une machine distante. Comment Asteroboard trouve votre Asterobot Asteroboard est la même page pour tout le monde : il faut donc indiquer à chaque navigateur où se trouve son Asterobot. Asteroboard garde cette adresse dans le navigateur, comme URL du serveur. Le plus rapide pour la définir est d'ouvrir l'adresse d'Asterobot lui-même dans le navigateur. Asterobot n'y affiche aucune page : il renvoie le navigateur vers https://asteroboard.asterobot.net, en ajoutant l'adresse, le port et le schéma (http ou https) que le navigateur a utilisés pour l'atteindre. Asteroboard les enregistre comme URL du serveur, les retire de la barre d'adresse et se connecte. Asteroboard utilise donc exactement l'adresse que vous avez ouverte. Ouvrez http://127.0.0.1:8080 sur l'ordinateur où tourne Asterobot, et ce navigateur utilise 127.0.0.1. Ouvrez https://192.168.1.20:8080 sur un téléphone, et le téléphone utilise 192.168.1.20. Chaque navigateur garde sa propre URL du serveur, et une seule à la fois. Vous pouvez aussi saisir l'adresse dans les Préférences, sous URL du serveur. Voir Préférences. Quand un port est déjà utilisé Port 8080. Asterobot s'arrête juste après son démarrage, avec An error occurred during the server's initialization process. Comme Asterobot ne tourne pas, Asteroboard ne peut pas changer le réglage pour vous : modifiez plutôt config.toml (Fichiers et dossiers indique où il se trouve). Ajoutez ces lignes, ou changez la valeur si une section [server] existe déjà : [server] listenAddress = "127.0.0.1:8081" Relancez Asterobot et ouvrez http://127.0.0.1:8081. En mode MITM, la ligne qu'Asterobot écrit dans votre dossier Dofus suit d'elle-même le nouveau port. Ports 5555 et 5556. Un bot ne peut pas se mettre en attente, et Asteroboard affiche Impossible de mettre le bot en attente. Dans Serveur > Config, changez botmanager.mitmSignInPort ou botmanager.mitmSessionPort, gardez deux valeurs différentes, et redémarrez Asterobot. Voir Mode MITM. Choisir votre installation Ce que vous voulez Où aller Utiliser Asteroboard sur un téléphone, une tablette ou un autre ordinateur à la maison Asteroboard sur un autre appareil Faire tourner Asterobot sur un serveur, ou sur un ordinateur devant lequel vous n'êtes pas Asterobot sur une machine distante Jouer à Dofus sur un ordinateur pendant qu'Asterobot tourne sur un autre MITM sur plusieurs machines Quel que soit votre choix, lisez d'abord Sécurité. Quiconque atteint le port d'Asterobot peut faire tout ce que vous faites dans Asteroboard. Pour aller plus loin Sécurité, avant d'ouvrir quoi que ce soit.
-
Obtenir de l'aide
Quand quelque chose ne fonctionne pas et que cette documentation ne suffit pas, d'autres joueurs et l'équipe Asterobot peuvent vous aider. Dites-leur ce que vous avez fait et ce que vous avez vu, et gardez pour vous quelques fichiers et valeurs. Où demander Où Adresse À quoi ça sert Aide https://asterobot.net/help Guides et réponses pour utiliser Asterobot. Le forum https://asterobot.net/forums/ Demander de l'aide et discuter avec d'autres joueurs, dans des sujets que d'autres pourront retrouver plus tard. Discord https://discord.asterobot.net Rejoindre la communauté pour poser des questions et discuter. La page d'état https://status.asterobot.net Vérifier si asterobot.net subit une panne avant d'en signaler une. La page À propos d'Asteroboard a une fiche pour l'aide, pour Discord et pour la page d'état. Quand Asteroboard affiche Page introuvable ou Une erreur est survenue, son bouton Obtenir de l'aide ouvre aussi la page d'aide. Avant de demander Consultez la page d'état. Un code de connexion qui ne passe pas ou une prévisualisation du marché qui échoue vient souvent d'une panne d'asterobot.net. Cherchez le message exact que vous avez obtenu dans les pages de dépannage et dans la FAQ. Vérifiez que vous utilisez la dernière version d'Asterobot. Quand une version plus récente est sortie, Asterobot le signale au démarrage (Messages et mises à jour). Que mettre dans votre message Plus vous fournissez d'éléments de cette liste, plus vite on pourra vous aider : Votre version d'Asterobot. Elle se trouve dans Serveur > État, à la ligne Version, et sur la première ligne qu'Asterobot affiche au démarrage, juste après le mot Asterobot. Votre version d'Asteroboard : le numéro en haut de la barre latérale, aussi écrit sur la page À propos après « Asteroboard version ». Votre système et votre processeur : le nom de l'archive que vous avez téléchargée, comme Asterobot_1.4.0_windows_amd64.7z, ou les valeurs OS et Architecture dans Serveur > État. La version de jeu du bot, telle que l'affiche le Gestionnaire de jeux, et ce qu'indique sa colonne Compatibilité : Compatible ou Version différente. La façon dont le bot se connecte : mode Full socket ou mode MITM, pour « homme du milieu » (man-in-the-middle), et le paquet qu'il lance avec sa version, s'il en lance un. Ce que vous avez fait, ce que vous attendiez et ce qui s'est passé à la place, étape par étape. Le texte exact de l'erreur, copié plutôt que retapé. Une capture d'écran de la notification ou de la boîte de dialogue aide aussi. Les lignes du journal autour du problème, depuis le terminal ou depuis Serveur > Console. Si quelqu'un demande plus de détails, réglez le niveau de journalisation sur DEBUG, refaites la même manipulation et copiez les nouvelles lignes. État et console montre comment faire. La console du bot, quand le problème concerne un seul bot : Copier ce qui est affiché dans son onglet Console copie les lignes que vous voyez (Console). Si Asteroboard a affiché Page introuvable ou Une erreur est survenue, ouvrez son panneau Détails techniques et joignez le Statut et l'Adresse demandée. Ce que vous ne devez jamais partager Caution Pour vous aider, personne n'a besoin des éléments suivants, quoi qu'on vous dise. Quiconque en obtient un peut utiliser vos comptes. Ne partagez jamais Pourquoi Votre mot de passe Ankama et votre mot de passe asterobot.net Ils donnent un accès complet à ces comptes. config.toml Il contient website.token, la connexion qu'Asterobot utilise sur asterobot.net, ainsi que les identifiants et mots de passe de server.basicAuth en clair. La valeur de website.token Elle donne accès à votre compte asterobot.net sans votre mot de passe. accounts.toml Il contient les identifiants de vos comptes Ankama, les mots de passe que vous avez enregistrés, en clair, et les jetons qu'Ankama a délivrés à Asterobot. Le dossier zaapmanager/browser-profiles Chaque profil contient une session Ankama active. Le dossier de données d'Asterobot, ou une copie de celui-ci Il contient accounts.toml, les profils de navigateur et vos bots. Le lien que vous copiez lors d'une connexion Ankama manuelle Il porte un code à usage unique qu'Asterobot échange contre la connexion du compte. Le ticket de jeu d'une session, session.gameToken, si un script l'affiche C'est ce dont un inconnu aurait besoin pour prendre le contrôle de la session de jeu. Fichiers et dossiers indique où se trouvent ces fichiers. Quelques habitudes permettent de partager captures d'écran et extraits de journal sans risque : Dans Serveur > Config, les valeurs de website.token et de server.basicAuth sont masquées. Ne cliquez pas sur le bouton en forme d'œil à côté de website.token, ni sur Éditer en JSON sur server.basicAuth, pendant que vous prenez une capture d'écran : les deux affichent les vraies valeurs. Relisez les lignes du journal avant de les publier, et retirez tout ce qui ressemble à un mot de passe, un jeton ou un lien contenant un code. Pour aller plus loin Asteroboard ne se connecte pas État et console Fichiers et dossiers
-
Messages et mises à jour
Asterobot et Asteroboard vous tiennent informé de plusieurs façons : des annonces de l'équipe Asterobot, un avis quand une version plus récente d'Asterobot est publiée, et les mises à jour d'Asteroboard lui-même. Quand asterobot.net semble en panne, une page d'état vous renseigne. Annonces de l'équipe Asterobot L'équipe Asterobot peut envoyer un court message aux installations d'Asterobot, par exemple pour prévenir d'un problème ou d'un changement. Asterobot écoute ces messages tant qu'il tourne, et se reconnecte quelques secondes après une coupure de la connexion. Quand un message arrive : Chaque Asteroboard ouvert à ce moment-là l'affiche sous forme de notification, avec une icône de mégaphone et le message pour texte. La notification se ferme d'elle-même après quelques secondes. Asterobot écrit le texte dans son journal, sous forme de ligne INFO. Vous la trouverez dans le terminal, et dans Serveur > Console si Asteroboard était ouvert, à condition que le niveau de journalisation laisse passer les lignes INFO (État et console). Ni Asterobot ni Asteroboard ne conservent de liste des annonces passées. Si aucun Asteroboard n'était ouvert à l'arrivée d'un message, aucune notification ne s'affichera jamais pour lui : regardez le terminal, qui a toujours la ligne. Quand une nouvelle version d'Asterobot sort À chaque démarrage, Asterobot demande à asterobot.net la version du fichier Asterobot qui y est publié, et la compare à la sienne. Quand la version publiée est plus élevée : Le terminal affiche An Asterobot update is available, suivi du nouveau numéro de version et du lien vers le fichier. Asteroboard affiche Mise à jour d'Asterobot disponible, avec une ligne comme « La version 1.4.0 est disponible sur asterobot.net. » Son bouton Voir sur asterobot.net ouvre la page du fichier. La notification reste jusqu'à ce que vous la fermiez. Asteroboard affiche cette notification une fois à chaque chargement, y compris quand vous l'ouvrez longtemps après le démarrage d'Asterobot : il demande le résultat à Asterobot dès qu'il se connecte. La vérification n'a lieu qu'au démarrage d'Asterobot. Une version publiée pendant qu'Asterobot tourne n'est remarquée qu'au démarrage suivant. Si la vérification elle-même échoue, par exemple parce qu'asterobot.net est injoignable, le terminal affiche l'avertissement Failed to check for an Asterobot update et Asteroboard n'affiche rien. Asterobot ne télécharge ni n'installe jamais une mise à jour de lui-même. Mettre à jour Asterobot montre comment le remplacer par la nouvelle version. Asteroboard se met à jour tout seul Asteroboard est une page web : il n'y a rien à télécharger ni à installer pour lui. Il cherche une nouvelle version toutes les 30 minutes tant qu'il est ouvert et que l'appareil est en ligne. Quand une nouvelle version est prête, il affiche Mise à jour disponible : « Une nouvelle version d'Asteroboard est prête. Actualisez quand vous le souhaitez pour en profiter. » Cette notification reste jusqu'à ce que vous la fermiez. Cliquez sur Actualiser, ou rechargez la page quand cela vous convient : Asteroboard passe à la nouvelle version au chargement suivant. Vos bots ne remarquent rien, puisqu'ils tournent dans Asterobot. Le rechargement efface seulement ce qui vivait dans la page elle-même, comme les lignes de Serveur > Console et les messages qu'avait capturés le panneau Trafic d'un bot. Les changements de chaque version d'Asteroboard sont listés dans ses notes de version, à l'adresse https://asterobot.net/release-note-asteroboard. Le numéro de version en haut de la barre latérale y mène. Asterobot et Asteroboard se mettent à jour séparément. Un nouvel Asteroboard ne signifie pas un nouvel Asterobot, et inversement. Quelques problèmes peuvent survenir avec la copie hors ligne d'Asteroboard : Mode hors ligne indisponible : « Cet appareil n'a pas pu tout préparer pour une utilisation hors ligne. Certaines fonctionnalités peuvent nécessiter une connexion internet. » Asteroboard fonctionne toujours, mais certaines fonctionnalités peuvent alors avoir besoin d'une connexion internet. Asteroboard continue d'afficher une ancienne version, ou se comporte bizarrement après une mise à jour : utilisez Réinitialiser les données hors ligne dans Préférences (Préférences). Vérifier si asterobot.net fonctionne La page d'état, à l'adresse https://status.asterobot.net, donne la disponibilité en direct et l'historique des incidents. Asteroboard y renvoie depuis la page À propos, sur la fiche Statut. Regardez-y d'abord quand quelque chose qui dépend du site cesse de fonctionner : des codes de connexion qui ne passent pas, des prévisualisations du marché qui échouent, la page Compte bloquée sur Non connecté, ou une vérification de mise à jour qui échoue. Quand un incident est en cours, rien de votre côté ne le réglera : attendez qu'il soit résolu, puis réessayez. Pour aller plus loin Mettre à jour Asterobot Obtenir de l'aide
-
Le marché
Le marché est la catégorie Library d'asterobot.net, à l'adresse https://asterobot.net/files/category/10-library/, où les membres d'asterobot.net partagent des paquets. Vous le parcourez sur le site, et Asterobot ne le parcourt jamais à votre place : une fois un paquet trouvé, vous donnez son lien à Asteroboard et Asterobot le télécharge. Parcourir la catégorie Library Ouvrez https://asterobot.net/files/category/10-library/ dans votre navigateur. Les formulaires de téléchargement d'Asteroboard ont aussi un lien Parcourir les paquets sur asterobot.net qui l'ouvre. Chaque paquet est un fichier avec sa propre page, où son auteur le présente et publie ses versions. L'adresse de la page suit ce modèle : https://asterobot.net/files/file/6-testscript5/ Le nombre au début de la dernière partie, ici 6, est l'ID du fichier. Asteroboard accepte l'adresse complète ou l'ID seul. Lisez la page d'un fichier avant de l'installer : qui l'a publié et ce que le paquet est censé faire. Un paquet s'exécute avec la session de jeu de votre bot, et Faire confiance à un paquet explique ce que cela permet. Officiel et Communautaire Asterobot classe les fichiers du marché en deux catégories, et montre la différence par un badge dans le Gestionnaire de bibliothèque : Officiel Communautaire Quels fichiers Les fichiers que l'équipe Asterobot marque comme officiels sur asterobot.net Tous les autres fichiers, publiés par un membre d'asterobot.net Nom dans votre bibliothèque @asterobot: suivi du titre du fichier, par exemple @asterobot:auto-harvest @, le nom de l'auteur, : et le titre du fichier, par exemple @some-author:auto-harvest Asterobot lit la marque officielle sur le fichier lui-même, quelle que soit la catégorie où se trouve le fichier. Le nom de l'auteur et le titre s'écrivent tous deux en minuscules, avec des tirets. Un paquet garde le nom qu'il a reçu lors de votre première installation, même si l'auteur renomme le fichier ensuite. Qu'est-ce qu'un paquet explique les badges de votre bibliothèque, et les auteurs trouveront les règles de nommage dans Comment votre paquet est nommé. Le badge Officiel vous dit qui a publié un paquet. Ce n'est pas une garantie sur ce que fait le code, et aucun des deux badges ne dispense de lire la page du fichier. Du site à votre bibliothèque Asterobot doit être connecté à asterobot.net, puisqu'il télécharge les fichiers avec ce compte. Ensuite : Copiez l'adresse de la page du fichier, ou notez son ID. Dans Asteroboard, ouvrez le Gestionnaire de bibliothèque et cliquez sur Télécharger un paquet, ou cliquez sur En télécharger un partout où vous choisissez un paquet pour un bot. Collez l'adresse ou l'ID dans ID ou URL du fichier, puis cliquez sur Prévisualiser. Asteroboard affiche sous quel nom le fichier s'installera. Une prévisualisation ne compte pas comme un téléchargement sur asterobot.net. Cliquez sur Installer. Asterobot télécharge le paquet et chaque paquet dont il dépend qui n'est pas encore dans votre bibliothèque. Installer depuis le marché détaille chaque étape, la fiche de prévisualisation et chaque erreur. Vous pouvez aussi télécharger vous-même le fichier d'un paquet depuis sa page et l'ajouter avec Importer un .zip. Un paquet ajouté ainsi n'a aucun lien avec son fichier du marché : pas de mises à jour, pas de ligne Source, et aucune vérification que ses fichiers restent tels qu'ils ont été téléchargés. Installez via Télécharger un paquet chaque fois que c'est possible. Voir Gérer votre bibliothèque. Qui peut voir et télécharger un fichier asterobot.net décide qui peut voir un fichier et qui peut le télécharger. Asterobot fait la demande avec le compte avec lequel il est connecté, celui de sa page Compte, qui n'est pas forcément le compte que votre navigateur utilise sur le site. Deux messages découlent de ces règles : Message Quand Ce que cela signifie Fichier introuvable, ou vous n'avez pas la permission de le voir. Sous ID ou URL du fichier, après Prévisualiser Le fichier n'existe pas, le compte utilisé par Asterobot ne peut pas le voir, ou Asterobot n'a pas pu interroger asterobot.net, par exemple parce qu'il n'est pas connecté. Vous n'avez pas la permission de télécharger ce fichier. Sous la fiche de prévisualisation Le compte peut voir le fichier mais n'a pas le droit de le télécharger. Installer reste grisé. Pour le premier, vérifiez l'adresse, puis le bouton de compte en bas de la barre latérale d'Asteroboard : il doit afficher votre nom. Pour le second, il n'y a rien à corriger dans Asterobot : les règles du fichier sur asterobot.net ne permettent pas à votre compte de le télécharger. Mises à jour Un auteur publie les nouvelles versions d'un paquet sur la même page de fichier. Rien ne change dans votre bibliothèque quand cela se produit : Asterobot ne cherche pas de nouvelles versions de lui-même. Pour les obtenir, cliquez sur Vérifier les mises à jour dans le Gestionnaire de bibliothèque. Asterobot compare chaque paquet installé depuis le marché à la version de sa page de fichier, et installe une nouvelle version à côté de celle que vous avez quand vous le demandez, pour que vos bots continuent de lancer l'ancienne jusqu'à ce que vous les passiez sur la nouvelle. Mettre à jour les paquets détaille la marche à suivre. Publier votre propre paquet Tout membre d'asterobot.net peut publier un paquet dans la catégorie Library. Le côté auteur, de la préparation du paquet à la publication de nouvelles versions, se trouve dans la documentation développeur : commencez par Avant de publier, puis Publier sur asterobot.net. Pour aller plus loin Installer depuis le marché Faire confiance à un paquet Le tutoriel Lancer un paquet du marché
-
Votre compte
Asterobot fonctionne avec un seul compte asterobot.net à la fois, et le bouton de compte en bas de la barre latérale indique lequel. La première connexion est expliquée dans Se connecter avec asterobot.net. La connexion appartient à Asterobot La connexion à asterobot.net est stockée dans Asterobot, pas dans votre navigateur. Tous les Asteroboard connectés au même Asterobot, sur n'importe quel appareil, affichent le même compte, et se déconnecter depuis l'un d'eux déconnecte Asterobot pour tous. L'inverse est vrai aussi : être connecté à asterobot.net dans votre navigateur ne connecte pas Asterobot. Asterobot a besoin de sa propre connexion, que vous lui accordez une fois pour toutes en confirmant un code sur le site. Le bouton de compte Le bouton de compte se trouve en bas de la barre latérale d'Asteroboard. Une fois Asterobot connecté, il affiche votre avatar et votre nom asterobot.net, et un clic ouvre un menu : Élément du menu Ce qu'il fait Compte Ouvre la page Compte, décrite ci-dessous. C'est le seul moyen d'atteindre cette page : elle n'est pas listée dans la barre latérale. Profil en ligne Ouvre votre profil sur asterobot.net dans un nouvel onglet. Il n'apparaît qu'une fois qu'Asteroboard a chargé votre profil. Se déconnecter Déconnecte Asterobot de votre compte. Voir Déconnecter Asterobot. Les autres états du bouton, Se connecter et la connexion en attente, sont expliqués dans Se connecter avec asterobot.net. La page Compte La page affiche votre avatar et votre nom de membre en haut, avec votre titre de membre sous le nom si vous en avez un. Une fiche en dessous liste les informations qu'asterobot.net fournit sur votre compte : Ligne Ce qu'elle affiche E-mail L'adresse e-mail de votre compte asterobot.net. Inscrit le La date à laquelle vous avez rejoint asterobot.net. Groupe principal Votre groupe de membre principal sur asterobot.net, sous forme de badge. Une ligne n'apparaît que si asterobot.net renvoie une valeur pour elle. Sous les fiches, Voir sur asterobot.net ouvre votre profil sur le site dans un nouvel onglet, et Déconnecter déconnecte Asterobot. Quand la page indique Non connecté Asteroboard charge ces informations directement depuis asterobot.net, dans votre navigateur, en utilisant la connexion d'Asterobot. L'appareil sur lequel vous ouvrez Asteroboard doit donc lui aussi pouvoir joindre asterobot.net. La page affiche Non connecté, avec « Connectez-vous depuis la barre latérale pour voir votre compte asterobot.net ici. », dans deux cas : Asterobot n'est vraiment pas connecté. Le bouton de compte affiche alors Se connecter : cliquez dessus et suivez Se connecter avec asterobot.net. Asterobot est connecté, mais Asteroboard n'a pas pu charger vos informations depuis asterobot.net, par exemple parce que cet appareil n'a pas accès à internet ou que le site est en panne. Le bouton de compte affiche alors Connecté, sans votre avatar ni votre nom. Dans le second cas, Asteroboard réessaie chaque fois qu'il se reconnecte à Asterobot, et quand vous rechargez la page. Si l'échec persiste, vérifiez sur sa page d'état si asterobot.net fonctionne, comme l'explique Messages et mises à jour. Déconnecter Asterobot Cliquez sur Déconnecter sur la page Compte, ou ouvrez le menu du bouton de compte et cliquez sur Se déconnecter. Les deux font la même chose. Votre navigateur demande : « Cela déconnecte Asterobot de votre compte asterobot.net. Vous devrez vous reconnecter pour le relier à nouveau. Continuer ? » Confirmez. Asterobot oublie sa connexion et le bouton de compte affiche à nouveau Se connecter, avec un point rouge. En cas de problème, Asteroboard affiche Impossible de déconnecter et rien ne change. En coulisses, Asterobot vide le réglage website.token et active website.signedOut, tous deux dans config.toml. C'est le second qui le maintient déconnecté : Asterobot ne relance ensuite aucune connexion de lui-même, pas même quand il redémarre. Asterobot utilise sa connexion pour ajouter des bots et pour télécharger des paquets depuis le marché : reconnectez-le avant de faire l'un ou l'autre. Si Asterobot démarre alors qu'il est déconnecté, il ignore aussi tous les bots enregistrés, comme l'explique Déconnecter, supprimer et redémarrer. Vos bots restent enregistrés et reviennent au démarrage suivant, une fois Asterobot reconnecté. Se reconnecter Cliquez sur Se connecter sur le bouton de compte. Asterobot demande un nouveau code à asterobot.net, ouvre le lien dans un onglet de navigateur sur l'ordinateur où il tourne, et le bouton de compte ouvre le même lien. Confirmez le code comme décrit dans Se connecter avec asterobot.net. Passer à un autre compte asterobot.net Déconnectez Asterobot comme décrit ci-dessus. Dans votre navigateur, vérifiez que vous êtes connecté à asterobot.net avec le compte que vous voulez faire utiliser à Asterobot. Déconnectez-vous d'abord du site s'il est encore sur l'autre compte. Cliquez sur Se connecter sur le bouton de compte et confirmez le nouveau code. Le code est confirmé pour le compte avec lequel votre navigateur est connecté à asterobot.net à ce moment-là. Vérifiez le nom sur le bouton de compte une fois l'opération terminée. Garder la connexion privée La connexion qu'Asterobot stocke dans website.token donne accès à votre compte asterobot.net. Ne la partagez jamais, pas plus que le fichier config.toml qui la contient. Obtenir de l'aide liste tout ce qui doit rester privé. Pour aller plus loin Le marché Obtenir de l'aide
-
Musique
Dofus contient plusieurs centaines de morceaux de musique. Asterobot ne les télécharge pas avec les fichiers du jeu, puisqu'aucun bot ne joue jamais de son, mais l'onglet Musique d'une page du jeu les récupère pour vous et les joue dans Asteroboard. Obtenir la musique Tant qu'il n'y a rien à écouter, l'onglet affiche Pas encore de musique et vous indique l'étape manquante. 1. Télécharger Quand rien n'est téléchargé, l'onglet indique « Les banques audio de cette version ne sont pas encore téléchargées. » Cliquez sur Télécharger. Asteroboard affiche Téléchargement lancé, avec « Les banques audio se téléchargent en arrière-plan. » Attendez la fin du téléchargement. Une barre de progression affiche « Téléchargement... » avec un pourcentage. Asterobot télécharge les quatre banques sonores qui contiennent la musique, environ 900 Mo. Les autres banques sonores du jeu, surtout des sons de combat et d'interface, sont laissées de côté : l'ensemble complet pèse environ 2 Go. Il s'agit d'un téléchargement ordinaire de fichiers supplémentaires pour la version. Il attend dans la même file que les autres téléchargements, et la ligne de la version dans Gestionnaire de jeux affiche Téléchargement pendant ce temps (Télécharger une version de jeu). S'il ne peut pas démarrer, Asteroboard affiche Impossible de lancer le téléchargement avec la raison. 2. Extraire Une fois les banques téléchargées, l'onglet indique « Les banques audio sont téléchargées mais pas encore extraites. » et combien de banques il y a à extraire. Cliquez sur Extraire la musique. Le bouton affiche Extraction... pendant l'opération. Une fois l'extraction terminée, le lecteur et la liste des pistes apparaissent. Cela n'extrait que la musique : les données de jeu de la version ne sont pas reconstruites, et ses colonnes Extraction et Prêt ne changent pas. Si l'extraction ne peut pas démarrer, Asteroboard affiche Impossible de lancer l'extraction avec la raison. Par la suite, Extraire les données ou Réextraire les données sur la version extrait aussi la musique, et Supprimer les données extraites la supprime (Extraire les données de jeu). Quand l'onglet ne peut pas du tout lire la musique de la version, il affiche Impossible de charger la musique. Écouter Cliquez sur une piste de la liste pour l'écouter. Le lecteur au-dessus de la liste propose, de gauche à droite : lecture et pause ; arrêt ; piste précédente et piste suivante ; boucle, qui répète la piste en cours tant qu'elle est activée ; le titre et l'album de la piste en cours, ou « Aucune lecture en cours » ; le volume. En dessous, une barre montre la position dans la piste et sa durée. Faites-la glisser pour vous déplacer dans la piste. La file de lecture correspond à la liste des pistes telle qu'elle est au moment où vous choisissez une piste : filtrée, triée, et sur toutes les pages. Après la dernière piste, piste suivante repart de la première. Piste précédente relance la piste en cours quand vous en êtes à plus de 3 secondes. Lecture, quand rien n'est encore chargé, lance la première piste de la liste. La liste des pistes Commande Ce qu'elle fait Liste des albums Affiche Tous les albums, ou un album avec son nombre de pistes entre parenthèses. Chaque album correspond à une banque sonore. Filtrer les pistes... Garde les pistes dont le titre, l'album ou la taille contient ce que vous tapez. Colonnes Masque ou affiche les colonnes Piste, Album et Taille. Titres des colonnes Trient la liste selon cette colonne. Un badge à droite compte les pistes affichées, avec leur taille totale. La liste affiche 25 pistes par page, et indique « Aucune piste ne correspond à ce filtre. » quand le filtre ne laisse rien. Continuer l'écoute en naviguant La musique continue quand vous quittez l'onglet. Sur toutes les autres pages, un petit lecteur apparaît dans la barre du haut, avec lecture et pause, le titre de la piste, qui vous ramène à l'onglet Musique, et un bouton qui arrête la musique. Arrêter oublie la file de lecture, et le petit lecteur disparaît. Asteroboard mémorise le volume et le réglage de boucle dans ce navigateur, mais pas la file de lecture : après un rechargement de la page, choisissez de nouveau une piste. La musique est jouée dans votre navigateur depuis votre Asterobot : elle s'arrête donc quand vous fermez Asteroboard. Pour aller plus loin Page du jeu Gérer les versions de jeu
-
Textes du jeu
Dofus range tous les textes qu'il affiche, des noms d'objets aux dialogues de quête, dans un fichier de textes par langue, et les données de jeu désignent ces textes par un numéro. L'onglet Textes d'une page du jeu lit directement ces fichiers. Il donne des statistiques sur le fichier d'une langue, et retrouve un texte exactement comme text() le trouverait dans un script. Choisir une langue L'onglet suit le sélecteur Langue de l'en-tête de la page du jeu : Français, English, Deutsch, Español ou Português. Changer de langue recharge les statistiques et efface la dernière recherche. Contrairement à Cartes et Données de jeu, cet onglet lit les fichiers de textes téléchargés plutôt que les données de jeu extraites : il fonctionne donc dès que les fichiers sont là. Un téléchargement par défaut comprend les fichiers de textes de toutes les langues. Statistiques de la table de localisation La carte Statistiques de la table de localisation décrit le fichier de textes de la langue choisie : Ligne Signification Taille du fichier (octets) La taille du fichier. Clés entières Le nombre de textes qui ont un ID numérique, avec l'ID le plus bas et le plus haut entre parenthèses. Clés textuelles Le nombre de textes qui ont une clé textuelle, par exemple ui.common.classic. Chaînes uniques Le nombre de textes différents que contient le fichier, avec le nombre de textes vides entre parenthèses. Octets de texte La taille totale des textes. Texte le plus long (octets) La taille du texte le plus long. UTF-8 invalide et Illisibles Les textes dont l'encodage est cassé, et les entrées qui n'ont pas pu être lues. Ces deux lignes n'apparaissent, en rouge, que si l'une d'elles n'est pas à zéro. Actualiser relit le fichier. Quand le fichier de la langue n'est pas téléchargé, la carte indique « Aucune table de localisation installée pour cette langue pour le moment. » Récupérez-le avec Télécharger les fichiers requis dans l'onglet Informations, ou avec Télécharger plus de fichiers (Gérer les versions de jeu). Rechercher un texte Dans la carte Recherche de texte, choisissez ID entier ou Clé textuelle. Tapez l'ID, par exemple la valeur d'une colonne name_id trouvée dans Données de jeu, ou la clé textuelle. Cliquez sur Rechercher, ou appuyez sur Entrée. Le texte apparaît sous le champ, dans la langue choisie, avec ses retours à la ligne. « Aucune entrée pour cet id/clé. » signifie que le fichier n'a aucun texte avec cet ID ou cette clé. La recherche lit le même fichier que text() dans un script (Recherches) : c'est un moyen rapide de vérifier ce qu'un script obtiendra. Trouver ce qui utilise un texte Les fichiers de textes ne vont que d'un numéro vers un texte. Pour trouver les enregistrements derrière un nom ou une phrase, cliquez sur Trouver ce qui l'utilise en bas de la carte Recherche de texte. Cela ouvre l'onglet Données de jeu, où Recherche trouve des enregistrements par nom, ou n'importe quel texte avec Dans les textes du jeu (Données de jeu).
-
SQL
L'onglet SQL exécute vos propres requêtes sur les données de jeu d'une version de jeu, pour les questions auxquelles les autres onglets ne répondent pas : une jointure entre tables, un décompte, un tri. Les requêtes s'écrivent dans le dialecte SQL de SQLite. Les données de jeu sont ouvertes en lecture seule : rien de ce que vous exécutez ne peut les modifier ni les casser. L'ouvrir Sur la page du jeu de la version, ouvrez Données de jeu, puis SQL. L'éditeur contient déjà la première requête d'exemple, prête à être exécutée. Exécuter une requête Tapez une requête dans l'éditeur, ou modifiez celle qui s'y trouve. Cliquez sur Exécuter, ou appuyez sur Ctrl+Entrée (Cmd+Entrée sur Mac). L'éditeur colore le SQL et propose des complétions pendant la saisie : les colonnes des tables que votre requête nomme déjà ; tous les noms de tables ; les mots-clés et les fonctions SQL courants ; entre apostrophes, les noms des enregistrements dans la Langue choisie dans l'en-tête de la page du jeu : taper 'Bouf propose Bouftou. Lire les résultats À côté des boutons, l'onglet affiche le nombre de lignes, arrêtée à la limite quand la requête avait plus de lignes que l'onglet n'en affiche, et la durée de la requête, en millisecondes. Le tableau de résultats a une colonne par colonne sélectionnée, dans l'ordre de la requête, et deux colonnes peuvent porter le même nom. Les valeurs imbriquées s'affichent en JSON. Les valeurs longues sont coupées : pointez une cellule pour la lire en entier. Une requête qui ne trouve rien affiche « La requête n'a renvoyé aucune ligne. » L'onglet affiche jusqu'à 500 lignes. Pour voir les lignes suivantes, restreignez la requête avec WHERE, ou parcourez-la par pages avec LIMIT et OFFSET. Exemples Exemples ouvre un menu de requêtes d'exemple regroupées par thème. En choisir une remplace le contenu de l'éditeur, et les notes sur ce thème apparaissent sous l'éditeur : quelles tables contiennent quoi, et les pièges à éviter. Thème Ce que couvrent ses requêtes explore Ce que contiennent les données de jeu : toutes les tables, leur taille, et lesquelles sont dérivées names Trouver des enregistrements par nom grâce à la table _names monsters Les monstres, leur force, et où ils vivent items Les objets, ce qu'ils font, et d'où ils viennent harvesting Ce qui pousse où, et quelle compétence permet de le récolter navigation Les coordonnées, les zaaps et le graphe de déplacement du monde crafting Les recettes, les ingrédients et les métiers qui les fabriquent maps Les cellules, les cellules praticables et ce qui se trouve sur les cartes quests Les quêtes, leurs étapes, et les donjons text Tous les textes que le jeu peut afficher, en cinq langues Plusieurs exemples cherchent des noms français, avec des conditions telles que n.language = 'fr'. Remplacez fr par en, de, es ou pt pour une autre langue. Écrire vos propres requêtes _catalog liste toutes les tables, avec leur nombre de lignes et le fait qu'elles soient dérivées ou non : SELECT name, row_count, derived FROM _catalog ORDER BY row_count DESC; Les noms passent par _names, avec les colonnes record_table, record_id, name_id, name, language et ordinal. Un enregistrement peut avoir plusieurs noms, et l'ordinal 0 est son nom principal. Les textes d'une langue sont dans la table text_ suivie du code de langue, par exemple text_fr, avec une colonne id et une colonne text. Dans une table dérivée, dont le nom contient deux tirets bas, chaque ligne pointe vers sa ligne parente avec _parent_id. Mettez le texte entre apostrophes, comme dans 'monsters'. Les guillemets doubles servent seulement à nommer une table ou une colonne. Pour chercher dans les noms ou les textes, les index plein texte _names_fts et text_fr_fts (un par langue) sont bien plus rapides que LIKE '%...%'. Les exemples names et text montrent comment les utiliser. L'onglet Tables de Données de jeu montre les colonnes de chaque table et leurs types, ce qui aide pendant l'écriture. Lecture seule et limites INSERT, UPDATE, DELETE, CREATE et toute autre instruction qui écrit échouent, et ATTACH est aussi refusé : une requête ne peut donc atteindre aucun autre fichier de base de données. Quand l'éditeur contient plusieurs instructions séparées par des points-virgules, elles s'exécutent toutes, et l'onglet affiche le résultat de la dernière. Limite Valeur Au-delà Lignes affichées 500 Les autres lignes sont laissées de côté, et arrêtée à la limite apparaît. Durée 10 secondes par requête La requête est interrompue et échoue. Longueur de la requête 64 Kio La requête échoue avec un texte tel que datacenter: query is 70000 bytes, over the 65536 byte limit. Taille d'une valeur construite par la requête 16 Mio La requête échoue. Requêtes simultanées 4 sur une même version de jeu, partagées entre tous les onglets SQL ouverts et les scripts de tous les bots Les autres requêtes attendent leur tour. Quand une requête échoue Une alerte rouge affiche la raison telle que SQLite la donne : un texte commençant par datacenter: qui nomme le problème, par exemple no such column: nmae pour un nom de colonne mal tapé. Quand Asterobot n'a donné aucune raison, l'alerte indique La requête a échoué. Corrigez la requête et exécutez-la de nouveau. Utiliser une requête dans un script Un script exécute le même type de requête avec query() de asterobot:gamedata, sur les données de jeu de la version de jeu de son bot. L'onglet SQL est l'endroit le plus rapide pour mettre au point une requête avant de la placer dans un script : Requêtes SQL explique le reste, y compris les paramètres.
-
Données de jeu
L'onglet Données de jeu d'une page du jeu permet de parcourir tout ce qu'Asterobot a extrait d'une version de jeu : objets, monstres, sorts, cartes, quêtes, textes et bien plus. Vous n'avez pas besoin de SQL pour cela, et c'est l'endroit le plus simple pour trouver un nom de table ou de colonne avant de l'utiliser dans un script ou dans l'onglet SQL. L'ouvrir Ouvrez la page du jeu de la version depuis Gestionnaire de jeux, puis son onglet Données de jeu. Il comporte lui-même trois onglets : Recherche, Tables et SQL. Au-dessus, des badges résument les données de jeu : le nombre de tables qui reflètent les fichiers du jeu (table(s)), le nombre de tables qu'Asterobot en a dérivées (dérivée(s)), le nombre total de lignes, et les codes des langues pour lesquelles elles contiennent des textes, par exemple de · en · es · fr · pt. Quand la version n'a pas de données de jeu extraites, l'onglet affiche Aucune donnée extraite pour cette version et « Extrayez les données de cette version du jeu pour les parcourir ici. » Voir Extraire les données de jeu. L'onglet ouvert, la table et l'enregistrement que vous ouvrez figurent tous dans l'adresse de la page : vous pouvez les mettre en favori ou les rouvrir depuis l'historique de votre navigateur. Tables brutes et tables dérivées La plupart des tables reflètent les données du jeu lui-même, une table par type d'enregistrement. D'autres sont dérivées par Asterobot pour répondre à des questions auxquelles les fichiers du jeu ne répondent pas directement, comme tous les noms dans toutes les langues, ou quelles cartes contiennent quels éléments interactifs. Le nom d'une table dérivée contient deux tirets bas, comme maps__interactive_elements, et chacune de ses lignes pointe vers sa ligne parente avec _parent_id. La table _names relie chaque nom à son enregistrement, dans chaque langue extraite. Recherche La recherche trouve des enregistrements d'après leur nom, ce que les fichiers du jeu ne savent pas faire : ils associent un nombre à un texte, et rien ne permet d'aller dans l'autre sens. Dans l'onglet Recherche, tapez dans Requête, par exemple Bouftou Royal. Choisissez le Mode de recherche : Par nom, par défaut, ou Dans les textes du jeu. Avec Par nom, vous pouvez restreindre la recherche avec Table, ou la laisser sur Toutes les tables. Les résultats apparaissent pendant la saisie, jusqu'à 100. Mode Ce qu'il cherche Résultats Par nom Les noms des enregistrements, dans les tables qui ont des noms. Chaque mot correspond au début d'un mot, et les meilleurs résultats viennent en premier. La table, le nom et le numéro de l'enregistrement après #. Cliquez sur un résultat pour ouvrir l'enregistrement. Dans les textes du jeu Tous les textes que le jeu peut afficher, pas seulement les noms. Le numéro du texte après #, et le texte. Ces résultats n'ouvrent rien. La liste Table ne propose que les tables dont les enregistrements ont des noms. Les noms et les textes sont cherchés dans la Langue choisie dans l'en-tête de la page du jeu. Quand les données de jeu n'ont aucun texte dans cette langue, un avertissement sous le champ indique la langue utilisée à la place. Aucun résultat signifie qu'il n'y a eu aucune correspondance, et La recherche a échoué qu'Asterobot n'a pas pu lancer la recherche. Tables L'onglet Tables liste toutes les tables à gauche, avec leur nombre de lignes. Les tables dérivées sont grisées. Filtrer les tables... garde les tables dont le nom contient ce que vous tapez. Afficher les dérivées, activé par défaut, masque les tables dérivées quand vous le désactivez. Cliquez sur une table pour la parcourir. Tant que vous ne l'avez pas fait, la partie droite indique « Choisissez une table pour la parcourir. » Parcourir une table Au-dessus des lignes, vous voyez le nom de la table, un badge Dérivée sur les tables dérivées, et une ligne commençant par « Dérivée de » qui nomme la partie des données de jeu d'où vient la table, suivie du type d'enregistrement quand la table en a un. Le nombre de lignes est à droite. Les lignes s'affichent par 25 par page, avec des boutons de page sous la table quand il y en a plus. Chaque colonne affiche son nom et son type, par exemple INTEGER pour les nombres entiers. Quand les enregistrements de la table ont des noms, une première colonne Nom affiche le nom de chaque ligne dans la langue de la page. Les valeurs longues sont coupées : pointez une cellule pour la lire en entier. Filtrer les lignes Sous le nom de chaque colonne, un champ colonne = valeur ne garde que les lignes où cette colonne contient exactement la valeur saisie. Les filtres sur plusieurs colonnes se cumulent, et la table revient à sa première page. La valeur est lue selon la façon dont la colonne la stocke : des lettres dans une colonne de nombres entiers donnent une erreur telle que column "level" is an integer, but "abc" is not. Sur les tables dont les enregistrements ont des noms, Rechercher par nom... liste les lignes dont le nom correspond à ce que vous tapez, jusqu'à 25, les meilleures en premier. Le compteur indique alors « lignes correspondantes » et les boutons de page disparaissent. Videz le champ pour revoir toute la table. Quand aucune ligne ne correspond, la table indique « Cette table est vide. » Quand les lignes ne peuvent pas être chargées, une alerte rouge affiche la raison, ou Impossible de charger les lignes. Ouvrir un enregistrement Cliquez sur une ligne pour ouvrir son enregistrement. Les lignes de certaines tables dérivées ne peuvent pas être ouvertes, car elles n'ont pas d'_id propre. La vue d'un enregistrement Un enregistrement affiche chaque colonne qui contient une valeur, une par ligne, avec le type de la colonne. Les colonnes sans valeur sont omises. La ligne du haut contient un bouton au nom de la table, qui vous ramène aux lignes, le numéro de l'enregistrement après #, et son nom quand il en a un. Liens. Quand une colonne pointe vers des enregistrements d'une autre table, et qu'Asterobot a vérifié lors de l'extraction que c'est bien le cas, ses valeurs sont des boutons qui affichent le nom de l'enregistrement visé. Pointer l'un d'eux affiche « Ouvrir » suivi de la table et du numéro de l'enregistrement, et un clic ouvre cet enregistrement. Une valeur qui ne mène à aucun enregistrement existant reste un simple nombre, tout comme les valeurs d'une très longue liste au-delà des 500 premières. Les valeurs imbriquées, comme une liste d'effets ou les cellules d'une carte, se déplient un niveau à la fois. absent du catalogue signale un champ que la description de la table ne liste pas. Cela ne devrait pas arriver, et c'est affiché plutôt que masqué. Quand un enregistrement ne peut pas être affiché, la vue indique « n'est pas un identifiant d'enregistrement valide. » après une adresse qui n'est pas un nombre, la raison donnée par Asterobot, par exemple datacenter: no such record, ou Impossible de charger l'enregistrement. Autres points d'entrée Dans l'onglet Cartes, chaque résultat de recherche de la carte du monde et chaque monstre ou objet du panneau de la région renvoie vers son enregistrement. Voir Carte du monde. Dans l'onglet Textes, Trouver ce qui l'utilise ouvre cet onglet. Voir Textes du jeu. Pour les auteurs de scripts Les noms de tables et de colonnes affichés ici sont ceux qu'utilisent les scripts avec record(), table(), find() et query(). Recherches et Requêtes SQL expliquent comment faire. L'éditeur de paquet propose aussi ce navigateur à côté de votre code, sous Données dans son panneau Jeu (L'éditeur).