Tout ce qui a été publié par Smooth
-
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).
-
Visionneuse de carte
La visionneuse de carte dessine une carte à partir des données de jeu extraites d'une version de jeu : les mêmes cellules que celles sur lesquelles se déplace un bot. Elle montre ce que permet chaque cellule, où se trouvent les sorties et où elles mènent, et elle vous laisse passer de carte en carte. C'est la vue Carte de l'onglet Cartes d'une page du jeu, et la carte du monde l'ouvre aussi (Carte du monde). Ouvrir une carte Dans l'onglet Cartes de la page du jeu, cliquez sur Carte en haut. Dans ID de carte, tapez un ID de carte, par exemple 39845888, ou des coordonnées du jeu, par exemple 4,-19. Les coordonnées peuvent aussi s'écrire 4 -19 ou 4;-19. Cliquez sur Afficher, ou appuyez sur Entrée. Tant que vous n'avez pas ouvert de carte, le cadre indique « Entrez un ID de carte pour l'afficher. » Afficher reste grisé tant que le champ ne contient ni un ID ni des coordonnées. Plusieurs cartes partagent souvent les mêmes coordonnées, par exemple une carte extérieure et les bâtiments qui s'ouvrent dessus. La visionneuse ouvre la première et liste les autres (Autres cartes aux mêmes coordonnées). Quand aucune carte n'a les coordonnées saisies, elle indique « Aucune carte en » suivi de celles-ci, par exemple « Aucune carte en [4,-19]. » Ce que la carte permet et où elle mène Une fois une carte ouverte, une barre au-dessus du champ ID de carte la résume. Ce qui ressort Des badges indiquent lesquels de ces éléments la carte possède : Agression JcJ, Combats de monstres, Sous l'eau, Agression des monstres, Extérieur, Prismes, Carte de transition et Enclos public. Les autres autorisations qu'une carte peut avoir sont présentes sur presque toutes les cartes : elles ne sont donc pas listées. Sorties Les sorties viennent du graphe de déplacement du monde, celui qu'utilise le jeu pour planifier les trajets de carte en carte. La barre indique Sorties, suivi d'un badge par type de sortie avec son nombre : À pied, Défilement, Porte, Interactif ou Autre. D'autres badges peuvent suivre : un nombre suivi de sous condition, quand certaines sorties ont une condition ; un nombre suivi de zones, quand le sol praticable de la carte est découpé en parties entre lesquelles on ne peut pas marcher, chaque sortie partant de l'une d'elles ; Sorties non toutes affichées, quand la liste a été tronquée. Sous les badges, chaque sortie a un bouton avec l'ID de la carte de destination, les coordonnées de la destination entre parenthèses quand elle en a, et la façon d'emprunter la sortie : le nom de l'action, dans la langue du jeu, ou le type de sortie. Cliquez sur un bouton pour ouvrir cette carte. Une sortie sous condition a un bouton en contour : pointez-le pour lire « Condition : » et la condition, écrite comme le jeu l'écrit. À la place des sorties, la barre peut indiquer « Cette carte n'est pas dans le graphe de déplacement. » ou « Dans le graphe, mais aucune sortie. » La place de la carte dans le monde Sous les commandes, une ligne indique où se trouve la carte, quand les données de jeu le savent : ses coordonnées, par exemple [4,-19], ou Aucune position dans le monde quand la carte n'est sur aucune carte du monde ; les noms de sa sous-zone et de sa zone, et le nom propre de la carte quand elle en a un ; Niveau et le niveau de la sous-zone ; Zaap quand la carte a un zaap, le nom du donjon quand la carte appartient à un donjon, et les points d'intérêt de la carte. Les cartes sans aucune information de monde, comme les havres-sacs et certaines instances, n'affichent pas cette ligne. Autres cartes aux mêmes coordonnées Quand d'autres cartes partagent les coordonnées de la carte ouverte, une ligne telle que « 3 autres cartes à ces coordonnées : » liste leurs ID sous forme de boutons, jusqu'à 12, suivis du nombre de cartes laissées de côté, par exemple « et 40 de plus ». Cliquez sur un ID pour ouvrir cette carte. Un très grand nombre signifie en général que des instances partagent ces coordonnées, plutôt qu'un vrai lieu. Objectifs de quête Quand des quêtes ont des objectifs sur la carte, un interrupteur apparaît avec leur nombre, par exemple « 4 objectif(s) de quête ici ». Il est désactivé au départ. Activez-le pour lister chaque étape de quête : le nom de la quête, le nom de l'étape, et les objectifs en dessous. Au-delà de 500 objectifs, le compteur se termine par un signe plus, comme dans « 500+ objectifs de quête ici », et la liste s'arrête là. Sorties interactives Sorties interactives liste les sorties qui partent d'une cellule à l'intérieur de la carte plutôt que d'un bord, comme les portes, les escaliers, les caves et les téléporteurs, avec une entrée par cellule, jusqu'à 12. Chaque entrée a deux boutons : le premier, qui porte le nom de l'action, sélectionne cette cellule sur la carte pour que vous voyiez où elle se trouve ; le second ouvre la destination et affiche ses coordonnées ou son ID de carte. Quand la cellule mène à plusieurs cartes, il indique combien, par exemple « 3 destination(s) », et ouvre la première. Ces cellules sont aussi marquées sur la carte par un losange orange. La carte Sur la carte elle-même : En haut à gauche, l'ID de la carte, par exemple « Carte 39845888 », puis le numéro de la cellule sous le pointeur ou sélectionnée, par exemple « Cellule 245 ». En haut à droite, Enregistrer en PNG et Plein écran (Enregistrer une image et passer en plein écran). Sur chaque côté où une carte voisine existe, une flèche. Une flèche pleine signifie que le jeu a un passage dans cette direction, et son infobulle indique « Aller à la carte » avec l'ID. Une flèche en contour signifie que la carte existe mais qu'aucun passage n'y mène depuis celle-ci, et son infobulle le dit, comme dans « La carte 39846400 existe, mais rien n'y mène depuis ici ». Dans les deux cas, cliquez sur une flèche pour ouvrir cette carte. Les flèches de votre clavier font de même, sauf pendant que vous tapez dans un champ. Pointez une cellule pour l'inspecter, et cliquez dessus pour la garder sélectionnée une fois le pointeur parti. Quand vous passez à une autre carte, la précédente reste à l'écran jusqu'au chargement de la nouvelle, avec un petit indicateur de chargement dans le coin inférieur droit. Vues Vue décide de ce que signifient les couleurs des cellules. Votre choix s'applique à toutes les cartes et est mémorisé dans ce navigateur. Vue Ce que montrent les couleurs Entrées de la légende Terrain (au départ) Où l'on peut marcher hors combat Praticable, Récolte, Havre-sac, Bloquée hors combat, Obstacle Combat Le placement et le déplacement en combat Équipe rouge, Équipe bleue, Bloquée en combat, Praticable, Obstacle Ligne de vue Les cellules qui bloquent la vue Bloque la vue, Praticable, Obstacle Zones La zone à laquelle appartient chaque cellule Zone avec son numéro, jusqu'à 6 zones, et Zone de déplacement Hauteur La hauteur de chaque cellule Hauteur avec la valeur la plus basse et la plus haute de la carte Sorties Les cellules qui mènent à une autre carte Sortie, Cellule flèche La légende ne liste que ce que contient la carte ouverte. Avec le calque Interactifs activé, elle affiche aussi Interactif quand la carte a des éléments interactifs. Calques Calques active ou désactive chaque partie du dessin. Tous sont activés au départ, et vos choix sont mémorisés dans ce navigateur. Calque Ce qu'il dessine Cellules Les cellules colorées. Grille La grille des cellules. Relief Une teinte plus claire ou plus foncée sur chaque cellule, selon sa hauteur par rapport au reste de la carte. Contour Une ligne autour de la zone praticable de la carte. Ombre Une ombre sous la zone praticable, qui la détache du fond. Interactifs Un point sur chaque cellule où se trouve un élément interactif. Repères Des marques placées sur les cellules, comme les losanges orange des sorties interactives. Numéros de cellule Le numéro de la cellule sous le pointeur et de ses quatre voisines. Légende La légende des couleurs de la vue. Infobulle Une bulle à côté du pointeur avec le numéro de la cellule et ce qui y est défini. Résumé et détails de la cellule Sous la carte, Résumé compte les cellules de la carte par type : Cellules praticables, Bloquées en combat, Bloquent la ligne de vue, Placement (rouge / bleu), Cellules de récolte, Cellules de sortie, Zones liées et Éléments interactifs. À côté, Détails de la cellule affiche l'enregistrement de la cellule inspectée tel qu'il a été extrait du jeu. Il indique « Pointez une cellule pour voir son enregistrement extrait. » tant que vous n'en pointez aucune. Vous voyez ensuite le numéro de la cellule, sa position dans la grille de la carte en x et y, et les indicateurs et nombres définis sur elle, avec les noms qu'utilisent les données de jeu, par exemple mov ou los. Quand des éléments interactifs se trouvent sur la cellule, « Interactions : » liste l'ID d'interaction de chacun, avec son ID graphique entre parenthèses. Les données de la carte ne contiennent aucun nom pour eux. Enregistrer une image et passer en plein écran Enregistrer en PNG, le bouton en forme d'appareil photo en haut à droite de la carte, télécharge la carte telle qu'elle est dessinée, avec la vue et les calques actuels, dans un fichier nommé map- suivi de l'ID de la carte, par exemple map-39845888.png. La légende, l'infobulle, les numéros de cellule et les badges affichés par-dessus la carte ne font pas partie de l'image. Plein écran remplit l'écran avec la carte. Cliquez sur Quitter le plein écran, ou appuyez sur Échap, pour revenir. Quand une carte ne s'affiche pas Message Signification « Chargement de la carte... » La carte est en route. « Aucune carte de cet ID dans les données extraites de cette version. Vérifiez l'ID, ou extrayez d'abord les données de cette version. » Aucune carte n'a cet ID dans les données de jeu de la version, ou la version n'est pas extraite. « Impossible de lire cette carte depuis le serveur. » Asterobot n'a pas pu envoyer la carte. Vérifiez qu'Asteroboard est connecté à Asterobot, puis cliquez de nouveau sur Afficher. Pour aller plus loin Carte du monde Données de jeu
-
Carte du monde
L'onglet Cartes d'une page du jeu dessine les cartes du monde de Dofus à partir des données de jeu extraites de la version de jeu, avec par-dessus les régions, les zaaps, les donjons et les points d'intérêt. C'est là que vous cherchez où vit un monstre ou où pousse une ressource, avant d'ouvrir les cartes de cette région. La version doit d'abord être extraite (Extraire les données de jeu). Ouvrir la carte du monde Ouvrez la page du jeu de la version depuis Gestionnaire de jeux. Ouvrez l'onglet Cartes. L'onglet s'ouvre sur la vue Monde. Trois boutons en haut permettent de changer de vue : Vue Ce qu'elle affiche Monde La carte du monde, avec le panneau de la région en dessous. Carte Une seule carte, dans la visionneuse de carte. Partagé Les deux côte à côte. La carte du monde a moins de place et le panneau de la région est masqué. En Partagé, faites glisser la ligne entre les deux côtés pour répartir la place : Asteroboard mémorise la position dans ce navigateur. L'interrupteur Suivre la carte garde la carte du monde centrée sur la carte ouverte à côté. Sur un écran étroit, les deux côtés s'empilent. Se déplacer Faites glisser la carte pour la déplacer, et tournez la molette pour zoomer. Les boutons en haut à droite font un zoom arrière, un zoom avant, reviennent à la carte entière et passent en plein écran. Le coin supérieur gauche affiche les coordonnées sous le pointeur, avec le nom de la région ou du point d'intérêt qui s'y trouve. Quand le pointeur est hors de la carte, il indique « Cliquez sur une case pour ouvrir les cartes qui s'y trouvent. » Cliquez sur une case pour la sélectionner. La ligne sous la carte liste alors les ID des cartes à ces coordonnées, jusqu'à 50, sous forme de boutons : cliquez sur l'un d'eux pour ouvrir cette carte. La ligne indique « Recherche... » pendant la recherche, et « Aucune carte à ces coordonnées. » quand il n'y en a aucune. Double-cliquez sur une case pour ouvrir tout de suite la première carte qui s'y trouve. Choisir une carte du monde La liste en haut à gauche contient les cartes du monde affichées dans le jeu, et démarre sur la carte du monde 1, le Monde des Douze. Une carte du monde sans nom s'affiche sous la forme « Carte du monde » suivi de son numéro. Quand vous ouvrez une carte dans la vue Carte, la carte du monde passe à celle à laquelle appartient cette carte. Si la carte du monde choisie affiche « Aucun visuel extrait pour cette carte du monde. », extrayez de nouveau la version. Quand les cartes du monde ne peuvent pas du tout être lues, par exemple sur une version non extraite, l'onglet affiche Impossible de charger la carte du monde avec la raison. Interrupteurs Interrupteur Au départ Ce qu'il dessine Contours Activé Les bordures des régions. Points d'intérêt Activé Les icônes que le jeu place sur sa carte. Sous la carte, un bouton par catégorie, avec son nombre, masque ou affiche cette catégorie. Grille Désactivé Les cases des coordonnées. Zaaps Désactivé Tous les zaaps, avec leur nom. Donjons Désactivé Tous les donjons, avec leur nom. Carte des niveaux Désactivé Les régions, colorées selon leur niveau. Le nombre de liaisons, par exemple 4 liaison(s) Désactivé Où mènent les passages de la carte ouverte dans la vue Carte : des carrés bleus pour ceux que l'on emprunte à pied, des losanges orange pour les portes, les escaliers et les autres passages qui s'empruntent par un élément de la carte. Proposé seulement quand une carte ouverte a de tels passages. Avec Carte des niveaux activé, une légende sous la carte indique « Du plus bas au plus haut niveau » avec cinq tranches : 1-20, 21-50, 51-100, 101-150 et 151+. Les régions sans contour ou sans niveau restent sans couleur, et la légende indique combien il y en a. Les interrupteurs reviennent à ces valeurs par défaut quand vous rechargez la page. Rechercher La zone de recherche, « Rechercher un monstre, une ressource, un objet... », comprend trois types de saisie : Des coordonnées, par exemple 4,-19, 4;-19 ou 4 -19. Un ID de carte. Un nombre est proposé comme ID de carte, et il est aussi cherché comme nom. Un nom : de région, de donjon, de point d'intérêt, de monstre ou d'objet, dans la Langue choisie dans l'en-tête de la page du jeu. Chaque mot correspond au début d'un mot. Les résultats apparaissent sous forme de boutons pendant la saisie, jusqu'à 6 par type d'enregistrement. Chacun affiche le nom, la tranche de niveaux pour un monstre, la table d'où vient l'enregistrement et son numéro après #. Les noms ne sont pas uniques, et le numéro permet de distinguer les enregistrements qui portent le même nom. Le petit bouton à côté d'un résultat, « Ouvrir dans les données de jeu », ouvre son enregistrement dans l'onglet Données de jeu. Clic sur un résultat Ce qui se passe Coordonnées La carte du monde se centre sur cette case et la sélectionne. ID de carte La carte s'ouvre dans la vue Carte. Région La carte du monde se centre sur la région. Quand la région n'est pas dessinée sur cette carte du monde, sa première carte s'ouvre à la place. Donjon Sa carte d'entrée s'ouvre. Point d'intérêt La carte sur laquelle il se trouve s'ouvre. Monstre ou objet La carte du monde met en évidence les régions où il apparaît. Filtrer par monstre ou objet Choisir un monstre met en évidence les régions où il vit. Choisir un objet met en évidence les régions où il se récolte, et celles où vivent les monstres qui le lâchent. Un bouton apparaît alors au-dessus de la carte, avec le nom et le nombre de régions mises en évidence sur cette carte du monde, par exemple « Bouftou Royal · 3 région(s) ». Cliquez dessus pour retirer le filtre. Quand l'enregistrement n'apparaît nulle part, le bouton affiche le nom suivi de « n'apparaît dans aucune région ici ». Certaines régions ne peuvent pas être mises en évidence, parce qu'elles sont sur une autre carte du monde ou n'ont pas de contour. Elles sont listées après « Également dans : », et cliquer sur l'une d'elles l'affiche dans le panneau de la région. Les données de jeu enregistrent les monstres et les ressources par région, pas par carte ni par cellule : le filtre ne peut donc pas montrer l'endroit exact où pousse une ressource. Le panneau de la région Dans la vue Monde, le panneau de la région sous la carte décrit la région de la case sélectionnée, ou celle que vous avez choisie après « Également dans : ». Le nom de la région, et des badges : Niveau, le nombre de cartes, et Donjon, Capturable ou Village de conquête quand ils s'appliquent. Zaap, quand la région en a un, ouvre la carte du zaap. Ce zaap peut se trouver hors de la région qu'il dessert. Un bouton tel que Ouvrir les 12 carte(s) ouvre la première carte de la région. Monstres, avec leur nombre : chaque monstre avec sa tranche de niveaux et son numéro. Un monstre affiché dans une couleur d'alerte est agressif à plus de 3 cellules. Pointer un monstre affiche « Agressif dans un rayon de » suivi de sa portée en cases, ou Passif. Récoltes, avec leur nombre : chaque ressource avec son niveau et son numéro. Pointer une ressource affiche « Récoltée par » et le métier. La note « Récoltées sur les cartes de cette zone. » rappelle que les données de jeu ne précisent pas la carte. Butins, avec leur nombre : les objets que lâchent les monstres de la région. Chaque monstre, ressource et objet du panneau renvoie vers son enregistrement dans l'onglet Données de jeu. Le panneau affiche « Chargement de la zone... » pendant le chargement, et Impossible de charger cette zone avec la raison en cas d'échec. Ouvrir une carte Chacune de ces actions ouvre une carte dans la vue Carte, ou à côté de la carte du monde en Partagé : double-cliquer sur une case ; sélectionner une case, puis cliquer sur l'un des ID de carte sous la carte du monde ; cliquer sur Zaap ou sur le bouton qui ouvre les cartes de la région dans le panneau de la région ; dans la recherche, cliquer sur un ID de carte, une région, un donjon ou un point d'intérêt. Dans la vue Carte, un bouton tel que « Afficher en [4, -19] sur la carte du monde » revient à la carte du monde, centrée sur la carte ouverte. Il est masqué tant que Suivre la carte est activé. Visionneuse de carte explique tout ce qu'affiche la vue Carte. Pour aller plus loin Visionneuse de carte Trouver une ressource sur la carte du monde
-
Page du jeu
Chaque version de Dofus téléchargée a sa propre page dans Asteroboard. Vous y explorez ce qu'Asterobot a téléchargé et extrait pour elle : la carte du monde et chaque carte, les données de jeu, les textes du jeu et la musique. Rien de tout cela ne nécessite de bot. Le premier onglet, Informations, rassemble aussi en un seul endroit toutes les actions sur la version. L'ouvrir Ouvrez Gestionnaire de jeux. Sur la ligne de la version, cliquez sur le nom du jeu ou sur Inspecter. Ces deux accès n'apparaissent que sur les versions de Dofus pour Windows dont le Statut est Installé. Les versions d'autres jeux ou d'autres plateformes n'ont pas de page du jeu. L'adresse de la page indique la version et l'onglet ouvert : vous pouvez donc mettre un onglet en favori ou garder son lien. Quand un lien désigne une version que votre Asterobot n'a pas, la page propose de la télécharger (voir Une version qui n'est pas installée). L'en-tête et les onglets L'en-tête affiche l'icône et le nom du jeu, ainsi que le numéro de version. Sur les onglets Textes, Cartes et Données de jeu, un sélecteur Langue à droite règle la langue des textes et des noms du jeu : Français, English, Deutsch, Español ou Português. Il démarre sur la langue d'Asteroboard. Votre choix est mémorisé dans ce navigateur, pour toutes les pages du jeu. Onglet À quoi il sert Informations Les états de la version et toutes les actions possibles dessus, décrits plus bas. Textes Des statistiques sur le fichier de textes du jeu d'une langue, et la recherche d'un texte. Voir Textes du jeu. Cartes La carte du monde et la visionneuse de carte. Voir Carte du monde et Visionneuse de carte. Données de jeu Chercher, parcourir et interroger les données de jeu. Voir Données de jeu et SQL. Musique Télécharger, extraire et écouter la musique du jeu. Voir Musique. Cartes et Données de jeu lisent les données de jeu extraites : ils n'ont donc rien à montrer tant que la version n'est pas extraite (Extraire les données de jeu). Textes lit directement les fichiers de textes téléchargés. Si un onglet rencontre une erreur pendant son affichage, il est remplacé par Impossible de charger ce panneau avec le texte de l'erreur. Passez à un autre onglet puis revenez, ou rechargez la page. L'onglet Informations États La première ligne reprend ce que Gestionnaire de jeux affiche pour la version, avec deux boutons : Le Statut du téléchargement, par exemple Installé, avec une barre de progression pendant le téléchargement ou la vérification, et une icône d'information avec la raison quand il est en Échec. Prêt pour un bot ou Pas prêt, suivi de Vérifier si prêt pour un bot, qui vérifie de nouveau sur le disque. Compatible ou Version différente, seulement pour l'environnement dofus3, suivi de Vérifier la dernière version, qui demande aux serveurs de téléchargement d'Ankama si une version plus récente est sortie. Fichiers requis Cette carte indique si les fichiers dont un bot a besoin sont sur le disque, pour toutes les langues à la fois : Badge Signification Présents Tous les fichiers dont un bot a besoin sont téléchargés. Manquants Au moins un fichier manque, et Télécharger les fichiers requis apparaît à côté du badge. Inconnu Asteroboard n'a pas pu interroger Asterobot. Télécharger les fichiers requis télécharge uniquement les fichiers manquants, dans la même file que les autres téléchargements, et Asteroboard affiche Téléchargement mis en file d'attente. Cela ne lance pas d'extraction : une fois le téléchargement terminé, extrayez la version si son badge n'indique pas encore Extrait. En bas de la carte, Vérifier les fichiers, Télécharger plus de fichiers (Réessayer sur une version en échec) et Désinstaller fonctionnent comme dans le menu de la version du Gestionnaire de jeux (Gérer les versions de jeu). Pointez un bouton pour lire ce qu'il fait. Données extraites Cette carte affiche l'état de l'extraction, avec une barre de progression pendant qu'elle tourne, et deux boutons : Extraire les données, qui devient Réextraire les données une fois la version extraite, et Supprimer les données extraites. Extraire les données de jeu explique les deux. Supprimer Supprimer, en bas de l'onglet, efface les fichiers de la version, ses données de jeu extraites et sa ligne, après confirmation. Gérer les versions de jeu le compare avec Désinstaller. Une version qui n'est pas installée Quand la version de la page n'est pas dans Gestionnaire de jeux, par exemple après l'avoir supprimée, les onglets laissent la place à une carte indiquant que la version n'est pas installée, par exemple Dofus 3.6.11.13 n'est pas installé. Télécharger cette version télécharge les fichiers dont un bot a besoin pour cette version et les extrait une fois le téléchargement terminé, tant qu'Asteroboard reste ouvert. La version apparaît ensuite dans Gestionnaire de jeux et les onglets reviennent. Si le téléchargement ne peut pas être mis en file d'attente, Asteroboard affiche Impossible de mettre en file d'attente le téléchargement. Pour aller plus loin Carte du monde Données de jeu Trouver une ressource sur la carte du monde
-
Carte
L'onglet Carte d'une page de bot est destiné à montrer où se trouve le bot dans le jeu. Note Bientôt disponible. L'onglet Carte affichera la carte où se trouve votre bot et la cellule sur laquelle il se tient. Asterobot n'indique pas encore la position d'un bot : pour l'instant, l'onglet affiche donc toujours « Ce bot n'a pas encore signalé de carte. » Ce qu'affiche l'onglet aujourd'hui Un badge avec le nom du bot, et une zone de carte vide avec le message « Ce bot n'a pas encore signalé de carte. » L'onglet a le même aspect quoi que fasse le bot, connecté ou non, et il n'y a rien à cliquer. Consulter les cartes en attendant Toutes les cartes du jeu se trouvent sur la page du jeu de la version de jeu du bot : Dans la barre latérale, ouvrez Gestionnaire de jeux. Ouvrez la version de jeu qu'utilise le bot : son nom, ou son bouton Inspecter. Cliquez sur l'onglet Cartes. Vous pouvez y parcourir la carte du monde, chercher un monstre, une ressource ou un zaap, et ouvrir n'importe quelle carte par son ID ou ses coordonnées pour voir ses cellules, ses sorties et ses éléments interactifs. Voir Carte du monde et Visionneuse de carte. Pour aller plus loin Page du jeu Page du bot
-
Envoyer des messages à la main
Le panneau Envoyer un message de jeu de l'outil Réseau construit un message à partir de ses champs et l'envoie sur la connexion de jeu du bot, de la même façon que send() dans un script. Servez-vous-en pour tester : voir comment le serveur répond à une requête, ou essayer un message avant qu'un script l'envoie. Avant d'envoyer Caution Un message envoyé au serveur vient de votre personnage, exactement comme si votre client Dofus l'avait envoyé, et le serveur agit en conséquence. Un mauvais message peut déplacer votre personnage, dépenser des kamas ou détruire des objets, et rien ne peut être annulé. Le bot doit être Connecté au serveur de jeu. Seuls les messages qu'Asterobot sait nommer peuvent être envoyés. Envoyer un message Sur la page du bot, cliquez sur Outils, puis sur Envoyer un message de jeu dans l'outil Réseau. Sous Direction, gardez Vers le serveur ou choisissez Vers le client. Voir le tableau ci-dessous. Choisissez le message dans la liste, « Choisissez une requête à envoyer... » ou « Choisissez un événement à injecter... ». Tapez pour y chercher. Remplissez les champs dont vous avez besoin, et laissez les autres vides. Vérifiez le JSON sous « Voici ce qui sera envoyé. » Cliquez sur Envoyer suivi du nom du message. Une notification avec le nom du message suivi de « envoyé » confirme son départ. Le panneau n'affiche aucune réponse : pour voir comment le serveur réagit, cochez les messages attendus dans Réglages et regardez Trafic. Voir Trafic réseau. Direction Direction Messages proposés Ce qui se passe Vers le serveur Les requêtes, dont le nom se termine par Request « Part chez Ankama sous forme de requête, exactement comme l'aurait envoyée le vrai client. » Vers le client Les événements, dont le nom se termine par Event Le message est livré comme si le serveur l'avait envoyé. Sur un bot MITM (« homme du milieu », man-in-the-middle), votre client Dofus le reçoit et agit en conséquence. Sur un bot Full socket, il n'y a pas de client : seul le script du bot le reçoit. Changer de direction vide le message choisi, puisque les deux listes n'ont aucun message en commun. Les réponses ne peuvent pas être envoyées du tout : une réponse répond à une requête précise. Champs Quand vous choisissez un message, ses champs apparaissent, chacun avec son nom et, en dessous, son type, par exemple int32, string · optional ou message · repeated suivi du type de message qu'il contient. Type de champ Champ dans le panneau Quoi saisir bool Une case à cocher Cochez-la pour vrai. Une liste de valeurs nommées Une liste déroulante L'un des noms. int32, uint32, sint32, fixed32, sfixed32, float, double Une zone numérique Un nombre. int64 et les autres nombres sur 64 bits Une zone de texte Un nombre entier. Il est gardé sous forme de texte pour que les grands identifiants ne soient pas arrondis. string, bytes et les autres valeurs simples Une zone de texte La valeur. Les listes, et les champs qui contiennent un autre message Une zone JSON, qui commence par [] ou {} Du JSON. Un champ vide est omis du message, tout comme une case décochée : le jeu utilise alors la valeur par défaut du champ. Un message sans champ indique « Ce message n'a aucun champ à remplir. » Quand une valeur est inutilisable, l'aperçu est remplacé par la raison en rouge, et le bouton d'envoi reste grisé : Raison, par exemple Quoi corriger mapId: abc is not a number Tapez un nombre dans ce champ. characterId: 12.5 is not a whole number Tapez un nombre entier dans ce champ sur 64 bits. Le nom du champ suivi d'une erreur JSON de votre navigateur Corrigez le JSON dans ce champ. La référence du protocole Dofus décrit chaque message et ses champs. Les auteurs de scripts peuvent aussi lire Trouver des messages et Envoyer. Quand l'envoi échoue L'alerte Impossible d'envoyer le message apparaît au-dessus du formulaire avec la raison : Raison Signification bot has no game connection: "<bot>" Le bot n'est pas connecté à une partie. Connectez-le et réessayez. Commence par message could not be built from the given payload: Une valeur ne convient pas au message : un mauvais type, une valeur inconnue dans une liste, un JSON de mauvaise forme. La suite du texte précise laquelle. Commence par unknown game protocol message names: Asterobot ne connaît pas ce message, par exemple après une mise à jour du jeu. Commence par send, le nom du message, et to server: ou to client: Le message n'a pas pu être écrit sur la connexion, souvent parce que la connexion s'est fermée un instant plus tôt. Commence par the game engine is not available: Asterobot n'a pas pu charger sa liste de messages de jeu. La zone de chat de l'onglet Console et Détruire dans l'onglet Inventaire envoient leurs messages de la même façon, et échouent pour les mêmes raisons. Pour aller plus loin Trafic réseau Carte
-
Trafic réseau
L'outil Réseau montre les messages échangés entre un bot et le jeu : ce qu'envoie le serveur, et ce que le bot ou votre client Dofus lui renvoie. Ouvrez-le depuis l'onglet Outils du bot. Il comporte trois panneaux : Trafic liste les messages, Réglages choisit lesquels, et Envoyer un message de jeu en envoie un à la main, ce que couvre Envoyer des messages à la main. Pourquoi Trafic est vide au départ Un bot échange énormément de messages. Asterobot n'en envoie aucun à Asteroboard tant que vous n'avez pas choisi ceux qui vous intéressent : sur un nouveau bot, Trafic indique donc « Aucun message renvoyé pour l'instant. Choisissez-en dans Réglages. » Ce que vous choisissez ne change que ce qu'affiche Asteroboard. Le script du bot reçoit tous les messages dans tous les cas, et la partie se déroule de la même façon. Chat en direct dans l'onglet Console et Inventaire en direct dans l'onglet Inventaire sont des raccourcis : ils cochent des messages dans cette même liste. Choisir les messages Le panneau Réglages contient tous les messages qu'Asterobot sait nommer, avec une case à cocher pour chacun. Caution Sur un bot MITM, où le bot relaie la session de jeu de votre client Dofus (« homme du milieu », man-in-the-middle), cocher IdentificationRequest affiche le premier message qu'envoie votre client. Il contient le ticket qui ouvre votre session de jeu. Ne partagez jamais une capture d'écran ni une copie de ce message. Sur la page du bot, cliquez sur Outils, puis sur Réglages dans l'outil Réseau. Tapez une partie du nom d'un message dans Filtrer les messages... pour réduire la liste. Cochez les messages voulus. Le bouton Sélectionner les, qui indique combien de messages le filtre laisse passer (par exemple Sélectionner les 12 affichés), les coche tous, et Désélectionner les affichés les décoche. Cliquez sur Appliquer. Le bouton indique combien de messages sont cochés, par exemple Appliquer (3). Une notification confirme combien de types de messages le bot renvoie désormais, et la ligne à côté du bouton indique combien sont sélectionnés sur le nombre total existant. Appliquer reste grisé tant que rien n'a changé, et Rétablir, qui apparaît dès que vous modifiez quelque chose, remet la liste telle qu'elle a été appliquée la dernière fois. La sélection appartient au bot. Elle est enregistrée avec lui, reste après un redémarrage d'Asterobot, et elle est la même dans tous les navigateurs qui ouvrent ce bot. Après une mise à jour du jeu, les messages qu'Asterobot ne connaît plus par leur nom sont retirés de la sélection au démarrage suivant d'Asterobot. Quand la liste ne peut pas être chargée, ou qu'Appliquer échoue, l'alerte Impossible de charger le catalogue de messages apparaît avec la raison, par exemple unknown game protocol message names: [...] pour des noms qu'Asterobot ne connaît pas. Renvoyer aussi les messages non identifiés Certains messages n'ont pas encore de nom connu d'Asterobot : on ne peut donc pas les cocher un par un. L'interrupteur Renvoyer aussi les messages non identifiés les couvre tous d'un coup : « Ils arrivent sous leur nom obfusqué, décodés depuis le schéma lorsqu'il les décrit. » Appliquez-le comme la liste. Attendez-vous à en recevoir beaucoup. Messages perdus Quand les messages arrivent plus vite qu'Asterobot ne peut les transmettre à Asteroboard, il en saute certains plutôt que de ralentir le bot. Un badge à côté d'Appliquer indique alors combien, par exemple « 12 message(s) perdu(s) - le flux n'a pas suivi ». Le compteur couvre ce bot depuis le démarrage d'Asterobot, et rien n'est perdu pour le bot ni pour son script. S'il continue d'augmenter, cochez moins de messages. Regarder passer les messages Ouvrez Trafic. Les messages choisis apparaissent à mesure qu'ils passent, les plus anciens en haut. Chaque ligne affiche, de gauche à droite : Élément Signification Barre de couleur et icône Le genre de message : vert pour un événement annoncé par le serveur, rouge pour une requête, bleu pour une réponse à une requête, gris quand le genre est inconnu. Heure Le moment où la connexion du bot a vu le message, en UTC, à la milliseconde près. Nom Le nom du message. Un message sans nom connu affiche son nom obfusqué en italique. Schéma ou Brut Seulement pour les messages sans nom connu. Schéma : ses champs ont tout de même pu être lus, sous des noms obfusqués. Brut : seuls ses octets ont pu être lus. Entrant ou Sortant Entrant vient du serveur de jeu. Sortant part vers lui, depuis le bot ou depuis votre client Dofus. # et un nombre Le numéro d'ordre du message sur cette connexion. uid et un nombre Affiché pour les requêtes et les réponses, pour associer une réponse à sa requête. Erreur de décodage Asterobot n'a pas pu lire entièrement le message. Dessous, un aperçu du contenu du message sur une ligne. Cliquez sur une ligne, ou sur la flèche à son début, pour l'ouvrir : vous obtenez tous ses champs en JSON, l'erreur de décodage s'il y en a une et, pour un message que rien n'a pu lire, ses octets bruts. Les champs à leur valeur par défaut sont aussi affichés, et les grands nombres apparaissent sous forme de texte entre guillemets. La référence du protocole Dofus explique la signification des champs. Les requêtes et les événements nommés ont aussi un bouton en forme d'avion en papier, Renvoyer ce message. Il est censé copier le message dans Envoyer un message de jeu, mais dans cette version ce panneau s'ouvre sans lui : ouvrez Envoyer un message de jeu, choisissez le même message et recopiez ses champs depuis ici. Suivre, mettre en pause et vider Tant que vous êtes en bas, la liste défile à chaque nouveau message. Remontez et elle s'arrête ; le bouton Suivre vous ramène au message le plus récent. Pause fige la liste pour ce bot. Les messages qui arrivent pendant la pause ne sont pas conservés, même si l'avis indique « En pause - les nouveaux messages sont toujours enregistrés. » : ils n'apparaissent pas quand vous la désactivez. Les lignes de chat de l'onglet Console s'arrêtent aussi. Vider efface la liste pour ce bot, y compris les lignes de chat de l'onglet Console. Ce qui est conservé Asteroboard récupère les messages dès son ouverture, quelle que soit la page où vous êtes, et garde environ les 2 000 derniers par bot. Ils sont perdus quand vous rechargez ou fermez Asteroboard : Asterobot n'en garde aucun historique. Sur un bot MITM, le relais de votre partie peut aussi sauter des messages quand il ne parvient pas à les transmettre assez vite. Votre partie n'est pas affectée, mais un badge au-dessus de la liste indique alors combien de messages la session du bot a écartés, et que la liste est incomplète. Rechercher La zone « Rechercher, ou filtrer avec name:Ping direction:inbound » filtre la liste pendant la saisie. Le compteur à côté indique combien de messages correspondent sur combien. Séparez les mots par des espaces : un message doit tous les contenir. La casse n'a pas d'importance, et une partie de mot suffit. field:value cherche dans un seul champ : name, wirename, kind, direction, bot, uid, sequence, error ou payload. Les genres sont event, request, response et unspecified, les directions inbound et outbound. Un - devant un mot ou un field:value exclut ce qui y correspond. Un nombre seul est cherché dans tous les champs, par exemple l'identifiant d'un personnage, sans avoir à savoir quel champ le contient. Recherche Affiche Chat Tous les messages qui contiennent « chat » quelque part. name:ChatChannelMessageEvent Uniquement ce message. kind:request Les requêtes. direction:inbound -kind:event Ce que le serveur a envoyé, sauf les événements. Quand rien ne correspond, la liste indique « Aucun message ne correspond à cette recherche. » Pour creuser davantage les messages, les auteurs de scripts peuvent lire Trouver des messages et Trafic. Pour aller plus loin Envoyer des messages à la main Le tutoriel Voir ce que votre jeu envoie
-
Inventaire
L'onglet Inventaire montre ce que porte le personnage du bot : ses objets, ses kamas et ses pods, tenus à jour pendant que le bot joue. Il fonctionne de la même façon pour un bot Full socket et pour un bot MITM (« homme du milieu », man-in-the-middle) qui suit la partie que vous jouez. Activer l'inventaire en direct Rien n'arrive dans l'onglet tant que vous ne l'avez pas demandé. Sur la page du bot, cliquez sur Inventaire. L'onglet indique « Inventaire non suivi ». Cliquez sur Activer l'inventaire en direct, ou activez l'interrupteur Inventaire en direct en haut à droite. L'interrupteur coche cinq messages dans les Réglages de l'outil Réseau : InventoryContentEvent, ObjectsQuantityEvent, ObjectQuantityEvent, KamasUpdateEvent et InventoryWeightEvent. Il n'apparaît activé que si les cinq sont cochés, et l'activer coche ceux qui manquent. Le choix est enregistré avec le bot et reste après un redémarrage. Si le changement échoue, Impossible d'activer ou de désactiver l'inventaire en direct apparaît avec la raison. Comme toute sélection de messages, cela ne change que ce qu'affiche Asteroboard. Un script reçoit ces messages dans tous les cas. Pourquoi il faut attendre Une fois l'interrupteur activé, l'onglet peut indiquer « En attente de l'inventaire ». Le jeu n'envoie l'inventaire complet qu'une fois, quand le personnage entre en jeu, et Asterobot n'en garde aucune copie. L'onglet se remplit la prochaine fois que le personnage entre en jeu : sur un bot MITM, revenez à la sélection des personnages dans Dofus et choisissez de nouveau votre personnage ; sur un bot Full socket, reconnectez-le. Pour ne pas avoir à attendre la prochaine fois, laissez Inventaire en direct activé. Le résumé La ligne en haut de l'onglet affiche : Les kamas que porte le personnage. Une barre de pods avec le poids et le maximum, par exemple 1,250 / 3,000 pods. La barre passe à l'orange à partir de 90 % du maximum, et au rouge avec un badge Surchargé dès que le personnage porte plus qu'il ne peut. Dernier inventaire connu, bot non connecté quand le bot n'est pas Connecté au serveur de jeu : ce que vous voyez est le dernier inventaire reçu, pas un inventaire en direct. « Mis à jour à » suivi de l'heure du dernier changement. Survolez-le pour voir quand l'inventaire complet a été reçu. Ce qui reste en direct, et ce qui ne l'est pas Les quantités, les kamas et les pods changent au fil du jeu. Les nouvelles piles, non : un objet que vous obtenez en butin, achetez ou fabriquez et que vous n'aviez pas encore n'apparaît que la prochaine fois que le jeu envoie l'inventaire complet, quand le personnage entre de nouveau en jeu. Une pile qui quitte complètement l'inventaire peut aussi rester affichée jusque-là. Asteroboard conserve le dernier inventaire de chaque bot tant qu'il est ouvert. Recharger ou fermer Asteroboard vide l'onglet jusqu'à ce que le personnage entre de nouveau en jeu. Quand vous supprimez un bot, son inventaire disparaît avec lui. Catégories Sous le résumé, une bande de catégories filtre le tableau : Tout, puis Équipements, Consommables, Ressources, Objets de quête, Cosmétiques et Divers. Chacune indique combien de piles elle contient, et seules les catégories non vides apparaissent. Un objet que les données de jeu ne connaissent pas n'a pas de catégorie et n'apparaît que sous Tout. Le tableau des objets Colonne Ce qu'elle affiche Objet L'image et le nom de l'objet, une étoile pour les objets marqués comme favoris, et un badge Équipé pour les objets que porte le personnage. Type Le type de l'objet. Sur un écran étroit, il passe sous le nom. Niveau Le niveau de l'objet. Quantité Le nombre d'objets dans la pile. Poids Les pods de la pile entière. Masqué sur un écran étroit. Cliquez sur un en-tête de colonne pour trier selon celle-ci. Le menu Colonnes masque ou affiche Type, Niveau, Quantité et Poids. Le tableau affiche 25 piles par page. La zone de recherche, « Rechercher noms, types, effets... », cherche votre texte dans le nom, le type, la description et les effets de l'objet, ainsi que dans ses identifiants. Pendant la recherche, elle indique combien de piles correspondent sur combien. Sans résultat, elle indique « Aucun objet ne correspond à la recherche. », et une catégorie vide indique « Rien dans cette catégorie. » Détails d'un objet Les lignes qui ont une description ou des effets commencent par une flèche. Cliquez dessus pour ouvrir la ligne : La description de l'objet. Les effets de cette pile précise, avec les valeurs que le jeu a tirées pour elle, en vert pour les bonus et en rouge pour les malus. Un effet qu'Asteroboard ne sait pas formuler s'affiche sous sa forme brute, en gris. L'uid de la pile, l'identifiant de l'objet (objet) et sa position, avec Ouvrir dans les données du jeu, qui ouvre l'enregistrement de l'objet sur la page du jeu. Un clic droit sur une ligne ouvre un menu avec Afficher les détails ou Masquer les détails, Copier l'UID, Copier l'ID de l'objet, Ouvrir dans les données du jeu quand les données de jeu connaissent l'objet, et Détruire. Noms et images Les noms, types, descriptions et effets viennent des données de jeu de la version de jeu du bot. Leur langue est celle choisie dans le sélecteur Langue de la page du jeu, ou la langue d'Asteroboard si vous n'y avez jamais fait de choix. Voir Page du jeu. Un objet que les données de jeu ne connaissent pas s'affiche sous la forme Objet # suivi de son identifiant, en gris. Quand les données de jeu ne peuvent pas du tout être lues, par exemple parce que la version n'est pas extraite, Noms des objets indisponibles apparaît avec la raison, et les piles restent listées par identifiant. Une version de jeu extraite avant que les images des objets fassent partie de l'extraction affiche un carré à la place de chaque image. Détruire un objet Warning La destruction envoie la demande de suppression propre au jeu, au nom de votre personnage. Le jeu détruit les objets définitivement, et rien ne peut les ramener. Faites un clic droit sur la ligne de l'objet et choisissez Détruire. L'option est grisée avec « Nécessite un bot connecté » tant que le bot n'est pas connecté, et avec « Destruction envoyée » quand vous avez déjà envoyé une destruction pour cette pile. La fenêtre Détruire suivie du nom de l'objet s'ouvre : « Le jeu le détruit définitivement. Impossible de revenir en arrière. » Pour une pile de plus d'un objet, choisissez la Quantité. Elle commence à la pile entière, et ne peut pas dépasser ce que contient la pile. Cliquez sur Détruire. Une notification telle que Destruction envoyée : 3 × Blé confirme que la demande est partie. La ligne reste dans le tableau, atténuée, avec un badge Destruction envoyée, ou Destruction envoyée ×3 quand vous avez détruit une partie de la pile. Que la demande soit partie ne veut pas dire que le jeu l'a acceptée. Quand seule une partie d'une pile a été détruite, la mise à jour de quantité envoyée par le jeu tranche. Une pile entière reste marquée jusqu'à ce que le jeu envoie de nouveau l'inventaire complet. Si la demande ne peut pas être envoyée, Impossible d'envoyer la demande de destruction apparaît dans la fenêtre avec la raison. Quand le bot n'est pas connecté, la fenêtre indique « Ce bot n'est pas connecté au jeu : rien ne peut être détruit pour l'instant. » Pour aller plus loin Trafic réseau Le tutoriel Surveiller l'inventaire construit un script à partir des mêmes messages.
-
Informations
L'onglet Informations montre ce que la session de jeu du bot indique sur le compte Ankama et sur le serveur où il se trouve. Il se remplit une fois le bot connecté : après Connecter pour un bot Full socket, ou quand votre client Dofus a rejoint un bot MITM (« homme du milieu », man-in-the-middle). Avant cela, l'onglet ne contient qu'un court texte qui vous renvoie au bouton Connecter de l'en-tête. Déconnecter le vide à nouveau. Quand une tentative de connexion ultérieure échoue, l'onglet continue d'afficher la dernière session jusqu'à la prochaine connexion réussie ou jusqu'à Déconnecter. Session de connexion La carte Session de connexion présente le compte tel qu'Ankama le décrit : Ligne Ce qu'elle affiche ID du compte Le numéro du compte Ankama. Pseudo Le pseudo du compte. Tag Le tag associé au pseudo. Fin d'abonnement La date de fin de l'abonnement Dofus du compte, telle qu'Ankama l'envoie : une date et une heure au format ISO 8601. Sous les lignes, des badges indiquent les droits qu'Ankama accorde au compte, s'il en accorde : Badge Signification Afficher « Forcer le compte » Un droit qu'Ankama place sur le compte, affiché tel qu'il est reçu. Afficher la console Un droit qu'Ankama place sur le compte, affiché tel qu'il est reçu. Accès illimité Le compte peut rejoindre un serveur même quand ce serveur est en maintenance ou ne lui est pas ouvert. Abonnement illimité L'abonnement du compte ne se termine pas. Fin d'abonnement n'a alors aucun sens. Serveur actuel Sous Serveur actuel, une tuile montre le serveur de la session du bot : son image, son nom et son numéro, son état (En ligne ou Maintenance) tel qu'il était quand le bot s'est connecté, son type de serveur, Mono-compte pour un serveur mono-compte, et le nombre de personnages que le compte y possède. L'icône d'information à côté du nom affiche la description du serveur. Les noms, images et descriptions des serveurs viennent des données de jeu de la version de jeu du bot, dans la langue du bot. Quand ces données de jeu ne peuvent pas être lues, la tuile affiche le numéro du serveur, par exemple #312, au lieu de son nom. Quand un bot attend que vous choisissiez un serveur, le choix ne se fait pas ici : la carte Choisissez un serveur apparaît dans l'en-tête, sur tous les onglets. Voir Page du bot. Pour aller plus loin Inventaire Mode Full socket