Tout ce qui a été publié par Smooth
-
Your toolbox
Everything you need to write scripts is already in Asteroboard, plus one reference on asterobot.net. Here's what each tool is for, so you know where to look when a script doesn't do what you expect. The package editor You write code in the package editor. Open it from Library Manager: New package creates a package and opens it, and Edit code, in a package's menu, opens one you already have. Only local packages can be edited: a package downloaded from the marketplace is read-only. The editor completes the asterobot: functions and the names of game messages as you type, checks the fields you put in a message, and counts errors across every file of the package. Its Game panel shows the map viewer (Atlas) and the game data browser (Datacenter) next to your code. Create a package gives a tour of it, and The editor covers every feature. Run Run, in the editor, saves your package and starts it on a connected bot you pick, replacing whatever that bot was playing. Change a line, click Run, watch the bot: that's the loop you'll repeat most. Identify and run explains it. The bot's Console and Problems On a bot's page, the Console tab shows what your script writes with botDebug(), botInfo(), botWarn() and botError(). Those lines are mixed with Asterobot's own messages about the bot and, when Live chat is on, with the game chat. When the console gets busy, keep only Script in Sources. When a script stops because of an error, The behavior stopped with an error appears at the top of the bot's page, whichever tab is open, with the complete error text and a Copy button. See Console and Logging and debugging. Server > Console What a script writes with asterobot:console doesn't appear on the bot's page. It goes to Asterobot's own log, which you read in Server > Console and in the terminal where Asterobot runs. Those lines don't say which bot wrote them. By default, debug lines are left out: to see them in Server > Console, set Server level to DEBUG. Status and console describes the page. The Network tool On a bot's page, Tools > Network shows the messages going through the bot. It's how you find out which messages the game uses for something, and what they contain. It has three tabs: Tab What it's for Traffic The live list of messages, oldest first. Click a message to see its fields. Send a game message Sends one message by hand, from a form built from the message's fields, the same way send() sends it from a script. Settings Chooses which messages Traffic shows. Nothing is shown until you select some and click Apply. What you select in Settings only changes what Asteroboard shows. A script receives every message, whatever is selected. Network traffic, Send messages by hand and Finding messages go further. Game data and SQL Messages are full of ids: items, monsters, maps. To find out what an id stands for, open the game version's page from Game Manager and go to its Game data tab. Search finds records by name, Tables lets you browse them, and SQL runs read-only queries, the same kind a script runs with query() from asterobot:gamedata. Try a query there before you put it in a script. See Game data, SQL and, for scripts, Game data overview. The Dofus protocol reference The Dofus protocol reference on asterobot.net describes the game's messages and their fields. Keep it open while you write. Inline scripts For a quick test that doesn't deserve a package, a bot can run code you paste: On the bot's page, open the menu next to Play. Choose Load a new package. Select Inline script and paste your code. Click Load a new package at the bottom of the dialog, then click Play. Load a package and play it, in the same menu, opens the same dialog and starts the script as soon as it's loaded. An inline script is a single file that isn't saved anywhere. It can import the asterobot: modules but no other file, it can't be opened in the editor, and its settings don't appear on the bot's Settings tab. Loading one stops whatever script the bot was running. Run a package covers loading in detail. Ready to write something? Start with Create a package.
-
How bots talk to Dofus
Dofus and the game servers talk by exchanging messages, and a bot talks to them the same way. A script is the part that decides what to send and what to do with what arrives. The words introduced here come back throughout the developer docs. Messages, names and fields A message is one piece of data sent between Dofus and a game server: a line of chat, a character moving, the contents of an inventory. Every message has a name and fields. When someone speaks in chat, a script receives something like this: { type: "ChatChannelMessageEvent", direction: "inbound", kind: "event", payload: { channel: "GLOBAL", senderName: "Airelle", senderCharacterId: 123456789012n, content: "Anyone up for a dungeon?", // ...and the other fields of the message }, // ...and a few more properties } type is the message's name and payload holds its fields. The other properties say which way the message travelled and what kind of message it is. The game's definitions write field names with underscores, like sender_name. Scripts read them in camelCase, like senderName, and can use either spelling when they send a message. The Dofus protocol reference lists every message, its fields and what they mean. Requests, events and responses Most names follow Ankama's own convention: what the Dofus client sends ends in Request, and what the server sends ends in Event. The kind of a message tells you the same thing more precisely: kind Sent by What it is request The client Something the client asks for or does event The server Something the server tells the client, on its own or in answer to a request response The server The answer to one of the rare requests that expect one, matched to it by a number called uid unknown Either side A message whose kind Asterobot couldn't read The detail that matters most: the game answers most requests with an event, not a response. When your character says something, the answer is the same ChatChannelMessageEvent that everyone on the channel receives, your own line included. So a script that sends a request usually waits for an event, and starts waiting before it sends. Send messages shows how. Directions A message is inbound when it travels from the game server towards the client, and outbound when it travels from the client towards the server. Handlers registered with on() only receive inbound messages. Handlers registered with onTraffic() receive both. Where your script sits Full socket mode The bot is the Dofus client. Asterobot signs in, chooses the game server and opens the game connection. From there it's up to the script, starting with identifying the bot. Your script ↔ Asterobot Asterobot ↔ Game server (game connection) MITM mode MITM stands for man-in-the-middle. You play Dofus as usual, and the bot relays your game session between your Dofus client and the game server. Your script sits in the middle with it: Your Dofus client ↔ Asterobot and your script Asterobot and your script ↔ Game server A script there sees what your client sends and what the server answers. It can send messages to the server as if your client had sent them, send messages to your client as if the server had, and change or drop messages on their way through. Two things are different for a script on a MITM bot. The session is already identified when the script starts, because your client did it. And you're playing the same character: nothing stops you and the script from acting at the same time, so a script that moves your character competes with you. session.shared is true on such a session, so a script can check. Full socket mode and MITM mode describe both modes from the player's side, and Sessions describes them from the script's side. Readable names On the wire, Dofus 3 doesn't send names like ChatChannelMessageEvent. Its messages carry short scrambled names, and those change between game versions. Asterobot translates them, so scripts work with readable names. In a traffic object, type holds the readable name and wireType the scrambled one. Not every message has a readable name yet. When Asterobot can't name a message, its type is empty. The bot's Network tool marks such a message Schema when its fields can still be read, and Raw when only its bytes can. A script can only send messages that have a readable name. Every property of a traffic object is described in Traffic, and After a game update explains what changes for scripts when Ankama patches the game. Next, see Your toolbox.
-
The JavaScript you need
Scripts are plain JavaScript. These docs don't teach the language, but four ideas come up on almost every page, so each one gets a short explanation here and a link to a proper tutorial. Why JavaScript There's nothing to install and nothing to build. You write a package's code in Asteroboard's editor, which completes Asterobot's functions and the names of game messages as you type, and Asterobot runs the files as they are. Files must end in .js or .mjs, so TypeScript isn't an option. If JavaScript is new to you, javascript.info and the MDN JavaScript Guide are both good places to learn it. Modules Every file of a package is a module. A module brings in what it needs with import and makes things available with export. Asterobot starts a script by calling the function that index.js exports as its default export: import { botInfo } from "asterobot:bot"; export default async function behavior() { botInfo("The script started"); } Imports have to be import statements. Calling import() as a function is refused when the script runs, and require() doesn't exist. MDN explains JavaScript modules in detail. Promises, async and await Anything that involves the game takes time, so most of Asterobot's functions return a promise: sending a message, waiting for one, sleeping, most game data lookups. Inside an async function, await pauses your function until the promise settles. The rest of the bot doesn't pause with it: message handlers keep running while you wait. Code that runs without an await does hold everything up, and Asterobot ends a script whose code runs for more than 250 ms in one go. A promise that rejects without a catch ends the script too, so wrap the awaits that can fail in try/catch. Async and timing has the details. The default export has to be an async function, or a function that returns a promise. MDN has good pages on using promises and async functions. BigInt Some message fields hold 64-bit integers, such as account ids, character ids or kamas. A regular JavaScript number can't store all of those exactly, so scripts receive them as BigInt values, written with an n at the end: const id = traffic.payload.senderCharacterId; // for example 123456789012n if (id === 123456789012n) { // A BigInt compares with another BigInt, not with a number. } You can't mix a BigInt and a number in one calculation: 1n + 1 throws a TypeError. Convert with Number(value) when you know the value is small enough, or keep working in BigInt. When you send a message, a 64-bit field accepts a BigInt, a string of digits, or a whole number no bigger than Number.MAX_SAFE_INTEGER. Settings are the exception: a setting declared as int is a regular number. MDN's page on BigInt covers the rest. Uint8Array Raw bytes come as Uint8Array values: message fields that hold bytes, and traffic.rawAny, the undecoded bytes of any message. A first script rarely needs them. What's different from a browser or Node.js Scripts run inside Asterobot's JavaScript engine. The syntax is modern: classes with private fields, optional chaining (?.), ??=, spread, generators, top-level await and BigInt all work. What surrounds the language is much smaller than in a browser or in Node.js: Elsewhere In a script console.log() botInfo() from asterobot:bot, or log() from asterobot:console setTimeout(), setInterval() await sleep(milliseconds) from asterobot:timers fetch(), sockets Not available window, document Not available require(), process, npm packages Not available import() called as a function Refused when the script runs async function*, for await (... of ...) Not supported. The editor puts a warning on them. JavaScript support has the complete list.
-
What scripts can do
A script is the JavaScript code inside a package. When a bot plays a package, Asterobot runs that code for the bot, right next to the bot's connection to the game. Read this before your first script: it saves you from looking for things that don't exist. One copy per bot Every bot that plays a package runs its own copy of the script. Two bots playing the same package share no variables, a script can't see or control another bot, and stopping one bot's script leaves the others running. The code runs inside Asterobot, on the computer where Asterobot runs. Asteroboard only shows you what happens, so closing it doesn't stop a script. What a script can do Everything a script can do comes from the built-in modules it imports: To Use From React to messages the game server sends on(), wait() asterobot:protocol See every message, in both directions onTraffic() asterobot:protocol Send messages send(), request() asterobot:protocol Change or block messages on their way through intercept() asterobot:protocol Read game data: items, monsters, maps, game texts text(), record(), table(), find(), search(), query() asterobot:gamedata Show settings on the bot's page and read them export const parameters, values, onChange() Your index.js, and asterobot:parameters Show buttons on the bot's page export const actions Your index.js Write to the bot's console botDebug(), botInfo(), botWarn(), botError() asterobot:bot Write to Asterobot's own log debug(), log(), info(), warn(), error() asterobot:console Read the session: game ticket, server, language, why the script started session asterobot:bot Know where the character stands: its map, its cell and the actors around it currentMap() asterobot:bot Find the route the Dofus client would walk to a cell of a map, and how long walking it takes findPath() asterobot:pathfinding Work out a cell's grid position, or the distance and the direction between two cells cellToPoint(), pointToCell(), distance(), direction() asterobot:pathfinding Walk the character to a cell of its map, and wait for the end of the walk move() asterobot:movement Pause for a while sleep() asterobot:timers Close the bot's game connection disconnect() asterobot:bot Read the name, version and permissions of your package or of one of its dependencies packages.info() asterobot:runtime In MITM mode (man-in-the-middle: the bot relays the game session of a Dofus client that someone plays), the same functions work on that session. A script sees what the Dofus client sends and what the server answers. It can send messages to the server as if the client had sent them, or to the client as if the server had, and it can change or drop messages before they reach the other side. The reference describes every function, one page per module. What a script can't do Some things you'd expect from JavaScript elsewhere aren't there, and a package can't add them. Not available Use instead Reading or writing files Nothing. A script only has the modules of its own package and of the packages it depends on. The internet: fetch(), sockets, HTTP requests Nothing. The bot's game connection is the only connection a script talks through. npm packages and require() import from the asterobot: modules, from your package's own files, or from library packages your package declares as dependencies. setTimeout() and setInterval() await sleep(milliseconds) from asterobot:timers. The global console The console functions of asterobot:bot or asterobot:console, imported like anything else. window, document, process and the other browser or Node.js globals Nothing. Scripts also run within limits. For example, code that runs for more than 250 ms without awaiting anything ends the script. Limits lists them all. No built-in moves or fights There's no built-in function that walks to another map, harvests a resource or plays a fight. A script plays Dofus the way the Dofus client does: it sends the messages the client would send and reacts to what the server sends back. The Dofus protocol reference describes those messages, and How bots talk to Dofus explains how they work. Walking inside a map is built in. move() walks the character to a cell of its map and waits for the end of the walk, on both kinds of bot. currentMap() says where the character and the other actors stand, and findPath() gives the route the Dofus client would take and how long the walk lasts. Full socket scripts identify the bot In Full socket mode, Asterobot signs in with the Ankama account, picks the game server and opens the game connection. Then it stops. It doesn't identify the bot on the game server and doesn't choose a character: that's the script's job. Its first message on a new connection must be IdentificationRequest, and Identify and run shows the few lines that send it. Every sample in these docs includes them, so each one works in both modes. A MITM bot doesn't need them. The Dofus client has already identified the session when the script starts, and the same lines skip the identification there. Note Coming soon. Ready-made basic and full connection scripts will take a Full socket bot into the game for you. Until they're available, a Full socket bot goes only as far as your own script takes it. Next, read The JavaScript you need, or go straight to Create a package if you'd rather start typing.
-
asterobot.net
Asterobot se connecte avec votre compte asterobot.net, et c'est aussi sur le site que vous demandez de l'aide. Pourquoi ai-je besoin d'un compte asterobot.net ? Parce qu'Asterobot se connecte avec, et vous ne pouvez pas ajouter de bot tant qu'il n'est pas connecté. Asterobot télécharge aussi les paquets du marché avec ce compte, et il vous en faut un pour écrire sur le forum. Créez-le sur https://asterobot.net. Consultez Créer un compte asterobot.net. Asterobot me demande-t-il mon mot de passe asterobot.net ? Non. Vous ne le saisissez jamais ailleurs que sur asterobot.net. Asterobot obtient un code de connexion, vous confirmez ce code sur le site, et Asterobot garde ensuite sa propre connexion. Consultez Se connecter avec asterobot.net. Où trouver le lien de connexion ? À trois endroits : 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. ; dans l'onglet de navigateur qu'Asterobot ouvre tout seul, pour le premier code uniquement ; derrière le bouton de compte en bas de la barre latérale d'Asteroboard, qui affiche alors Connexion en attente. Consultez Se connecter avec asterobot.net. Mon code de connexion a expiré. Que faire ? Attendez quelques minutes : Asterobot demande un nouveau code tout seul. Un code est valable 15 minutes, et une fois qu'il a expiré, le terminal affiche Sign-in was not completed in time; it will be offered again. Le bouton de compte ouvre alors le nouveau lien. Pour obtenir un nouveau code tout de suite, rechargez Asteroboard, et cliquez sur Se connecter si le bouton de compte l'affiche. Consultez Se connecter avec asterobot.net. Où est le code que demande la page Connect a device ? Dans le lien de connexion, après code= : huit caractères, des chiffres et des lettres de A à F. Ouvrir le lien complet le remplit pour vous. La page Connect a device apparaît quand l'adresse a été ouverte sans lui, et sur cette page, les espaces, les tirets et les minuscules n'ont pas d'importance. Consultez Se connecter avec asterobot.net. Que signifie « Too many incorrect codes have been entered » ? Que 20 codes erronés ont été saisis depuis votre connexion en l'espace de 15 minutes. Patientez : vous pourrez de nouveau saisir des codes au plus tard 15 minutes après le dernier code erroné. La prochaine fois, ouvrez le lien depuis le bouton de compte plutôt que de saisir le code, car le lien le contient. Consultez Problèmes de connexion aux comptes. Puis-je me connecter depuis mon téléphone ? Oui. Activez website.showQRCode dans Serveur > Config, attendez le code suivant et scannez le QR code qu'affiche le terminal. C'est pratique quand Asterobot tourne sur une machine sans navigateur. Consultez Se connecter avec asterobot.net. Pourquoi Asterobot me demande-t-il de me reconnecter ? Parce qu'asterobot.net n'accepte plus la connexion d'Asterobot, par exemple parce qu'elle a expiré ou a été révoquée. Asterobot l'oublie alors et lance aussitôt une nouvelle connexion : le terminal affiche un avertissement comme Website rejected the token, et le bouton de compte passe sur Connexion en attente. Confirmez le nouveau code. Consultez Se connecter avec asterobot.net. La connexion est-elle partagée entre mes appareils ? Oui, car elle appartient à Asterobot, pas à votre navigateur. Tous les Asteroboard connectés au même Asterobot affichent le même compte, et se déconnecter depuis l'un d'eux déconnecte Asterobot pour tous. Être connecté à asterobot.net dans votre navigateur ne connecte pas Asterobot. Consultez Votre compte. Comment me déconnecter, ou changer de compte ? Cliquez sur le bouton de compte, puis sur Se déconnecter, et confirmez. Asterobot ne se reconnecte pas tout seul ensuite, pas même quand il redémarre, et s'il démarre alors qu'il est déconnecté, il ignore tous les bots enregistrés. Pour changer de compte, déconnectez Asterobot, vérifiez que votre navigateur est connecté à asterobot.net avec l'autre compte, puis cliquez sur Se connecter sur le bouton de compte et confirmez le nouveau code. Consultez Votre compte. Pourquoi la page Compte affiche-t-elle Non connecté ? Soit Asterobot n'est vraiment pas connecté, et le bouton de compte affiche Se connecter, soit Asteroboard n'a pas pu charger vos informations depuis asterobot.net, et le bouton affiche Connecté sans votre nom. Dans le second cas, l'appareil sur lequel vous utilisez Asteroboard doit pouvoir joindre asterobot.net : vérifiez son accès à internet et la page d'état. Consultez Votre compte. Comment savoir si asterobot.net est en panne ? Regardez la page d'état, https://status.asterobot.net, également accessible depuis la page À propos d'Asteroboard. Vérifiez-la en premier quand les codes de connexion ne passent pas ou que les aperçus du marché échouent. Consultez Messages et mises à jour. Où obtenir de l'aide ? Sur le forum et sur Discord, et des guides sont disponibles sur https://asterobot.net/help. Indiquez vos versions d'Asterobot et d'Asteroboard, la façon dont votre bot se connecte, ce que vous avez fait et le texte exact de l'erreur. Consultez Obtenir de l'aide. Que ne dois-je jamais partager quand je demande de l'aide ? Vos mots de passe, config.toml et le website.token qu'il contient, accounts.toml, les profils de navigateur de connexion, le dossier de données d'Asterobot, le lien que vous copiez pendant une connexion Ankama manuelle et le ticket de jeu d'une session. Quiconque obtient l'un d'eux peut utiliser vos comptes. Consultez Obtenir de l'aide. Où trouver les notes de version d'Asteroboard ? Sur https://asterobot.net/release-note-asteroboard. Le numéro de version en haut de la barre latérale d'Asteroboard y renvoie. Consultez Messages et mises à jour.
-
Asteroboard et réseau
Asteroboard communique avec Asterobot par le réseau, même quand les deux sont sur le même ordinateur. Asteroboard affiche Serveur déconnecté. Que dois-je vérifier ? D'abord, qu'Asterobot est bien lancé : sa fenêtre de terminal doit être ouverte. Ensuite, qu'Asteroboard utilise la bonne adresse. Ouvrez Préférences, regardez URL du serveur, qui vaut http://127.0.0.1:8080 par défaut, et cliquez sur Tester la connexion. Ouvrir l'adresse d'Asterobot lui-même dans le navigateur règle aussi URL du serveur pour vous. En attendant, Asteroboard continue d'essayer de se reconnecter tout seul. Consultez Asteroboard ne se connecte pas. Comment Asteroboard sait-il où se trouve mon Asterobot ? Il garde l'adresse comme URL du serveur, dans votre navigateur. Quand vous ouvrez l'adresse d'Asterobot, comme http://127.0.0.1:8080, Asterobot redirige le navigateur vers https://asteroboard.asterobot.net avec cette adresse jointe, et Asteroboard l'enregistre. Chaque navigateur garde la sienne. Consultez Comment les parties communiquent. Asteroboard a-t-il besoin d'une connexion internet ? Seulement pour se charger la première fois. Ensuite, il s'ouvre sans connexion internet, tant qu'il peut joindre votre Asterobot. Quelques éléments viennent quand même d'internet, comme votre nom et votre avatar asterobot.net sur la page Compte. Consultez Les trois parties. Asterobot a-t-il besoin d'une connexion internet ? Oui, pour tout ce qui implique Ankama ou asterobot.net. Asterobot contacte les serveurs d'Ankama pour télécharger les versions de jeu, connecter les comptes et jouer, et asterobot.net pour se connecter, installer des paquets et confirmer votre compte. Quand il n'a pas pu joindre asterobot.net depuis plus d'une heure, il refuse d'ajouter un bot ou d'en connecter un en mode Full socket, et Connecter affiche this installation is not entitled to start bots. Consultez Comment les parties communiquent et Plusieurs bots. Puis-je utiliser Asteroboard sur mon téléphone ? Oui, sur votre réseau domestique, une fois qu'Asterobot sert du HTTPS derrière un mot de passe. Dans Serveur > Config, renseignez server.basicAuth, activez server.tls et réglez server.listenAddress sur 0.0.0.0:8080, puis redémarrez Asterobot et autorisez le port 8080 dans le pare-feu. Sur le téléphone, ouvrez https:// suivi de l'adresse de l'ordinateur et de :8080, acceptez l'avertissement de certificat et saisissez le mot de passe. Le HTTPS et le mot de passe empêchent le mode MITM (de l'anglais man-in-the-middle, « homme du milieu ») de fonctionner. Consultez Asteroboard sur un autre appareil. Pourquoi mon téléphone n'arrive-t-il pas à joindre http://192.168.1.20:8080 ? Parce que les navigateurs n'autorisent pas la page d'Asteroboard, qui arrive en HTTPS, à envoyer de simples requêtes http://, sauf vers l'appareil sur lequel tourne le navigateur. C'est pour cela que http://127.0.0.1:8080 fonctionne sur l'ordinateur d'Asterobot alors qu'une adresse réseau ne fonctionne pas. Utilisez le HTTPS sur Asterobot, ou un tunnel SSH. Consultez Asteroboard sur un autre appareil. Pourquoi mon navigateur affiche-t-il un avertissement sur le certificat d'Asterobot ? Parce qu'Asterobot génère son propre certificat quand vous activez server.tls. Aucune autorité reconnue par votre navigateur ne l'a signé, et il ne couvre que localhost, 127.0.0.1 et ::1, donc les navigateurs affichent un avertissement la première fois et signalent qu'il ne correspond pas à une adresse comme 192.168.1.20. Vérifiez que l'adresse est bien celle de votre Asterobot, puis continuez vers le site. Le certificat est valable 3 ans et Asterobot ne le renouvelle pas. Consultez Asteroboard sur un autre appareil. Pourquoi Asteroboard reste-t-il déconnecté après que j'ai saisi une adresse https dans Préférences ? Parce que l'avertissement de certificat et la demande de mot de passe n'apparaissent que sur une page que vous ouvrez vous-même, jamais pour les requêtes d'Asteroboard. Ouvrez d'abord l'adresse dans le navigateur, acceptez le certificat et saisissez le mot de passe : Asteroboard se connecte alors. Consultez Asteroboard sur un autre appareil. Pourquoi le mode MITM ne fonctionne-t-il plus depuis que j'ai activé le HTTPS ou un mot de passe ? Parce que le mode MITM ne fonctionne pas tant que server.tls est activé ou que server.basicAuth est renseigné : Dofus ne peut alors plus récupérer ses paramètres de connexion auprès d'Asterobot. Remettez ces deux réglages à leurs valeurs par défaut, redémarrez Asterobot, et accédez-y plutôt depuis les autres appareils par un tunnel SSH. Consultez Mode MITM. Puis-je accéder à mon Asterobot depuis l'extérieur de chez moi ? Oui. Préférez un tunnel SSH : Asterobot continue d'écouter uniquement sur son propre ordinateur, rien de nouveau n'est ouvert sur internet, et le mode MITM continue de fonctionner. Vous pouvez aussi ouvrir le port, avec server.basicAuth et server.tls, mais jamais sans les deux. Consultez Asterobot sur une machine distante. Puis-je faire tourner Asterobot sur un serveur ou un Raspberry Pi ? Oui. Asterobot n'a pas besoin d'écran, et il existe des versions Linux pour les processeurs x86-64 et ARM64. Vous le connectez à asterobot.net avec le lien qu'il affiche ou avec un QR code, vous accédez à Asteroboard par un tunnel SSH, et vous le gardez lancé avec tmux, screen ou un service système. Consultez Asterobot sur une machine distante. Puis-je jouer à Dofus sur un ordinateur et faire tourner Asterobot sur un autre ? Oui, en mode MITM. Sur l'ordinateur qui fait tourner Asterobot, ouvrez ses ports à l'ordinateur de Dofus. Sur l'ordinateur de Dofus, modifiez vous-même la ligne ConfigUrl du fichier version, puisqu'Asterobot ne peut modifier que les fichiers de son propre ordinateur, et remettez-la vous-même en place quand vous avez terminé. Consultez MITM sur plusieurs machines. Quels ports Asterobot utilise-t-il ? Port À quoi il sert 8080 Asteroboard, et en mode MITM, les paramètres de connexion que récupère Dofus 5555 Mode MITM : la connexion de votre jeu. Ouvert seulement pendant qu'un bot attend. 5556 Mode MITM : votre session de jeu. Ouvert seulement pendant qu'un bot attend. Par défaut, tous les trois n'acceptent que les connexions venant de l'ordinateur d'Asterobot lui-même. Consultez Comment les parties communiquent. Et si le port 8080 est déjà utilisé ? Asterobot s'arrête juste après son démarrage, avec An error occurred during the server's initialization process, par exemple parce qu'une autre copie d'Asterobot tourne déjà. Asteroboard ne peut pas changer le port tant qu'Asterobot n'est pas lancé, donc modifiez config.toml : sous [server], réglez listenAddress sur un autre port, comme 127.0.0.1:8081, puis lancez Asterobot et ouvrez cette adresse. Consultez Comment les parties communiquent. Plusieurs appareils peuvent-ils utiliser le même Asterobot ? Oui. Tous les Asteroboard connectés au même Asterobot affichent les mêmes bots, la même bibliothèque et le même compte asterobot.net, puisque tout cela se trouve dans Asterobot. Chaque navigateur garde ses propres préférences et sa propre URL du serveur. Consultez Comment les parties communiquent. Un seul Asteroboard peut-il contrôler plusieurs Asterobot ? Un à la fois. Un navigateur ne garde qu'une seule URL du serveur, donc pour changer, ouvrez l'adresse de l'Asterobot voulu, ou saisissez-la dans Préférences. Consultez Préférences. Qui peut contrôler mon Asterobot ? Toute personne qui atteint son port. Asterobot n'a pas de comptes utilisateur à lui, donc quiconque y accède peut utiliser vos bots et vos comptes Ankama, lire tous les réglages et l'éteindre. Par défaut, seul l'ordinateur d'Asterobot lui-même peut l'atteindre. Lisez Sécurité avant de l'ouvrir à quoi que ce soit d'autre. Asteroboard affiche une ancienne version ou se comporte bizarrement après une mise à jour. Que faire ? Utilisez Réinitialiser les données hors ligne, dans la section Zone dangereuse de Préférences. Cela supprime la copie d'Asteroboard que garde votre navigateur et la télécharge à nouveau, sans toucher à Asterobot. Consultez Préférences.
-
Scripts
Les questions qu'on se pose en écrivant des paquets. La documentation développeur couvre chaque sujet en détail. Dans quel langage les scripts sont-ils écrits ? En JavaScript. Chaque fichier d'un paquet est un module ES, et les scripts peuvent utiliser la syntaxe JavaScript jusqu'à ES2022, à trois constructions près : les générateurs asynchrones, for await et import() appelé comme une fonction. Consultez Prise en charge de JavaScript. Puis-je écrire mes scripts en TypeScript ? Non. Les fichiers d'un paquet doivent se terminer par .js ou .mjs. Vous avez quand même des types : l'éditeur vérifie votre JavaScript comme TypeScript le ferait, et des commentaires JSDoc comme /** @type {BehaviorParameters} */ apportent complétion et vérifications à votre propre code. Consultez Prise en charge de JavaScript. Puis-je utiliser des paquets npm ? Non. Il n'y a ni npm ni require(), et un import comme "lodash" est lu comme une dépendance que votre paquet n'a pas déclarée, donc le script ne se charge pas. Pour réutiliser du code, importez vos propres fichiers avec des chemins commençant par ./, ou faites de ce code un paquet à vous et déclarez-le comme dépendance. Consultez Modules et imports et Dépendances. Existe-t-il setTimeout ou setInterval ? Non. sleep() de asterobot:timers est le seul minuteur : await sleep(1500) met votre fonction en pause pendant 1,5 seconde sans bloquer le bot. Pour une tâche qui se répète, écrivez une boucle contenant await sleep() et lancez-la depuis la fonction d'entrée sans l'attendre. Pour tout ce que le jeu annonce, un gestionnaire de message vaut mieux qu'une boucle. Consultez Asynchrone et délais. Un script peut-il utiliser internet ? Non. Il n'y a ni fetch(), ni WebSocket, ni aucune autre connexion en dehors de la connexion au jeu du bot. Consultez Ce que peuvent faire les scripts. Un script peut-il lire ou écrire des fichiers ? Non. Un script n'atteint que les modules de son propre paquet et des paquets dont il dépend. Il n'a nulle part où garder des données pour sa prochaine exécution non plus : chaque démarrage repart de zéro, et values est en lecture seule. Ce dont un script a de nouveau besoin doit venir du jeu, ou d'un réglage que quelqu'un remplit. Consultez Lancer, arrêter et recharger. Deux bots peuvent-ils partager des données ? Non. Chaque bot fait tourner sa propre copie du script, et deux copies ne partagent aucune variable. Un script ne peut pas non plus voir ni contrôler un autre bot. Consultez Ce que peuvent faire les scripts. Où trouver les noms et les champs des messages ? À trois endroits : La référence du protocole Dofus décrit chaque message et la signification de ses champs. L'éditeur de paquets complète les noms de messages et les champs du contenu pendant la saisie, et signale un champ qu'un message n'a pas. Outils > Réseau, sur un bot, montre les messages que le jeu échange réellement, avec leurs valeurs. Sur un bot MITM (de l'anglais man-in-the-middle, « homme du milieu »), faites l'action dans Dofus et regardez ce qui passe. Les scripts lisent les noms de champs en camelCase, comme senderName pour sender_name. Consultez Trouver les messages. Existe-t-il des fonctions pour se déplacer, combattre ou récolter ? Non. Un script joue comme le client Dofus : il envoie les messages du jeu et réagit à ce que le serveur répond. Les données de jeu aident pour le reste, par exemple pour trouver quelles cartes contiennent une ressource donnée. Consultez Ce que peuvent faire les scripts. Pourquoi mon script ne fait-il pas entrer mon bot Full socket en jeu ? Parce qu'un script Full socket doit identifier le bot lui-même. Son premier message sur une nouvelle connexion doit être IdentificationRequest, envoyé quand launch.reason vaut "initial", et choisir un personnage puis entrer en jeu sont aussi à la charge des scripts. Identifier et lancer montre les lignes qu'utilisent tous les exemples de cette documentation. Note Bientôt disponible. Des scripts de connexion prêts à l'emploi seront disponibles pour que vous les lanciez et les réutilisiez, afin qu'un paquet puisse dépendre de l'un d'eux au lieu de faire l'identification lui-même. En attendant, gardez l'identification dans votre propre code, avec les lignes que montre Identifier et lancer. Sur quel bot tester mes scripts ? Un bot MITM sur votre propre client Dofus. Vous provoquez vous-même les événements en jeu et regardez le script réagir, et aucun compte Ankama n'a besoin d'être enregistré. Gardez à l'esprit que tout ce que le script envoie part au nom de votre personnage. Consultez Identifier et lancer. Comment relancer un script après avoir modifié son code ? Cliquez sur Lancer dans l'éditeur, ou sur Arrêter puis Lancer sur la page du bot. Il n'y a pas de bouton Recharger. Enregistrer ne suffit pas à modifier un script déjà en cours : c'est le prochain démarrage qui charge ce que vous avez enregistré. Consultez Lancer, arrêter et recharger. Comment déboguer un script ? Commencez par la console du bot : Vérifiez le badge d'erreur de l'éditeur avant de lancer le script. Écrivez dans la Console du bot avec botInfo() et les autres fonctions de asterobot:bot, et ne gardez que Script dans Sources. Quand le script s'arrête sur une erreur, Le comportement s'est arrêté sur une erreur apparaît en haut de la page du bot, avec le texte complet et un bouton Copier. Quand un gestionnaire ne semble jamais s'exécuter, regardez ce qui arrive vraiment dans l'outil Réseau. Journalisation et débogage passe en revue toute la démarche. Pourquoi mon journal affiche-t-il map[] au lieu de l'erreur ? Parce qu'Asterobot convertit lui-même en texte les valeurs journalisées, et qu'un objet Error en ressort sous la forme map[]. Journalisez plutôt String(error) ou error.message. Les autres objets ressortent aussi sous la forme map[...] : JSON.stringify() est plus lisible, une fois les valeurs BigInt converties, puisqu'il lève une exception sur elles. Consultez Journalisation et débogage. Pourquoi mon script s'est-il arrêté avec JavaScript execution deadline exceeded ? Une partie de votre code a tourné plus de 250 ms sans rien attendre. Découpez les longs traitements avec un await sleep(0) de temps en temps, et remplacez des milliers d'appels à record() ou text() à la suite par un seul find() ou query(). Consultez Asynchrone et délais. Pourquoi les textes du jeu et les noms d'objets sont-ils en français ? Parce que tout script démarré depuis Asteroboard utilise la langue fr, quelle que soit la langue réglée sur le bot. text() et search() répondent dans cette langue. Pour en lire une autre, interrogez la table _names, qui a une colonne language. Consultez Vue d'ensemble des données de jeu. Un script peut-il modifier ses propres réglages ? Non. values est en lecture seule : affecter une valeur à l'une de ses propriétés lève une TypeError, et le réglage garde sa valeur. Les réglages changent quand quelqu'un les applique dans l'onglet Réglages du bot. Consultez Lire les réglages. Mon script cessera-t-il de fonctionner quand Dofus se mettra à jour ? C'est possible. Tant qu'Asterobot connaît la version de jeu, il conserve des noms de messages lisibles quand les noms brouillés qui circulent sur le réseau changent. Mais un patch peut ajouter, supprimer ou modifier des messages, une mise à jour d'Asterobot peut renommer un message, et les tables et colonnes des données de jeu suivent la version de jeu. Lisez les champs avec ?., donnez un délai maximal à chaque wait(), et vérifiez votre script après chaque mise à jour. Consultez Après une mise à jour du jeu. Existe-t-il des exemples de scripts ? Oui. Les tutoriels sont de petits scripts complets à copier et à adapter, et les exemples de toute la documentation développeur fonctionnent aussi bien sur les bots Full socket que sur les bots MITM.
-
Paquets et marché
Les paquets sont ce que font tourner les bots. Vous les trouvez sur le marché ou vous les écrivez vous-même. Qu'est-ce qu'un paquet ? Le code qui dit à un bot quoi faire. Un paquet est un petit ensemble de fichiers JavaScript, souvent accompagné de réglages et de boutons qui apparaissent sur la page du bot. Vous installez les paquets dans votre bibliothèque, puis vous en donnez un à chaque bot. Consultez Qu'est-ce qu'un paquet. Un bot a-t-il besoin d'un paquet ? Pour faire quoi que ce soit en jeu, oui. Un bot MITM (de l'anglais man-in-the-middle, « homme du milieu ») se connecte sans paquet, et vous pouvez déjà lire son chat, son inventaire et ses messages dans Asteroboard. Un bot Full socket a besoin d'un script de connexion rien que pour entrer en jeu. Consultez Qu'est-ce qu'un paquet. Où trouver des paquets ? Sur le marché, la catégorie Library d'asterobot.net : https://asterobot.net/files/category/10-library/. Copiez l'adresse de la page d'un fichier, puis dans Gestionnaire de bibliothèque, cliquez sur Télécharger un paquet, collez-la dans ID ou URL du fichier, cliquez sur Prévisualiser, puis sur Installer. Asterobot doit être connecté à asterobot.net. Consultez Installer depuis le marché. Un paquet du marché est-il sûr ? Asterobot ne peut pas vous le dire. Un paquet tourne avec la session de jeu de votre bot et peut faire tout ce que votre personnage peut faire. La vérification d'Asterobot prouve seulement que les fichiers d'un paquet du marché n'ont pas changé depuis que vous les avez téléchargés, pas que son code est sûr. Avant d'en lancer un, lisez sa page de fichier sur asterobot.net, regardez ses dépendances, lisez le code si vous le pouvez, et gardez la console du bot ouverte la première fois. Consultez Faire confiance à un paquet. Que veulent dire Local, Communautaire et Officiel ? Ils indiquent d'où vient le nom d'un paquet : Badge Nom D'où vient le paquet Local Un nom simple, comme my-harvester Vous l'avez créé, copié ou importé. Seuls les paquets locaux peuvent être modifiés. Communautaire @ suivi de l'auteur, : suivi du titre, comme @some-author:auto-harvest Un fichier du marché publié par un membre d'asterobot.net Officiel @asterobot: suivi du titre Un fichier du marché qu'asterobot.net marque comme officiel Le badge dépend uniquement du nom, donc un paquet importé depuis un fichier .zip peut lui aussi afficher Communautaire ou Officiel. Seul un paquet installé depuis le marché a une ligne Source sur sa page. Consultez Qu'est-ce qu'un paquet. Le badge Officiel garantit-il que le code est sûr ? Non. Il vous indique qui a publié le paquet, pas ce que fait son code, et il ne remplace pas la lecture de la page du fichier. Consultez Le marché. Pourquoi ne puis-je pas télécharger un paquet ? Les deux messages que vous pouvez obtenir ne veulent pas dire la même chose : Vous n'avez pas la permission de télécharger ce fichier. sous la carte d'aperçu : les règles du fichier sur asterobot.net ne permettent pas à votre compte de le télécharger. Il n'y a rien à corriger dans Asterobot. Fichier introuvable, ou vous n'avez pas la permission de le voir. après Prévisualiser : le fichier n'existe pas, le compte ne peut pas le voir, ou Asterobot n'a pas pu interroger asterobot.net, par exemple parce qu'il n'est pas connecté. Vérifiez l'adresse, puis le bouton de compte en bas de la barre latérale. Consultez Le marché. Comment mettre à jour un paquet ? Dans Gestionnaire de bibliothèque, cliquez sur Vérifier les mises à jour, puis sur Mettre à jour vers suivi de la version. La nouvelle version s'installe à côté de l'ancienne, et vos bots continuent de lancer l'ancienne jusqu'à ce que vous les passiez sur la nouvelle. Rien n'est vérifié automatiquement, et seuls les paquets installés depuis le marché peuvent être mis à jour de cette façon. Consultez Mettre à jour les paquets. Est-ce que je perds les réglages du paquet en le mettant à jour ? Non. Les réglages du paquet sont enregistrés pour chaque bot sous le nom du paquet, pas sous sa version, donc un bot passé sur la nouvelle version les conserve. Seul un réglage que la nouvelle version a supprimé, renommé ou changé de type repart de sa valeur par défaut. Consultez Mettre à jour les paquets. Pourquoi un paquet est-il marqué Incompatible ? Le paquet indique avec quelles versions d'Asterobot il fonctionne, et la vôtre n'en fait pas partie. Il reste dans votre bibliothèque mais ne démarre pas. Mettez à jour le paquet, ou Asterobot, jusqu'à ce que les deux correspondent. Consultez Qu'est-ce qu'un paquet. Le bouton Lancer affiche seulement Impossible de démarrer le comportement. Où trouver la raison ? Dans l'onglet Réglages du bot, sous Réglages du paquet. Quand le paquet ne peut pas être chargé, par exemple parce qu'il est incompatible ou que ses fichiers échouent au contrôle d'intégrité avec package source integrity mismatch, Impossible de lire les réglages de ce paquet y apparaît avec la raison. Vérifiez d'abord que le bot est Connecté au serveur de jeu : un paquet ne peut pas démarrer sur un bot qui ne l'est pas. Consultez Erreurs de paquet. Puis-je modifier un paquet téléchargé depuis le marché ? Non. Les paquets du marché sont en lecture seule : Modifier le code n'est pas proposé pour eux, et un paquet dont les fichiers ont été modifiés à la main est refusé. Pour en modifier un, exportez-le avec Exporter et réimportez-le avec Importer un .zip sous un nom local. Cette copie est à vous et vous pouvez la modifier, mais elle ne reçoit plus de mises à jour. Consultez L'éditeur. Plusieurs bots peuvent-ils lancer le même paquet ? Oui. Chaque bot fait tourner sa propre copie du script, avec ses propres réglages du paquet. Consultez Ce que peuvent faire les scripts. Comment donner un paquet à un ami ? Exportez-le en .zip depuis son menu dans Gestionnaire de bibliothèque, et demandez à votre ami de l'ajouter avec Importer un .zip. Un paquet partagé de cette façon n'a aucun lien avec le marché, donc il ne reçoit aucune mise à jour. Pour le partager avec tout le monde, publiez-le. Consultez Partager votre paquet. Comment publier un paquet ? Tout membre d'asterobot.net peut le faire. Exportez votre paquet en .zip, puis soumettez un fichier dans la catégorie Library d'asterobot.net, avec ce .zip comme seule pièce jointe, un titre, qui devient une partie du nom du paquet, et la version de votre paquet. Consultez Avant de publier et Publier sur asterobot.net. Où les paquets sont-ils stockés ? Dans le dossier library/packages/ du dossier de données d'Asterobot, avec un dossier par version. Consultez Fichiers et dossiers.
-
Jeu et mises à jour
Asterobot garde sa propre copie de Dofus, distincte de celle à laquelle vous jouez, et ni cette copie ni Asterobot ne se mettent à jour tout seuls. Pourquoi Asterobot télécharge-t-il Dofus alors que je l'ai déjà ? Parce qu'Asterobot travaille à partir de sa propre copie des fichiers du jeu. Les bots, les scripts et la page du jeu lisent tous les données de jeu, les cartes et les textes depuis cette copie, jamais depuis le Dofus auquel vous jouez. Par défaut, il ne télécharge que les fichiers dont un bot a besoin, pas le jeu entier, et toujours la version Windows. Consultez Pourquoi Asterobot télécharge Dofus. De combien d'espace disque a-t-il besoin ? Cela dépend de la version de Dofus, et Asterobot n'indique pas de total. Quelques tailles, toutes approximatives : 545 Mo pour les illustrations de la carte du monde et 450 Mo pour les données des cartes (mesurées sur Dofus 3.6.10.10), toutes deux incluses dans chaque version de jeu que vous téléchargez, et 900 Mo pour la musique du jeu, seulement si vous la téléchargez depuis l'onglet Musique de la page du jeu. Extraire les données de jeu prend de la place en plus des fichiers. Asterobot ne vérifie pas l'espace libre avant un téléchargement. Quand le disque est plein, le téléchargement s'arrête et son statut passe à Échec. Consultez Pourquoi Asterobot télécharge Dofus. Comment libérer de l'espace disque ? Depuis Gestionnaire de jeux. Supprimer tous les chunks supprime les morceaux stockés à partir desquels les versions de jeu sont reconstruites, au prix d'un prochain téléchargement plus lent. Désinstaller supprime les fichiers d'une version et conserve ses données de jeu extraites, et Supprimer retire complètement la version. Ni Désinstaller ni Supprimer ne vérifient si un bot utilise encore la version. Consultez Gérer les versions de jeu. Dofus vient de recevoir un patch. Que faire ? Téléchargez la nouvelle version de jeu, passez vos bots dessus, puis supprimez l'ancienne : Dans Gestionnaire de jeux, cliquez sur Télécharger un jeu, laissez latest dans Version et la case Extraire les données après le téléchargement cochée, puis cliquez sur Télécharger. Gardez Asteroboard ouvert jusqu'à ce que la nouvelle ligne affiche Prêt pour un bot. Sur chaque bot, cliquez sur Déconnecter, choisissez la nouvelle version dans son onglet Réglages, puis cliquez sur Enregistrer. Une fois que plus aucun bot n'utilise l'ancienne version, supprimez-la ou désinstallez-la. C'est surtout important en mode MITM (de l'anglais man-in-the-middle, « homme du milieu »), où la version de jeu de votre bot doit être la version de Dofus à laquelle vous jouez. Consultez Quand Dofus se met à jour. Pourquoi mon bot MITM refuse-t-il de se mettre en attente après un patch ? Parce que le Dofus auquel vous jouez et la version de jeu de votre bot ne sont plus la même version. Asteroboard affiche Impossible de mettre le bot en attente, sans dire pourquoi. Téléchargez la nouvelle version, passez le bot dessus et cliquez à nouveau sur Commencer l'attente. Quand vos bots utilisent des versions de jeu différentes, gardez-les tous sur la version à laquelle vous jouez. Consultez Mode MITM. Que veulent dire Compatible et Version différente ? Compatible signifie que votre version d'Asterobot a été testée avec cette version de Dofus, et Version différente qu'elle ne l'a pas été. Une version différente n'est pas bloquée, mais les messages du jeu changent d'une version à l'autre, donc un bot sur cette version risque de ne pas se connecter, et ses données de jeu peuvent ne pas correspondre à ce que vous attendez. Consultez Pourquoi Asterobot télécharge Dofus. Que se passe-t-il quand Asterobot ne prend pas encore en charge la nouvelle version de Dofus ? Vos bots risquent de ne pas fonctionner dessus. Vous pouvez voir Version différente dans Gestionnaire de jeux, un bot Full socket qui ne se connecte pas et affiche Impossible de connecter ce bot, un jeu en mode MITM déconnecté dès qu'il atteint le bot, et des scripts qui ne démarrent pas, avec une erreur commençant par the game engine is not available:. Quand la raison vous dit de mettre à jour Asterobot, téléchargez sa nouvelle version. Consultez Quand Dofus se met à jour. Asterobot met-il à jour le Dofus auquel je joue ? Non. C'est l'Ankama Launcher qui met à jour votre Dofus. Asterobot ne suit pas non plus les patchs : chaque patch est une nouvelle version de jeu que vous téléchargez dans Gestionnaire de jeux, et les versions déjà présentes restent telles quelles. Consultez Quand Dofus se met à jour. Puis-je garder plusieurs versions de jeu ? Oui. Chaque version a sa propre ligne dans Gestionnaire de jeux, chaque bot utilise la version réglée sur lui, et les contenus que plusieurs versions ont en commun ne sont stockés qu'une fois. Consultez Gérer les versions de jeu. Comment savoir qu'une nouvelle version d'Asterobot est sortie ? Asterobot interroge asterobot.net à chaque démarrage. Quand une version plus récente est publiée, le terminal affiche An Asterobot update is available, et Asteroboard affiche Mise à jour d'Asterobot disponible avec un bouton Voir sur asterobot.net. Une version publiée pendant qu'Asterobot tourne n'est remarquée qu'à son prochain démarrage. Consultez Messages et mises à jour. Comment mettre à jour Asterobot ? Téléchargez la nouvelle archive, arrêtez Asterobot, remplacez le fichier du programme par le nouveau, puis relancez-le. Sous macOS et Linux, rendez d'abord le nouveau fichier exécutable avec chmod +x asterobot. Vos bots, comptes, paquets, versions de jeu et réglages restent en place, car ils se trouvent dans d'autres dossiers. Après la mise à jour, reconnectez vos bots et regardez la colonne Compatibilité de Gestionnaire de jeux. Consultez Mettre à jour Asterobot. Mes paquets fonctionneront-ils encore après une mise à jour ? Ils peuvent cesser de fonctionner dans deux cas. Un paquet qui indique avec quelles versions d'Asterobot il fonctionne peut passer Incompatible après la mise à jour d'Asterobot, et il ne démarre plus alors. Et un patch de Dofus peut changer les messages sur lesquels repose un script, jusqu'à ce que son auteur l'adapte. Les auteurs peuvent lire Après une mise à jour du jeu.
-
Bots
Comment les bots se connectent, combien vous pouvez en faire tourner, et ce qui leur arrive quand quelque chose s'arrête. Dois-je utiliser le mode Full socket ou le mode MITM ? Commencez par le mode MITM (de l'anglais man-in-the-middle, « homme du milieu »). Vous jouez à Dofus comme d'habitude et le bot rejoint votre session : rien à enregistrer dans Asterobot, aucun script de connexion à trouver, et il fonctionne avec les comptes protégés par Ankama Shield ou l'authentification à deux facteurs. Le mode Full socket sert aux bots qui jouent sans vous et sans fenêtre Dofus, mais chaque bot a besoin de son propre compte Ankama et d'un script de connexion pour entrer en jeu. Consultez Full socket et MITM. Pourquoi mon bot Full socket n'entre-t-il pas en jeu ? Parce que le rôle d'Asterobot s'arrête une fois la connexion au serveur de jeu ouverte. Il connecte le compte, choisit un serveur et se connecte, mais il n'identifie pas le bot auprès du serveur de jeu et ne choisit pas de personnage. C'est le travail d'un script de connexion : un paquet que vous démarrez avec Lancer. Connecté au serveur de jeu signifie seulement que la connexion est ouverte, que le bot soit entré en jeu ou non. Note Bientôt disponible. Des scripts de connexion prêts à l'emploi feront entrer un bot Full socket en jeu. En attendant, utilisez le mode MITM, ou écrivez le vôtre en suivant Identifier et lancer. Mode Full socket l'explique en détail, et Le bot ne se connecte pas couvre les erreurs. Puis-je jouer à Dofus pendant qu'un bot utilise mon compte ? En mode MITM, oui : c'est tout l'intérêt de ce mode. Vous continuez à jouer, et un paquet qui tourne sur le bot contrôle le même personnage que vous, sans rien pour vous coordonner tous les deux. En mode Full socket, non. Un compte Ankama n'a qu'une session de jeu à la fois, et un bot qui se connecte alors que le compte est déjà en jeu échoue avec identification was refused: account already connected elsewhere. Consultez Mode MITM, et pour les auteurs de scripts, Sessions. Asterobot modifie-t-il mon installation de Dofus ? Une seule ligne, et seulement en mode MITM. Asterobot modifie la ligne ConfigUrl de Dofus_Data/StreamingAssets/version, dans votre dossier Dofus, pour que votre jeu se connecte en passant par Asterobot. Il remet la ligne d'origine quand plus aucun bot n'attend et quand Asterobot s'arrête normalement, ou au démarrage suivant après un arrêt brutal, à condition que l'un de vos bots revienne à ce démarrage. Il n'installe ni ne met jamais à jour votre Dofus. Consultez Mode MITM. Dofus ne se connecte plus depuis l'arrêt d'Asterobot. Que faire ? Relancez Asterobot. Tant que cette ligne pointe vers Asterobot, Dofus ne peut pas se connecter sans lui, et Asterobot remet la ligne en place au démarrage, à condition que l'un de vos bots revienne avec lui. Si le journal n'affiche pas Restored a game install left pointing at Asterobot by a previous run, remettez la ligne en place à la main. Consultez Problèmes en mode MITM. Pourquoi mon bot MITM reste-t-il sur En attente de votre client de jeu ? Votre jeu n'atteint pas le bot. Les causes habituelles : Dofus était déjà ouvert quand le bot a commencé à attendre. Fermez-le et relancez-le. botmanager.mitmGamePath est vide ou pointe vers le mauvais dossier. Le journal d'Asterobot affiche Pointed the played game at Asterobot quand il a modifié votre dossier Dofus. Le bot est rattaché à un autre compte Ankama. Il ne prend que les sessions du compte auquel il s'est rattaché la première fois. server.tls est activé ou server.basicAuth est renseigné. Le mode MITM ne fonctionne avec aucun des deux. Consultez Mode MITM et Problèmes en mode MITM. Qu'arrive-t-il à mon jeu quand j'arrête un bot ? Cela dépend du bouton. Arrêter n'arrête que le script du bot, et votre jeu continue. Déconnecter sur un bot MITM met fin à la session qu'il relaie, donc votre Dofus est déconnecté si vous êtes en jeu. Arrêter Asterobot fait la même chose à tous les bots. Consultez Déconnecter, supprimer et redémarrer. Que se passe-t-il quand je quitte Dofus en mode MITM ? Le bot repasse sur En attente de votre client de jeu et prend votre prochaine session tout seul. Le script qu'il faisait tourner s'est arrêté, en revanche : appuyez à nouveau sur Lancer une fois votre jeu revenu. Consultez Mode MITM. Combien de bots puis-je faire tourner ? Autant que votre compte asterobot.net le permet. Chaque bot listé dans Gestionnaire de bots compte, connecté ou non, et au-delà de ce nombre, Ajouter un bot échoue avec Impossible d'ajouter le bot. En mode Full socket, chaque bot a aussi besoin de son propre compte Ankama, et en mode MITM, chaque bot relaie un client Dofus. Consultez Plusieurs bots. Deux bots peuvent-ils utiliser le même compte Ankama ? Non. Un compte Ankama ne peut appartenir qu'à un seul bot, puisque Dofus n'autorise qu'une session de jeu par compte. Ajouter un second bot avec ce compte échoue avec Impossible d'ajouter le bot, et le choisir dans l'onglet Réglages d'un bot est refusé avec this account is already associated with a bot. Enregistrez un compte pour chaque bot Full socket. Consultez Plusieurs bots. Un bot peut-il utiliser les deux modes ? Oui, mais pas en même temps. Un bot avec un compte Ankama propose à la fois Connecter et Commencer l'attente, et un bot sans compte ne peut qu'attendre votre jeu. Déconnectez le bot avant de changer de mode. Consultez Full socket et MITM. Mes bots se reconnectent-ils tout seuls ? Non. Asterobot ne connecte jamais un bot et ne lance jamais un script de lui-même. Après un redémarrage d'Asterobot, tous les bots sont à l'état Déconnecté et rien ne joue. Quand la connexion d'un bot Full socket tombe, cliquez sur Déconnecter, puis sur Connecter, puis sur Lancer. Consultez Déconnecter, supprimer et redémarrer. Mes bots sont-ils conservés quand Asterobot redémarre ? Oui. Chaque bot est enregistré dans bots.toml, avec ses réglages, son paquet, les réglages de son paquet et sa sélection de messages, et revient déconnecté au démarrage d'Asterobot. L'historique de sa console ne revient pas, pas plus qu'un script direct chargé dessus. Consultez Déconnecter, supprimer et redémarrer. Pourquoi un bot manque-t-il après le redémarrage d'Asterobot ? Asterobot l'a ignoré. Cela arrive quand le compte Ankama du bot n'est plus dans Gestionnaire de comptes, quand sa version de jeu n'est plus installée, quand Asterobot n'a pas pu préparer les connexions Ankama, ou quand il n'a pas pu confirmer votre compte asterobot.net dans ses premières secondes. Le terminal affiche un avertissement qui commence par skipping bot restore:, suivi de la raison. La configuration du bot est toujours enregistrée : corrigez la cause et redémarrez Asterobot. N'ajoutez pas de nouveau bot du même nom, qui remplacerait définitivement celui qui est enregistré. Consultez Déconnecter, supprimer et redémarrer. Je joue plusieurs comptes en mode MITM. Quel bot prend quel jeu ? Chaque jeu va au bot en attente rattaché à son compte Ankama. La première fois, un bot sans compte se rattache au premier compte dont il prend la session, dans l'ordre alphabétique des bots en attente, et garde ce rattachement pour de bon. Pour décider quel bot relaie quel compte, mettez un seul bot en attente à la fois et connectez-vous avec le compte que vous voulez lui attribuer. Consultez Plusieurs bots. Puis-je utiliser d'autres ordinateurs ? Oui. Asteroboard peut tourner sur un téléphone ou un autre ordinateur, Asterobot sur un serveur ou un ordinateur devant lequel vous n'êtes pas, et en mode MITM, Dofus peut même être sur un troisième ordinateur. Rien de tout cela ne fonctionne avec les réglages par défaut, qui n'acceptent que les connexions venant de l'ordinateur d'Asterobot lui-même. Comment les parties communiquent présente chaque installation, et Asteroboard et réseau répond aux questions fréquentes.
-
Comptes et sécurité
Lisez ces réponses avant d'utiliser Asterobot avec un compte Ankama auquel vous tenez. Mon compte Ankama peut-il être banni ? Oui. Utiliser un bot enfreint les conditions d'utilisation d'Ankama, et Ankama peut sanctionner les comptes concernés à tout moment. C'est vrai en mode Full socket comme en mode MITM (de l'anglais man-in-the-middle, « homme du milieu »), avec un paquet que vous avez écrit comme avec un paquet du marché. Personne ne peut garantir qu'un compte restera en sécurité, et cette documentation ne donne aucun conseil pour éviter la détection. N'utilisez un compte Ankama avec Asterobot que si vous acceptez ce risque. Le mode MITM est-il plus sûr pour mon compte ? Non. Un bot en mode MITM reste un bot, et il enfreint tout autant les conditions d'utilisation d'Ankama. Ce que change le mode MITM, c'est qui détient vos identifiants : vous vous connectez vous-même, dans Dofus, et vous ne donnez jamais à Asterobot votre identifiant ni votre mot de passe Ankama. Consultez Full socket et MITM. Où Asterobot garde-t-il mon mot de passe Ankama ? Dans un fichier nommé accounts.toml, dans le dossier de données d'Asterobot, en clair, et seulement si vous avez choisi d'en enregistrer un. Il n'est pas chiffré, car Asterobot doit le saisir dans la page de connexion d'Ankama. Le même fichier contient l'identifiant de chaque compte et les jetons qu'Ankama a remis à Asterobot. Sous Linux et macOS, Asterobot restreint le fichier pour que seul votre compte utilisateur puisse le lire. Sous Windows, cette restriction n'a aucun effet. Dans tous les cas, quiconque peut ouvrir des fichiers avec votre utilisateur, ou obtient une copie du fichier, peut lire le mot de passe et utiliser les jetons. Asterobot ne renvoie jamais le mot de passe à Asteroboard. Ajouter un compte donne les détails, et Fichiers et dossiers indique où se trouve le dossier de données. Suis-je obligé d'enregistrer mon mot de passe Ankama ? Non. Le mot de passe ne sert qu'à la connexion automatique. Sans lui, vous connectez vous-même le compte depuis Asteroboard chaque fois que sa connexion cesse de fonctionner, comme le montre Connexion manuelle. Le mode MITM ne demande aucun compte enregistré. Qu'est-ce qui d'autre, sur mon ordinateur, donne accès à mes comptes ? Quelques fichiers et dossiers, à protéger chacun comme un mot de passe : Quoi Où Ce à quoi cela donne accès accounts.toml Le dossier de données Vos identifiants Ankama, les mots de passe que vous avez enregistrés et les jetons d'Ankama zaapmanager/browser-profiles/ Le dossier de données Une session Ankama active pour chaque compte qui s'est connecté automatiquement website.token config.toml, dans le dossier des réglages Votre compte asterobot.net, par la connexion d'Asterobot server.basicAuth config.toml Le port d'Asterobot, avec des mots de passe écrits en clair Sous Linux et macOS, seul votre utilisateur peut les lire. Sous Windows, cette protection n'a aucun effet. Ne partagez jamais aucun d'entre eux, pas même pour obtenir de l'aide : Obtenir de l'aide liste ce qui doit rester privé. Puis-je utiliser un compte protégé par Ankama Shield ou l'authentification à deux facteurs ? Seulement en mode MITM. Le mode Full socket ne prend pas en charge ces comptes : Asteroboard n'a aucun champ pour un code de vérification, et la connexion automatique ne saisit que l'identifiant et le mot de passe. En mode MITM, vous vous connectez vous-même dans Dofus, codes compris, et le bot relaie cette session. Consultez Shield et authentification à deux facteurs. Que se passe-t-il quand Ankama affiche un captcha pendant la connexion automatique ? Asterobot abandonne, et une personne doit se connecter. Vous avez deux solutions : Connectez-vous vous-même depuis la fenêtre de connexion. Cela fonctionne toujours, où que tourne Asterobot. Quand Asterobot tourne sur un ordinateur devant lequel vous êtes, désactivez zaapmanager.browserHeadless dans Serveur > Config, relancez la connexion automatique et répondez au défi dans la fenêtre de navigateur qui s'ouvre. Réactivez ensuite le réglage. Consultez Connexion automatique. Pourquoi Asteroboard n'indique-t-il pas la raison de l'échec de la connexion automatique ? Parce que son message est le même quelle que soit l'erreur, et commence par ankama account authorization required. La vraie raison ne figure que dans le journal d'Asterobot. Dans le terminal ou dans Serveur > Console, cherchez l'avertissement Automatic Ankama sign-in failed, a person has to sign in : son erreur indique ce qui s'est passé. Quand vous avez lancé la connexion depuis le bouton de la fenêtre de connexion elle-même, cette fenêtre affiche aussi une image de la page où se trouvait le navigateur, ce qui permet souvent de distinguer un captcha d'un mauvais mot de passe. Consultez Connexion automatique. Que peut faire un paquet avec mon compte ? Tout ce que votre personnage peut faire en jeu. Le script d'un paquet peut envoyer n'importe quel message au serveur de jeu au nom de votre personnage, pour se déplacer, combattre, échanger, vendre ou supprimer des objets. Il lit tout ce que le jeu envoie, peut lire le ticket de jeu de la session et peut fermer la connexion au jeu. Sur un bot MITM, il peut aussi modifier ou bloquer ce que votre Dofus et le serveur s'envoient. Il ne peut pas lire votre identifiant ni votre mot de passe Ankama, ouvrir des fichiers sur votre ordinateur, utiliser internet ou atteindre vos autres bots. Ne lancez que des paquets d'auteurs en qui vous avez confiance. Faire confiance à un paquet liste tout. Les permissions d'un paquet limitent-elles ce qu'il peut faire ? Pas encore. Un paquet peut lister des permissions dans son manifeste, mais Asterobot ne les applique pas : un paquet qui n'en liste aucune peut quand même faire tout ce qui est décrit ci-dessus. Note Bientôt disponible. Asterobot appliquera les permissions listées par un paquet. En attendant, ne comptez pas sur elles pour limiter ce que fait un paquet. Consultez Faire confiance à un paquet. Que faire si je pense que quelqu'un a utilisé mon Asterobot ? Arrêtez Asterobot, ou remettez server.listenAddress sur 127.0.0.1:8080 et redémarrez-le. Changez ensuite les mots de passe basic auth, cliquez sur Déconnecter pour chaque compte Ankama dans Gestionnaire de comptes, changez les mots de passe Ankama que vous aviez enregistrés, et déconnectez Asterobot d'asterobot.net avant de le reconnecter. Sécurité passe en revue chaque étape, et explique qui peut atteindre Asterobot au départ.
-
Questions générales
L'essentiel : ce qu'est Asterobot, où il fonctionne et ce qui continue de tourner quand vous fermez quelque chose. Qu'est-ce qu'Asterobot ? Asterobot est un programme que vous lancez sur votre propre ordinateur pour faire tourner des bots sur Dofus 3. Un bot se connecte et joue tout seul, en mode Full socket, ou rejoint le jeu auquel vous jouez, en mode MITM (de l'anglais man-in-the-middle, « homme du milieu »). Ce que fait un bot en jeu vient d'un paquet : un petit programme JavaScript issu du marché, ou que vous écrivez vous-même. Asterobot vous permet aussi de parcourir les données de jeu, les cartes et les textes du jeu sans aucun bot. Qu'est-ce qu'Asterobot présente tout cela en détail. Quelle est la différence entre Asterobot, Asteroboard et asterobot.net ? Asterobot est le programme qui fait le travail, Asteroboard est l'interface web depuis laquelle vous le pilotez, et asterobot.net est le site web. Asteroboard s'ouvre à l'adresse https://asteroboard.asterobot.net, mais tout ce qu'il affiche vient directement de votre Asterobot. asterobot.net héberge votre compte, les téléchargements, le marché et le forum. Consultez Les trois parties. Sur quels systèmes Asterobot fonctionne-t-il ? Windows, macOS et Linux, chacun sur processeurs x86-64 (Intel ou AMD) et ARM64. Cela fait six versions du programme, dont une pour les Mac à puce Apple silicon et une pour les cartes ARM comme le Raspberry Pi 4 et 5. Les versions x86-64 demandent un processeur doté du jeu d'instructions x86-64-v2, que possèdent tous les processeurs x86-64 fabriqués depuis 2009 environ. Prérequis liste tout ce dont vous avez besoin par ailleurs. Avec quel Dofus fonctionne-t-il ? Dofus 3. Les bots ne jouent qu'à Dofus 3, et Asterobot télécharge toujours la version Windows des fichiers du jeu, même sous macOS ou Linux. Chaque version d'Asterobot est testée avec une version de Dofus, qu'Asteroboard marque comme Compatible. Pourquoi Asterobot télécharge Dofus explique ce qu'est la version testée. Faut-il avoir Dofus installé ? Seulement pour le mode MITM, où vous jouez vous-même à Dofus et où un bot rejoint votre session. Un bot Full socket n'a besoin d'aucun client Dofus. Dans les deux cas, Asterobot télécharge sa propre copie des fichiers du jeu, distincte du Dofus auquel vous jouez. Full socket et MITM compare les deux modes. Faut-il savoir coder ? Non. Faire tourner un bot en mode MITM, installer un paquet depuis le marché et modifier ses réglages, tout cela se fait dans Asteroboard. Le JavaScript vous sert à écrire vos propres paquets et, pour l'instant, à faire entrer en jeu un bot Full socket. Note Bientôt disponible. Des scripts de connexion prêts à l'emploi feront entrer un bot Full socket en jeu sans que vous ayez à écrire de code. En attendant, utilisez le mode MITM, ou écrivez le vôtre avec Identifier et lancer. Puis-je utiliser Asterobot sans faire tourner de bot ? Oui. Avec une version de jeu téléchargée et extraite, la page du jeu vous permet de parcourir la carte du monde, d'inspecter les cartes cellule par cellule, de chercher dans les données de jeu, de les interroger en SQL, de lire les textes du jeu et d'écouter sa musique. Consultez Page du jeu. Puis-je laisser mes bots tourner toute la journée ? Oui, tant qu'Asterobot reste lancé et que la connexion de chaque bot tient. Asteroboard n'a pas besoin de rester ouvert. Gardez à l'esprit que rien ne se reconnecte ni ne redémarre tout seul : quand la connexion d'un bot tombe, ou quand Asterobot redémarre, c'est à vous de reconnecter le bot et d'appuyer sur Lancer. En mode MITM, chaque session commence aussi par quelqu'un qui lance Dofus. Déconnecter, supprimer et redémarrer couvre chaque cas, et Asterobot sur une machine distante montre comment garder Asterobot lancé sur une machine devant laquelle vous n'êtes pas. Que se passe-t-il si je ferme le navigateur ou Asteroboard ? Rien ne s'arrête. Vos bots restent connectés, leurs scripts continuent de tourner et les téléchargements se poursuivent, car tout cela se passe dans Asterobot. Ce qui n'existait que dans la page disparaît avec elle : les messages capturés par le panneau Trafic d'un bot et les lignes de chat que sa console en tirait, le contenu de l'onglet Inventaire d'un bot jusqu'à ce que le personnage entre à nouveau en jeu, les lignes de Serveur > Console, le choix Extraire les données après le téléchargement d'un téléchargement pas encore terminé, et la musique jouée depuis la page du jeu. Consultez Les trois parties. Que se passe-t-il si je ferme la fenêtre de terminal d'Asterobot ? Asterobot s'arrête, et tout le reste avec lui. Tous les bots se déconnectent, y compris un bot qui relaie le jeu auquel vous jouez, donc votre Dofus est déconnecté lui aussi, et les scripts et les téléchargements s'arrêtent. Pour l'arrêter proprement, appuyez sur Ctrl+C dans son terminal ou cliquez sur Éteindre le serveur dans Serveur > État. Asterobot remet alors aussi en place la ligne qu'il avait modifiée dans votre dossier Dofus pour le mode MITM. Après un arrêt brutal, il remet cette ligne en place à son prochain démarrage, à condition que l'un de vos bots revienne avec lui (Problèmes en mode MITM). Consultez Premier lancement. Asteroboard peut-il relancer Asterobot ? Non. Une fois Asterobot arrêté, il vous faut accéder à l'ordinateur sur lequel il tourne pour le relancer. Entre-temps, Asteroboard affiche Serveur déconnecté, et se reconnecte tout seul dès qu'Asterobot est de retour. Consultez Premier lancement. Asterobot se met-il à jour tout seul ? Non. Quand une nouvelle version sort, Asterobot vous le signale au démarrage, et vous remplacez le programme à la main. Vos bots, comptes, paquets, versions de jeu et réglages sont conservés. Asteroboard, en revanche, se met à jour tout seul. Consultez Mettre à jour Asterobot. Existe-t-il une application ? Asterobot n'a pas de fenêtre à lui : sous Windows, il tourne dans une fenêtre de terminal, et sous macOS et Linux, vous le lancez depuis un terminal. Asteroboard peut s'installer comme une application depuis votre navigateur, et s'ouvre alors dans sa propre fenêtre. Consultez Visite d'Asteroboard. Dans quelles langues Asteroboard est-il disponible ? Anglais, français et espagnol. Il suit la langue de votre navigateur, et démarre en français quand votre navigateur en utilise une autre. Pour la changer, ouvrez Préférences et choisissez-en une sous Langue. Consultez Préférences. Où Asterobot range-t-il ses fichiers ? Dans des dossiers de votre profil utilisateur, pas à côté du programme : un pour ses réglages, avec config.toml, un pour ses données, comme les bots, les comptes Ankama et les paquets, et un pour son cache, qui contient les versions de jeu. Fichiers et dossiers indique où ils se trouvent sur chaque système et comment les sauvegarder. Comment réinitialiser Asterobot ou repartir de zéro ? Choisissez la réinitialisation la plus limitée qui règle votre problème, car chacune supprime quelque chose définitivement. Réinitialiser les données hors ligne et Réinitialiser les préférences, dans Préférences, n'effacent que ce qu'Asteroboard garde dans votre navigateur. Tout rétablir, dans Serveur > Config, remet vos réglages à leurs valeurs par défaut et déconnecte Asterobot d'asterobot.net. cache reset supprime toutes les versions de jeu, et conserve vos réglages, vos bots, vos comptes Ankama et votre bibliothèque. Réinitialiser et repartir de zéro vous aide à choisir.
-
Voir ce que votre jeu envoie
Tout ce que vous faites dans Dofus se traduit en messages entre votre jeu et les serveurs d'Ankama. Ce tutoriel en montre quelques-uns en direct sur le bot MITM (« homme du milieu », de l'anglais man-in-the-middle) de Votre premier bot, pendant que vous vous déplacez et discutez. Aucun paquet n'est nécessaire. Caution Ne cochez pas IdentificationRequest pour ce tutoriel. C'est le premier message qu'envoie votre jeu, et il contient le ticket qui ouvre votre session de jeu : ne partagez jamais de capture d'écran ni de copie de ce message. 1. Mettre votre bot en ligne Sur la page de votre bot, cliquez sur Commencer l'attente. Lancez Dofus depuis l'Ankama Launcher, connectez-vous et entrez en jeu avec votre personnage. L'état du bot passe à Connecté au serveur de jeu. 2. Choisir quelques messages Sur la page du bot, cliquez sur Outils. L'outil Réseau s'ouvre sur son panneau Trafic. Cliquez sur Réglages. La liste contient tous les messages qu'Asterobot sait nommer, avec une case à cocher pour chacun. Tapez MapMovement dans Filtrer les messages..., puis cochez MapMovementRequest et MapMovementEvent. Remplacez le filtre par ChatChannelMessage, et cochez ChatChannelMessageEvent. Si vous avez activé Chat en direct dans Votre premier bot, il est déjà coché. Cliquez sur Appliquer. Le bouton indique combien de messages sont cochés, et une notification confirme combien de types de message le bot renvoie désormais. Message Envoyé par Ce qu'il dit MapMovementRequest Votre jeu Votre personnage demande à marcher le long d'un chemin de cellules. MapMovementEvent Le serveur Quelqu'un sur votre carte marche le long d'un chemin : votre personnage ou un autre. ChatChannelMessageEvent Le serveur Un message de chat vous parvient. 3. Jouer et observer Cliquez sur Trafic. Dans Dofus, cliquez sur une cellule pour vous y déplacer. Une ligne MapMovementRequest marquée Sortant apparaît, suivie d'une ligne MapMovementEvent marquée Entrant. Attendez que d'autres joueurs se déplacent sur votre carte : chacun de leurs déplacements ajoute une ligne MapMovementEvent. Quand un message de chat vous parvient, une ligne ChatChannelMessageEvent apparaît, marquée Entrant. Les nouvelles lignes arrivent en bas, et la liste les suit tant que vous êtes en bas. Pause fige la liste, mais les messages qui arrivent pendant la pause ne sont pas conservés. La couleur de chaque ligne indique le type de message : Trafic réseau explique ces couleurs. 4. Lire un message Cliquez sur une ligne MapMovementEvent. Elle s'ouvre et affiche tous les champs du message en JSON. Trouvez cells : le chemin que parcourt le personnage, sous forme de liste de numéros de cellule. Un autre champ contient l'identifiant du personnage qui se déplace, ce qui permet de distinguer vos propres déplacements de ceux des autres joueurs. Cliquez sur une ligne ChatChannelMessageEvent et trouvez content : le texte du message. Les grands nombres, comme les identifiants, s'affichent comme du texte entre guillemets. Pour ne garder qu'un type de message dans la liste, tapez name:MapMovementEvent dans le champ de recherche au-dessus. La référence du protocole Dofus décrit chaque message et chaque champ. 5. Faire le ménage Les messages que vous avez choisis restent sélectionnés sur le bot, et Asterobot continue de les transmettre à Asteroboard jusqu'à ce que vous les décochiez. Quand vous n'en avez plus besoin, décochez-les dans Réglages et cliquez de nouveau sur Appliquer. Vider, dans Trafic, efface la liste, et retire aussi les lignes de chat de l'onglet Console. Quand vous avez terminé, quittez Dofus, et cliquez sur Déconnecter si vous voulez que le bot cesse d'attendre. Pour aller plus loin Trafic réseau, pour la syntaxe de recherche et chaque partie du panneau. Envoyer des messages à la main Réagir aux messages, pour agir sur un message dans votre propre script.
-
Lancer un paquet du marché
Ce tutoriel mène un paquet du marché d'asterobot.net jusqu'à votre bot, puis le lance pendant que vous suivez ce qu'il fait. Il utilise le bot MITM (« homme du milieu », de l'anglais man-in-the-middle) de Votre premier bot : mettez-le en place d'abord si ce n'est pas encore fait. Caution Un paquet agit comme votre personnage : il peut envoyer n'importe quel message au serveur de jeu en votre nom. Lisez Faire confiance à un paquet avant d'en lancer un, et gardez en tête qu'utiliser des bots enfreint les conditions d'utilisation d'Ankama (Comptes et sécurité). 1. Choisir un paquet Ouvrez le marché, https://asterobot.net/files/category/10-library/. Ouvrez la page d'un paquet qui vous intéresse, et lisez ce qu'il fait, ce dont il a besoin selon son auteur, et qui l'a publié. Copiez l'adresse de la page depuis votre navigateur. 2. L'installer Dans Asteroboard, ouvrez le Gestionnaire de bibliothèque et cliquez sur Télécharger un paquet. Collez l'adresse dans ID ou URL du fichier, puis cliquez sur Prévisualiser. Vérifiez la carte. Officiel ou Communautaire indique si asterobot.net marque le fichier comme officiel, et S'installera sous donne le nom et la version que le paquet aura dans votre bibliothèque. Cliquez sur Installer. Paquet installé apparaît, et le paquet obtient une ligne dans le Gestionnaire de bibliothèque, avec ses dépendances s'il en a. Si un message apparaît à la place, Installer depuis le marché l'explique. 3. Le confier à votre bot Mettez votre bot en ligne : sur sa page, cliquez sur Commencer l'attente, puis lancez Dofus, connectez-vous et entrez en jeu avec votre personnage. L'état passe à Connecté au serveur de jeu. Ouvrez l'onglet Réglages du bot. Il s'ouvre sur Configuration du bot. Sous Paquet, choisissez le paquet que vous avez installé, listé sous la forme name@version. Cliquez sur Enregistrer. Asteroboard affiche Réglages enregistrés, et l'en-tête du bot affiche maintenant le paquet. Le bot garde désormais ce paquet, même après un redémarrage. Lancer un paquet montre les autres façons d'en choisir un. 4. Modifier ses réglages Toujours dans Réglages, cliquez sur Réglages du paquet, à côté de Configuration du bot. La première carte appartient à votre paquet, et elle est ouverte. Ses champs et leurs descriptions viennent du paquet. Modifiez une valeur. Non appliqué apparaît sur le titre de la carte. Cliquez sur Appliquer. Une notification confirme que les réglages du paquet sont appliqués. Si la section indique « Ce comportement ne déclare ni réglage ni action. », le paquet n'a rien à ajuster : passez à l'étape suivante. Réglages et actions d'un paquet couvre tous les types de champ, et ce qui se passe quand une valeur est refusée. 5. Lancer et suivre Dans l'en-tête du bot, cliquez sur Lancer. Le bouton devient Arrêter : le script du paquet tourne. Ouvrez l'onglet Console. Les lignes des sources Asterobot et Script apparaissent au fur et à mesure qu'elles sont écrites. Pour ne suivre que le script, ne gardez que Script coché sous Sources. Jouez comme d'habitude, ou laissez le paquet faire son travail, et suivez la console. Les réglages que vous appliquez pendant que le script tourne lui parviennent immédiatement, sans redémarrage. Qu'il en tienne compte tout de suite dépend de la façon dont le paquet est écrit. Si Lancer reste grisé, le bot n'est pas encore connecté à une partie. Si Impossible de démarrer le comportement apparaît, ou si l'alerte Le comportement s'est arrêté sur une erreur s'affiche en haut de la page, voir Lancer un paquet. Quand vous quittez Dofus, la session relayée prend fin et le script s'arrête avec elle, avec Le comportement s'est arrêté sur une erreur. Cliquez de nouveau sur Lancer la prochaine fois que vous êtes en jeu. 6. Arrêter Cliquez sur Arrêter dans l'en-tête du bot. Le script se termine et le bot reste connecté : votre partie continue normalement. Quand vous avez fini de jouer, quittez Dofus. Le bot revient à En attente de votre client de jeu. Pour qu'il cesse d'attendre, cliquez sur Déconnecter. La prochaine fois, cliquez sur Commencer l'attente, entrez en jeu et cliquez sur Lancer : le bot a toujours le paquet et ses réglages. Pour aller plus loin Mettre à jour les paquets, quand l'auteur publie une nouvelle version. Console, pour tout ce que la console permet de filtrer et de copier. Documentation développeur, pour écrire votre propre paquet.
-
Trouver une ressource sur la carte du monde
Ce tutoriel cherche où pousse une ressource à l'aide de la carte du monde d'une version de jeu, puis ouvre les cartes de la région trouvée. Il prend quelques minutes et ne demande aucun bot. Il vous faut seulement une version de Dofus téléchargée et extraite dans le Gestionnaire de jeux : Télécharger une version de jeu explique comment en installer une. 1. Ouvrir la carte du monde Dans la barre latérale, ouvrez le Gestionnaire de jeux. Sur la ligne de votre version de Dofus, cliquez sur le nom du jeu ou sur Inspecter. La page Jeu de la version s'ouvre. Ouvrez l'onglet Cartes. Il s'ouvre sur la vue Monde. Dans l'en-tête de la page, réglez Langue sur la langue dans laquelle vous connaissez le nom de la ressource. 2. Chercher la ressource Cliquez dans le champ de recherche, « Rechercher un monstre, une ressource, un objet... », et tapez le début du nom de la ressource. Chaque mot que vous tapez correspond au début d'un mot du nom. Les résultats apparaissent sous forme de boutons pendant que vous tapez. Une ressource est un objet : son bouton affiche son nom, la table d'où elle vient, items, et son numéro après #. Deux enregistrements peuvent porter le même nom, et le numéro permet de les distinguer. Cliquez sur la ressource. La carte du monde met en évidence les régions où l'on peut trouver la ressource, et un bouton au-dessus de la carte affiche son nom avec le nombre de régions mises en évidence. Plus tard, cliquez sur ce bouton pour retirer la mise en évidence. Deux choses à savoir sur la mise en évidence : Elle couvre les régions où la ressource se récolte, mais aussi les régions des monstres qui la lâchent. L'étape 3 permet de les distinguer. Les régions situées sur une autre carte du monde, ou sans contour, ne peuvent pas être mises en évidence. Elles sont listées après « Également dans : », et cliquer sur l'une d'elles l'affiche dans le panneau de la région. Quand le bouton indique que la ressource « n'apparaît dans aucune région ici », regardez « Également dans : », ou choisissez une autre carte du monde dans la liste en haut à gauche. 3. Examiner une région Cliquez sur un carré mis en évidence. Le panneau de la région, sous la carte, décrit la région correspondante. Regardez Récoltes, avec son nombre. Si la ressource figure dans cette liste, elle pousse dans cette région. Survolez-la pour lire « Récoltée par » et le métier qui la récolte. Si elle n'y est pas, regardez Butins : la région est mise en évidence parce que l'un de ses monstres lâche la ressource. Notez le badge Niveau de la région, et si elle a un bouton Zaap, qui ouvre la carte du zaap qui dessert la région. Les données de jeu listent les ressources par région, et non par carte ou par cellule : le panneau ne peut donc pas dire sur quelles cartes de la région pousse la ressource. Sa note, « Récoltées sur les cartes de cette zone. », le rappelle. 4. Parcourir les cartes de la région Dans le panneau de la région, cliquez sur le bouton qui ouvre ses cartes, par exemple Ouvrir les 12 carte(s). La vue Carte s'ouvre sur la première carte de la région. Sous Vue, gardez Terrain. Les cellules que le jeu marque pour la récolte prennent la couleur Récolte de la légende, et le Résumé, sous la carte, les compte comme Cellules de récolte. Sous Calques, vérifiez que le calque Interactifs est activé : il met un point sur chaque cellule où se trouve un élément interactif. Cliquez sur les flèches sur les côtés de la carte, ou appuyez sur les touches fléchées, pour passer aux cartes voisines. Pour revenir à la carte du monde, cliquez sur le bouton qui affiche les coordonnées de la carte, par exemple Afficher en [4, -19] sur la carte du monde. Ni les couleurs des cellules ni les points ne disent ce qui se trouve sur une cellule : les données de la carte ne nomment pas la ressource de chaque emplacement. Ils vous montrent où regarder, et le jeu vous montre le reste une fois sur place. Tip Cliquez sur Partagé en haut de l'onglet pour garder la carte du monde à côté de la carte que vous parcourez, et activez Suivre la carte pour que la carte du monde reste centrée dessus. Pour aller plus loin Carte du monde et Visionneuse de carte expliquent tout ce que montrent ces vues. Données de jeu montre la fiche complète d'une ressource, que le bouton « Ouvrir dans les données de jeu », à côté de chaque résultat de recherche, permet d'ouvrir.
-
Réinitialiser et repartir de zéro
Quand quelque chose est cassé et que rien d'autre n'aide, une réinitialisation remet une partie d'Asterobot ou d'Asteroboard dans un état propre. Chaque réinitialisation supprime définitivement quelque chose : commencez donc par la plus petite qui peut régler votre problème. Les réinitialisations ci-dessous vont de la plus légère à la plus radicale. Choisir une réinitialisation Problème Réinitialisation Section Asteroboard affiche une ancienne version, ou se comporte bizarrement après une mise à jour Réinitialiser les données hors ligne Réinitialiser les données hors ligne La langue, les couleurs ou la disposition d'Asteroboard ne conviennent pas Réinitialiser les préférences Réinitialiser les préférences Un réglage que vous avez changé a cassé quelque chose La réinitialisation de ce réglage, ou Tout rétablir Les réglages d'Asterobot Asterobot ne démarre pas à cause d'un réglage Modifier config.toml, ou lancer config reset Asterobot ne démarre pas à cause d'un réglage Une version de jeu est cassée, ou le disque est plein Vérifier les fichiers, Réextraire les données, Désinstaller, Supprimer ou Supprimer tous les chunks Versions de jeu Toutes les versions de jeu d'un coup cache reset cache reset Un bot, un compte ou un paquet est cassé, ou Asterobot utilise le mauvais compte asterobot.net Supprimer uniquement cet élément Un élément à la fois Tout, comme sur un nouvel ordinateur Supprimer les dossiers d'Asterobot Repartir complètement de zéro Dans votre navigateur Asteroboard garde quelques données dans chaque navigateur où vous l'utilisez. Les deux boutons suivants se trouvent sur Préférences, dans la section Zone dangereuse, et aucun ne touche à Asterobot : vos bots, comptes, paquets et réglages restent tels quels. Votre navigateur vous demande de confirmer chacun d'eux, puis la page se recharge. Réinitialiser les données hors ligne Supprime la copie d'Asteroboard que votre navigateur garde pour s'ouvrir rapidement et fonctionner hors ligne, puis télécharge de nouveau Asteroboard, ce qui demande une connexion internet. Cliquez sur Réinitialiser les données hors ligne. Confirmez « Cela efface toutes les données hors ligne mises en cache par Asteroboard et recharge la page. Continuer ? » Vos préférences et votre URL du serveur sont conservées. Le bouton est grisé quand votre navigateur ne peut pas du tout faire fonctionner Asteroboard hors ligne. Si la réinitialisation échoue, Asteroboard affiche Impossible de réinitialiser les données hors ligne, avec « Réessayez, ou effacez les données de ce site depuis les paramètres de votre navigateur. » Réinitialiser les préférences Remet la langue, le mode d'affichage, les couleurs, le rayon des angles et la disposition de la barre latérale d'Asteroboard à leurs valeurs par défaut. Sur la page Jeu, la langue des textes du jeu suit de nouveau celle d'Asteroboard. Cliquez sur Réinitialiser les préférences. Confirmez « Cela réinitialise la langue, l'apparence et la disposition du tableau de bord à leurs valeurs par défaut, et recharge la page. Continuer ? » L'URL du serveur est conservée, tout comme les boutons de niveau de Serveur > Console et quelques autres choix, par exemple les calques de la carte du monde et le volume de la musique. Préférences compare les deux boutons. Pour supprimer tout ce qu'Asteroboard a stocké dans un navigateur, URL du serveur comprise, effacez les données du site asteroboard.asterobot.net dans les paramètres de ce navigateur. Ouvrez ensuite l'adresse de votre Asterobot, http://127.0.0.1:8080 par défaut, pour définir de nouveau l'URL du serveur. Les réglages d'Asterobot Sur Serveur > Config, vous pouvez rétablir un réglage avec Rétablir la valeur par défaut au bout de sa ligne, un groupe avec le bouton placé dans l'en-tête de son encadré, ou tous les réglages que vous avez modifiés avec Tout rétablir, qui demande d'abord Rétablir tous les réglages modifiés ? avant d'agir. Une réinitialisation remet la valeur par défaut et retire la valeur de config.toml. Les réglages marqués Redémarrage requis prennent leur valeur par défaut au prochain lancement. Warning Une fois Asterobot connecté à asterobot.net, sa connexion est un réglage modifié : website.token. Tout rétablir, ou la réinitialisation du groupe website, déconnecte Asterobot, et vous devrez confirmer un nouveau code de connexion. Vos bots, comptes Ankama, paquets et versions de jeu sont conservés. La page Config explique chaque bouton. Asterobot ne démarre pas à cause d'un réglage Quand un réglage empêche Asterobot de démarrer, par exemple un server.listenAddress sur lequel il ne peut pas écouter, Asteroboard ne peut pas le joindre pour changer quoi que ce soit. Corrigez plutôt config.toml : Ouvrez config.toml avec un éditeur de texte. Fichiers et dossiers indique où il se trouve. Supprimez la ligne du réglage qui pose problème. Un réglage sans ligne prend sa valeur par défaut. Enregistrez le fichier et lancez Asterobot. Si vous ne savez pas de quel réglage il s'agit, utilisez config reset. config reset config reset vide config.toml et remet tous les réglages à leur valeur par défaut. Arrêtez Asterobot, s'il tourne. Ouvrez un terminal dans le dossier où vous avez placé Asterobot et lancez : ./asterobot config reset Sous Windows, dans PowerShell : .\asterobot.exe config reset Si vous lancez Asterobot avec --config-dir ou ASTEROBOT_CONFIG_DIR, indiquez le même dossier à la commande. Quand elle demande Put every setting back to its default value? [y/N], tapez y et appuyez sur Entrée. Elle affiche Resetting the configuration.. puis All configuration settings have been reset to their default values. Lancez Asterobot, et confirmez le code de connexion asterobot.net qu'il demande. Toute autre réponse à la question arrête la commande, et rien ne change. Elle supprime Elle conserve Tous les réglages que vous avez modifiés Vos bots La connexion à asterobot.net Vos comptes Ankama et leurs connexions server.listenAddress, server.basicAuth et server.tls, qui reviennent à n'accepter que cet ordinateur, sans mot de passe Vos paquets Vos ports, hôtes et dossier Dofus du mode MITM (« homme du milieu », de l'anglais man-in-the-middle), et vos réglages de connexion automatique Vos versions de jeu et leurs données de jeu Si vous aviez cliqué sur Se déconnecter auparavant, ce choix disparaît aussi : Asterobot vous demande de lui-même de vous connecter de nouveau. Ligne de commande en dit plus sur la commande. Versions de jeu Ces actions se trouvent dans le menu de chaque version dans le Gestionnaire de jeux, sauf Supprimer tous les chunks, placé au-dessus du tableau. En commençant par la plus douce : Action Elle supprime Elle conserve Vérifier les fichiers Les fichiers qui ne correspondent pas, qu'elle télécharge de nouveau Tout le reste Réextraire les données Les données de jeu, qu'elle reconstruit à partir des fichiers Les fichiers Supprimer les données extraites Les données de jeu, les images extraites et la musique extraite Les fichiers et la ligne Désinstaller Les fichiers téléchargés La ligne et les données de jeu Supprimer Les fichiers, les données de jeu et la ligne Les chunks partagés Supprimer tous les chunks Tous les chunks stockés, pour toutes les versions Les fichiers et les données de jeu de chaque version Warning Aucune de ces actions ne vérifie si un bot utilise la version. Un bot qui se connecte tout seul ne peut pas se connecter avec une version qui n'est pas prête, et un bot dont la version a été supprimée est ignoré au lancement d'Asterobot. Passez d'abord vos bots sur une autre version, comme le montre Quand Dofus se met à jour. Gérer les versions de jeu explique chaque action. cache reset cache reset supprime tout le dossier de cache d'Asterobot, puis le recrée, vide. Arrêtez Asterobot avec Ctrl+C dans son terminal, ou avec Éteindre le serveur. Il ne doit pas tourner pendant la réinitialisation, et l'arrêter normalement remet en place la ligne qu'il a peut-être modifiée dans votre dossier Dofus, ce qu'il ne peut plus faire une fois sa copie du jeu disparue. Ouvrez un terminal dans le dossier où vous avez placé Asterobot et lancez ./asterobot cache reset, ou .\asterobot.exe cache reset dans PowerShell sous Windows. Si vous lancez Asterobot avec --cache-dir ou ASTEROBOT_CACHE_DIR, indiquez le même dossier à la commande. Quand elle demande Delete <folder> with everything in it? [y/N], vérifiez que <folder> est bien le dossier de cache voulu, puis tapez y et appuyez sur Entrée. Elle affiche Resetting the cache.. puis All cache have been removed. Lancez Asterobot, puis téléchargez et extrayez les versions de jeu qu'utilisent vos bots. Elle supprime Elle conserve Toutes les versions de jeu, avec leurs fichiers et leurs données de jeu Le dossier des réglages : config.toml et la connexion à asterobot.net Tous les chunks stockés Le dossier des données : bots, comptes Ankama et bibliothèque Les listes de téléchargement d'Ankama Les captures d'écran des connexions automatiques échouées Les bots réglés sur une version de jeu supprimée sont ignorés au lancement d'Asterobot, jusqu'à ce que vous téléchargiez et extrayiez de nouveau cette version. Ligne de commande en dit plus sur la commande. Un élément à la fois À supprimer Où Ce qui disparaît Ce qui reste Un bot Supprimer le bot dans le menu du bot, dans le Gestionnaire de bots, puis Oui, supprimer Le bot, ses réglages, les réglages de son paquet, sa sélection de messages, son historique de console et son rattachement MITM Son compte Ankama La connexion d'un compte Ankama Déconnecter dans le menu du compte, dans le Gestionnaire de comptes Ses jetons. Asterobot demande à Ankama de les révoquer, et les oublie dans tous les cas Le compte et son mot de passe enregistré Un compte Ankama Supprimer dans le menu du compte, dans le Gestionnaire de comptes, puis Oui, supprimer Le compte, avec son mot de passe et ses jetons. Rien n'est révoqué auprès d'Ankama Son profil de navigateur, sa dernière capture d'écran d'échec, et les bots qui l'utilisent Une version de paquet Supprimer dans le menu du paquet, dans le Gestionnaire de bibliothèque, puis Oui, supprimer Cette version Les autres versions, les paquets dont elle dépend, et les bots réglés sur elle La connexion à asterobot.net Se déconnecter dans le menu du bouton du compte La connexion d'Asterobot. Il reste déconnecté, même après un redémarrage, jusqu'à ce que vous cliquiez sur Se connecter Tout le reste Ce qui en découle : Un bot qui utilisait un compte supprimé ne peut pas se connecter, et il est ignoré au prochain lancement tant que le compte n'est pas revenu avec le même identifiant. Voir État et actions d'un compte. Un bot réglé sur une version de paquet supprimée ne peut pas démarrer son script tant que vous ne le passez pas sur une autre version. Voir Gérer votre bibliothèque. Tant qu'Asterobot est déconnecté, il ne peut ni ajouter de bots ni télécharger de paquets, et il ignore tous les bots enregistrés à son lancement. Voir Votre compte. Un bot supprimé ne revient que si vous l'ajoutez de nouveau en partant de zéro. Voir Déconnecter, supprimer et redémarrer. Repartir complètement de zéro Supprimer les dossiers d'Asterobot le ramène à son premier lancement. Rien n'est stocké à côté du programme : supprimer ou remplacer le seul fichier du programme ne change donc rien. Caution Ces dossiers contiennent vos mots de passe et jetons Ankama ainsi que votre connexion à asterobot.net. Les supprimer est définitif : sauvegardez d'abord tout ce dont vous pourriez avoir besoin (Fichiers et dossiers). Arrêtez Asterobot avec Ctrl+C dans son terminal, ou avec Éteindre le serveur sur Serveur > État, pour qu'il remette en place la ligne qu'il a peut-être modifiée dans votre dossier Dofus. Une fois son dossier de cache supprimé, il ne peut plus relire la ligne d'origine. Supprimez les dossiers que vous voulez réinitialiser. Fichiers et dossiers indique où se trouve chacun d'eux sur votre système. Lancez Asterobot. Il recrée les dossiers, vides, et vous demande de vous connecter à asterobot.net, comme lors de son premier lancement. Ce que chaque dossier emporte avec lui : Dossier Le supprimer fait perdre Réglages config.toml : tous les réglages que vous avez modifiés, et la connexion à asterobot.net Données bots.toml avec tous les bots, accounts.toml avec vos comptes Ankama, votre bibliothèque de paquets, le certificat HTTPS et les profils de navigateur utilisés pour la connexion Cache Toutes les versions de jeu avec leurs données de jeu, les chunks stockés, les listes de téléchargement d'Ankama et les captures d'écran des connexions échouées Si vous lancez Asterobot avec des options de dossier ou leurs variables d'environnement, les dossiers à supprimer sont ceux qu'elles indiquent (Ligne de commande). L'URL du serveur et les préférences d'Asteroboard sont stockées dans chaque navigateur, pas dans ces dossiers. Effacez-les comme décrit dans Dans votre navigateur si vous voulez aussi vous en débarrasser. Pour aller plus loin Fichiers et dossiers Ligne de commande Obtenir de l'aide
-
Problèmes de téléchargement du jeu
Les bots et la page Jeu ont besoin d'une version de jeu téléchargée et extraite, et chacune des deux étapes peut mal tourner, du téléchargement qui refuse de se mettre en file d'attente jusqu'à l'extraction qui échoue sans dire pourquoi. Télécharger une version de jeu et Extraire les données de jeu expliquent le fonctionnement des deux. Impossible de mettre en file d'attente le téléchargement Asteroboard affiche Impossible de mettre en file d'attente le téléchargement quand vous cliquez sur Télécharger : Asterobot a refusé la demande, ou n'a pas pu être joint. Asteroboard n'est pas connecté. Cherchez un point rouge sur Préférences dans la barre latérale, et consultez Asteroboard ne se connecte pas. latest ne peut pas être résolu, parce que le jeu, la plateforme ou l'environnement que vous avez saisi ne figure pas dans la liste d'Ankama. Choisissez les valeurs parmi les suggestions, ou gardez les valeurs par défaut dofus, windows et dofus3. Asterobot ne peut pas joindre Ankama. Vérifiez la connexion internet de l'ordinateur où tourne Asterobot, puis cliquez sur Vérifier les mises à jour dans la fenêtre. Reste sur En attente Un seul téléchargement ou une seule vérification de fichiers tourne à la fois, quels que soient le jeu et la version. Regardez les autres lignes du Gestionnaire de jeux : quand l'une d'elles affiche Téléchargement ou Vérification, la vôtre démarre après. Les extractions, elles, ne passent pas par cette file. Échec Le téléchargement s'est arrêté. Survolez l'icône d'information à côté d'Échec pour lire la raison. La raison Que faire Parle du réseau ou des serveurs d'Ankama Ouvrez le menu de la version et cliquez sur Réessayer. Le téléchargement reprend là où il s'est arrêté et garde les fichiers terminés. Contient invalid file filter ou invalid fragment filter Un filtre n'est pas une expression régulière valide. Cliquez sur Réessayer et corrigez-le dans la fenêtre, ou remettez le Filtre de fichiers (regex) par défaut. Est download queue is full or the server is shutting down Asterobot était en train de s'arrêter, ou trop de téléchargements attendaient. Cliquez sur Réessayer une fois qu'Asterobot fonctionne normalement. Indique qu'il n'y a plus d'espace sur le disque Asterobot ne vérifie pas l'espace libre avant de télécharger. Libérez de l'espace comme l'explique Libérer de l'espace disque, puis cliquez sur Réessayer. Installé, mais Pas prêt La colonne Statut indique Installé et la colonne Prêt indique Pas prêt. Une version n'est prête pour un bot qu'une fois que les fichiers dont un bot a besoin sont présents et que ses données de jeu sont extraites. Les causes : Asterobot a été arrêté pendant le téléchargement. À son redémarrage, la version affiche Installé alors qu'il manque des fichiers. La version a été téléchargée avec un Filtre de fichiers (regex) plus restrictif que celui par défaut. Elle a été désinstallée. Désinstaller supprime les fichiers et garde le statut Installé. Elle n'est pas extraite. Regardez la colonne Extraction. Ouvrez le menu de la version et cliquez sur Télécharger plus de fichiers. Gardez le Filtre de fichiers (regex) par défaut et confirmez. Seuls les fichiers manquants sont téléchargés. Une fois le téléchargement terminé, si la colonne Extraction n'indique pas Extrait, cliquez sur Extraire les données dans le même menu. Cliquez sur Vérifier si prêt pour un bot. Asteroboard répond Prêt pour un bot ou Pas prêt pour un bot. La page Jeu de la version vous indique quelle moitié manque : son encadré Fichiers requis indique Manquants quand ce sont les fichiers. Voir Prêt pour un bot. Reste Non extrait après le téléchargement C'est Asteroboard qui lance l'extraction quand un téléchargement se termine avec Extraire les données après le téléchargement coché. Si vous avez fermé ou rechargé Asteroboard avant la fin, ou si la case n'était pas cochée, rien n'est extrait. De plus, après un téléchargement lancé, la case est de nouveau décochée la prochaine fois que vous ouvrez la fenêtre de téléchargement. Ouvrez le menu de la version et cliquez sur Extraire les données. Échec de l'extraction Asteroboard n'indique pas pourquoi. La raison se trouve dans le journal d'Asterobot, sur une ligne qui commence par Failed to extract game data, dans le terminal ou sur Serveur > Console. La cause habituelle est un fichier manquant : Ouvrez la page Jeu de la version, avec son nom ou son bouton Inspecter dans le Gestionnaire de jeux. Si l'encadré Fichiers requis indique Manquants, cliquez sur Télécharger les fichiers requis et attendez la fin du téléchargement. De retour dans le Gestionnaire de jeux, cliquez sur Extraire les données dans le menu de la version. L'extraction ne fonctionne que pour Dofus sous Windows. Une version d'un autre jeu ou d'une autre plateforme échoue quel que soit le nombre d'essais. Échec de l'extraction reste affiché jusqu'à ce que vous relanciez l'extraction ou redémarriez Asterobot, qui affiche alors Extrait ou Non extrait selon ce qui se trouve sur le disque. Impossible de démarrer l'extraction La demande n'a pas atteint Asterobot. Vérifiez qu'Asteroboard est connecté, puis réessayez. Extraire les données n'est pas proposé pendant que cette version est déjà en cours d'extraction. La version du jeu du bot n'est pas encore prête Un bot qui se connecte tout seul refuse de se connecter avec une version dont l'état n'est pas Prêt pour un bot, et Ajouter un bot n'accepte pas une telle version. Préparez la version comme décrit dans Installé, mais Pas prêt. Voir aussi Le bot ne se connecte pas. Fichiers requis manquants dans les réglages d'un bot Dans l'onglet Jeu d'Ajouter un bot, ou dans l'onglet Réglages d'un bot, Fichiers requis manquants signifie qu'il manque à la version des fichiers dont un bot a besoin. Cliquez sur Télécharger les fichiers requis juste à côté. Quand le badge passe à Prêt, cliquez sur le badge d'extraction si la version n'est pas extraite. Si le téléchargement ne peut pas démarrer, Asteroboard affiche Impossible de télécharger les fichiers requis. La version la plus récente n'apparaît pas Dans les suggestions du champ Version. Cliquez sur Vérifier les mises à jour en haut de la fenêtre de téléchargement, pour qu'Asterobot récupère de nouveau la liste d'Ankama. latest télécharge une version plus ancienne. Quand Ankama est injoignable, Asterobot résout latest à partir de la dernière liste qu'il a enregistrée. Vérifiez la connexion internet, puis utilisez Vérifier la dernière version dans le menu d'une version. La réponse est À jour ou Une nouvelle version est disponible, avec le numéro de la dernière version chez Ankama. Impossible de vérifier la dernière version signifie qu'Asterobot n'a pas pu poser la question. Une version téléchargée avec la commande gamemanager download n'apparaît dans le Gestionnaire de jeux qu'après Rescanner ou un redémarrage. Si le nouveau scan échoue, Asteroboard affiche Impossible de relancer l'analyse. Cette commande n'extrait jamais : cliquez ensuite sur Extraire les données. Désinstaller, Supprimer et les outils de chunks Message Ce que ça signifie Que faire Impossible de désinstaller ou Impossible de supprimer Asterobot a refusé, par exemple parce qu'un téléchargement ou une vérification de cette version a démarré entre-temps. Attendez qu'il se termine, puis réessayez. Impossible de supprimer les chunks Un téléchargement, une vérification ou un contrôle des chunks a démarré avant que votre clic n'atteigne Asterobot. Supprimer tous les chunks est grisé pendant que l'une de ces opérations tourne. Attendez qu'aucun téléchargement, aucune vérification ni aucun contrôle des chunks ne soit en cours. Impossible de démarrer la vérification des chunks La demande n'a pas atteint Asterobot. Vérifiez qu'Asteroboard est connecté. Échec de la vérification des chunks, avec une raison La vérification s'est arrêtée. Lisez la raison, puis cliquez de nouveau sur Vérifier tous les chunks. Impossible de démarrer la vérification Vérifier les fichiers n'a pas pu être envoyé. Vérifiez qu'Asteroboard est connecté. Vérifier les fichiers n'est pas proposé pour une version en Échec : utilisez Réessayer. Le disque se remplit Asterobot ne vérifie pas l'espace libre avant un téléchargement, et les versions de jeu sont de loin ce qu'il stocke de plus volumineux. De la solution la plus douce à la plus radicale : Supprimer tous les chunks, puis Désinstaller ou Supprimer les versions dont vous ne vous servez pas. Voir Libérer de l'espace disque, et lisez Réinitialiser et repartir de zéro avant de recourir à cache reset. Musique La musique se télécharge à part, depuis l'onglet Musique de la page Jeu. Si le téléchargement ne peut pas démarrer, Asteroboard affiche Impossible de lancer le téléchargement ou Impossible de lancer l'extraction avec la raison, et Impossible de charger la musique quand l'onglet ne peut pas la lire du tout. Voir Musique. Versions qui ne correspondent pas En mode MITM (« homme du milieu », de l'anglais man-in-the-middle), la version du Gestionnaire de jeux doit être exactement celle à laquelle vous jouez, sinon le bot refuse de se mettre en attente : voir Problèmes en mode MITM. Une version marquée Version différente dans la colonne Compatibilité se télécharge et s'extrait normalement, mais les bots ne fonctionnent peut-être pas encore avec elle : voir Quand Dofus se met à jour. Pour aller plus loin Gérer les versions de jeu Réinitialiser et repartir de zéro
-
Erreurs de paquet
Un paquet peut échouer à plusieurs moments : pendant son installation, quand un bot le démarre ou pendant qu'il tourne. Si vous écrivez des paquets, Messages d'erreur, dans la documentation développeur, liste chaque texte avec sa cause. Trouver d'abord la raison Plusieurs messages liés aux paquets arrivent sans leur raison, qui se trouve toujours ailleurs : Où Ce que vous y trouvez Le comportement s'est arrêté sur une erreur, sous l'en-tête du bot L'erreur complète d'un script qui a démarré, puis échoué. Copier la place dans votre presse-papiers. L'onglet Réglages du bot, sous Réglages du paquet Impossible de lire les réglages de ce paquet, avec la raison, quand le paquet du bot ne peut pas être chargé du tout. L'éditeur d'un paquet local Le badge d'erreurs dans sa barre du haut, par exemple « 3 erreur(s) », qui compte les problèmes dans tous les fichiers du paquet. L'onglet Console du bot Ce que le script écrit lui-même, avertissements compris. Impossible de démarrer le comportement Vous avez cliqué sur Lancer, et le script n'a même pas pu démarrer. La notification ne donne aucune raison, et la page du bot n'affiche aucune alerte. Vérifiez que le bot est Connecté au serveur de jeu. Charger un paquet et le lancer sur un bot qui n'est pas connecté charge le paquet, puis affiche ce message. Ouvrez l'onglet Réglages du bot et cliquez sur Réglages du paquet. Quand le paquet ne peut pas être chargé, Impossible de lire les réglages de ce paquet affiche la raison. Retrouvez cette raison dans Pourquoi un paquet ne se charge pas. Trois autres messages fonctionnent de la même façon, sans raison : Impossible de charger la sélection après le chargement d'un paquet, Impossible de changer de version après le choix d'une autre version dans l'en-tête du bot, et Impossible de lancer le paquet après Lancer dans l'éditeur. Pour chacun, regardez sous Réglages du paquet. Pourquoi un paquet ne se charge pas requires asterobot Le texte ressemble à package "<name>" requires asterobot <range>, running <version>. Le paquet indique avec quelles versions d'Asterobot il fonctionne, et la vôtre n'en fait pas partie. Le Gestionnaire de bibliothèque le marque Incompatible, et son nom passe en orange dans l'en-tête du bot. Si la plage demande un Asterobot plus récent, mettez-le à jour : voir Mettre à jour Asterobot. Si une autre version installée du paquet est compatible, passez le bot dessus : voir Changer de version. Pour un paquet du marché, cliquez sur Vérifier les mises à jour dans le Gestionnaire de bibliothèque : une version plus récente prend peut-être en charge votre Asterobot. Sinon, contactez l'auteur. has an invalid compatibleVersion constraint signifie que l'auteur a mal écrit cette plage. Seul l'auteur peut la corriger. package source integrity mismatch Les fichiers d'un paquet installé depuis le marché ne correspondent plus à ceux qu'Asterobot a téléchargés, par exemple parce qu'ils ont été modifiés à la main. Asterobot refuse de le charger. Dans le Gestionnaire de bibliothèque, ouvrez le menu du paquet, cliquez sur Supprimer, puis sur Oui, supprimer. Réinstallez-le depuis le marché, avec le même lien de fichier. Voir Installer depuis le marché. Remettez le bot sur cette version si elle a changé. Faire confiance à un paquet explique cette vérification. read package ou is not installed Le paquet, ou l'un des paquets dont il dépend, n'est pas dans votre bibliothèque à la version dont le bot a besoin. Le texte nomme celui qui manque, comme dans read package <name>@<version> sources:. Cela arrive après la suppression d'un paquet ou d'une dépendance, ou quand l'installation d'une dépendance a échoué. Pour un paquet du marché, réinstallez-le depuis le marché : Asterobot télécharge en même temps les dépendances qui lui manquent. Si vous avez supprimé cette version exprès, passez le bot sur une version installée. parse module ou resolve Un texte qui contient parse module ou resolve signifie que le code du paquet comporte une erreur : une faute de syntaxe, ou un import qui ne pointe vers rien. Pour un paquet du marché, vérifiez s'il existe une mise à jour, et prévenez son auteur en lui donnant le texte complet. Pour un paquet local, ouvrez-le avec Modifier le code : le badge d'erreurs vous mène au problème. Messages d'erreur explique chaque texte. Le comportement s'est arrêté sur une erreur Le script a démarré, puis a échoué. L'alerte affiche son erreur complète, et la colonne Comportement du Gestionnaire de bots indique Échec. Le bot reste connecté, et une partie relayée continue. Voici les textes que les joueurs rencontrent le plus souvent : Le texte contient Ce que ça signifie Que faire Game session closed La connexion de jeu s'est fermée pendant que le script tournait : vous avez quitté Dofus, le bot a été déconnecté, ou la connexion a été coupée. Reconnectez le bot, puis cliquez sur Lancer. IdentificationRequest.token: unknown protobuf field Le script a été écrit à partir d'un ancien exemple qui envoie les mauvais champs pour entrer en jeu. Mettez à jour le paquet, ou demandez à son auteur de le faire. Auteurs : voir Identifier et lancer. JavaScript execution deadline exceeded Le script a travaillé plus de 250 ms sans faire de pause. Prévenez l'auteur. behavior event-loop queue overflow Le script n'arrive pas à suivre le rythme des messages qu'il reçoit. Prévenez l'auteur. unhandled Promise rejection: Une erreur dans le script que rien n'a interceptée. Prévenez l'auteur, en lui donnant le texte complet. behavior requested Game disconnect Le script a déconnecté le bot volontairement. Rien, si le paquet est censé le faire. the game engine is not available: Asterobot n'a pas pu lire les messages du jeu. Voir Quand Dofus se met à jour. Pour relancer le script, cliquez sur Lancer. Si la même erreur revient, le paquet doit être corrigé. Installer depuis le marché Message Que faire Ce n'est pas un ID de fichier ou une URL asterobot.net valide. Copiez l'adresse de la page du fichier lui-même sur asterobot.net, ou son numéro, et non l'adresse de la catégorie. Fichier introuvable, ou vous n'avez pas la permission de le voir. Vérifiez l'adresse. Regardez ensuite le bouton du compte en bas de la barre latérale : Asterobot doit être connecté à asterobot.net pour se renseigner sur un fichier. Vous n'avez pas la permission de télécharger ce fichier. Votre compte asterobot.net n'est pas autorisé à télécharger ce fichier, et rien dans Asterobot n'y changera quoi que ce soit. Impossible d'installer le paquet Le téléchargement ou l'installation a échoué, sans raison. Le fichier n'est peut-être pas un paquet, ou bien il a plus d'une pièce jointe, pèse plus de 32 Mio ou a une dépendance qui ne peut pas être installée. Quand une dépendance a échoué, le paquet lui-même est peut-être déjà dans votre bibliothèque sans elle, et il ne démarrera pas. Installer depuis le marché donne les détails. Mettre à jour Impossible de vérifier les mises à jour : la vérification n'a pas abouti. Vérifiez qu'Asteroboard est connecté et qu'Asterobot est connecté à asterobot.net, puis réessayez. Impossible d'installer la mise à jour : les mêmes causes que pour une première installation, et pas de raison non plus. Pas de bouton Mettre à jour vers, alors que l'auteur a publié une nouvelle version : rien n'est vérifié automatiquement, alors cliquez sur Vérifier les mises à jour. Une version inférieure à la vôtre n'est pas proposée, et un fichier qui n'est plus lisible sur asterobot.net est ignoré sans message. Voir Mettre à jour les paquets. Importer et supprimer Impossible d'importer le paquet, sans raison : le fichier n'est peut-être pas un .zip, ou bien il n'a pas d'index.js, pèse plus de 32 Mio ou contient un asterobot.json invalide. Les messages de la fenêtre d'import sur le nom sont dans Gérer votre bibliothèque. Impossible de supprimer le script : rien n'a été supprimé. Réessayez. Après la suppression d'une version, un bot réglé sur celle-ci continue d'exécuter son script jusqu'à ce que le script s'arrête, puis obtient Impossible de démarrer le comportement au prochain clic sur Lancer. Passez le bot sur une autre version. Réglages et actions du paquet Ces messages apparaissent dans l'onglet Réglages du bot, sous Réglages du paquet : Message Ce que ça signifie Que faire Impossible d'appliquer les réglages, avec une raison Une valeur ne correspond pas à ce qu'attend le paquet. Rien du formulaire n'a été enregistré. Corrigez la valeur nommée dans la raison, puis cliquez de nouveau sur Appliquer. Impossible de lancer l'action, avec no behavior is running on this bot Les actions ne s'exécutent que pendant que le paquet tourne. Cliquez sur Lancer, puis sur l'action. Impossible de lancer l'action, avec une autre raison Un argument ne convient pas, ou le script en cours n'a pas cette action. Corrigez la valeur, ou cliquez sur Arrêter puis sur Lancer pour que le script en cours corresponde au paquet. Le nom de l'action suivi de a échoué Le code de l'action elle-même a échoué. Le script continue de tourner. Prévenez l'auteur. Les boutons d'action restent grisés avec « Le bot doit exécuter un comportement pour qu'une action puisse être lancée. » tant qu'aucun script ne tourne. Voir Réglages et actions d'un paquet. Contacter l'auteur Seul son auteur peut corriger le code d'un paquet du marché. Dans le Gestionnaire de bibliothèque, cliquez sur le nom du paquet. Dans ses détails, cliquez sur Voir sur asterobot.net, dans la ligne Source. Cela ouvre le fichier d'où vient le paquet. Contactez l'auteur depuis cette page, ou demandez sur le forum à https://asterobot.net/forums/. Joignez le texte complet de l'erreur copié avec Copier, la version du paquet, votre version d'Asterobot indiquée sur Serveur > État, et la version de jeu du bot. N'y joignez jamais votre config.toml, un jeton ou un mot de passe. Obtenir de l'aide liste ce qui doit rester privé. Pour aller plus loin Lancer un paquet Gérer votre bibliothèque Messages d'erreur, pour les auteurs de scripts
-
Problèmes en mode MITM
En mode MITM, abréviation de l'anglais man-in-the-middle (« homme du milieu »), un bot relaie le client Dofus avec lequel vous jouez : Asterobot redirige votre jeu vers lui-même en modifiant une ligne de votre dossier Dofus, puis transmet tout à Ankama. La plupart des problèmes de ce mode n'affichent aucune raison dans Asteroboard, donc cette page liste les causes à vérifier, dans l'ordre où elles se présentent en général. Mode MITM explique le fonctionnement du mode. Impossible de mettre le bot en attente Asteroboard affiche Impossible de mettre le bot en attente quand vous cliquez sur Commencer l'attente, ou Bot ajouté, mais il n'a pas pu être connecté quand vous ajoutez un bot avec Attendre mon client de jeu. Le bot reste Déconnecté. Asterobot a refusé, mais la raison n'est ni affichée dans Asteroboard ni écrite dans le journal, alors passez les causes en revue : Cause Ce qu'il faut vérifier Le Dofus auquel vous jouez n'est pas la version téléchargée par Asterobot Dans votre dossier Dofus, ouvrez Dofus_Data/StreamingAssets/version et lisez la ligne Version=. Elle doit correspondre exactement à la version qu'utilise le bot dans le Gestionnaire de jeux. Quand vos bots utilisent des versions différentes, Asterobot peut comparer votre jeu à n'importe laquelle d'entre elles : gardez donc tous vos bots sur la version à laquelle vous jouez. Asterobot ne peut pas lire le fichier version botmanager.mitmGamePath, sur Serveur > Config, doit être le dossier Dofus lui-même, celui qui contient Dofus_Data. Le fichier version n'a pas de ligne ConfigUrl Le dossier indiqué dans botmanager.mitmGamePath n'est pas une installation normale de Dofus. La ligne ConfigUrl pointe encore vers Asterobot depuis une session précédente, et la copie du jeu d'Asterobot n'a pas de fichier version où relire la ligne d'origine Remettez la ligne d'origine à la main, comme décrit dans Remettre la ligne à la main, ou cliquez sur Télécharger plus de fichiers sur la version de jeu du bot avec le filtre par défaut, qui inclut le fichier version. Un autre programme utilise le port 5555 ou 5556 Fermez ce programme, ou changez botmanager.mitmSignInPort et botmanager.mitmSessionPort, puis redémarrez Asterobot. botmanager.mitmSignInPort et botmanager.mitmSessionPort ont la même valeur Donnez-leur deux ports différents, puis redémarrez Asterobot. Cliquez ensuite de nouveau sur Commencer l'attente. Après un patch d'Ankama, la version est la coupable habituelle : l'Ankama Launcher a mis à jour votre Dofus, et Asterobot a encore la version précédente. Téléchargez la nouvelle et passez le bot dessus, comme l'explique Quand Dofus se met à jour. Le bot attend, mais votre jeu ne l'atteint jamais Le bot affiche En attente de votre client de jeu pendant que vous jouez, et rien n'arrive. Vérifiez ces points dans l'ordre. Asterobot n'a pas modifié la ligne Quand le premier bot se met en attente, le journal d'Asterobot, dans le terminal et sur Serveur > Console, affiche Pointed the played game at Asterobot. Un deuxième bot mis en attente ne l'affiche pas de nouveau : remontez donc plus haut si un autre bot attendait déjà. Quand la ligne n'apparaît jamais, botmanager.mitmGamePath est vide. Sur macOS, il l'est toujours au début, faute de valeur par défaut, et ailleurs il est vide quand Dofus n'était pas dans le dossier habituel de l'Ankama Launcher au lancement d'Asterobot. Le bot attend quand même, mais rien n'est modifié et votre jeu n'arrive jamais. Sur Serveur > Config, réglez botmanager.mitmGamePath sur votre dossier Dofus, celui qui contient Dofus_Data. Cliquez sur Déconnecter sur chaque bot en attente, puis de nouveau sur Commencer l'attente. Vérifiez que le journal affiche maintenant Pointed the played game at Asterobot. Voir Où Asterobot cherche votre dossier Dofus. Dofus était déjà ouvert Un Dofus lancé avant que le bot soit en attente ne passe pas par Asterobot. Fermez-le, puis relancez-le depuis l'Ankama Launcher. A game client signed in that no bot is waiting for Votre jeu est passé par Asterobot, mais aucun bot en attente ne l'a pris, et il est allé directement chez Ankama. Chaque bot prend les sessions par compte Ankama : un bot qui a relayé un compte une fois ne prend plus ensuite que les sessions de ce compte. Un bot sans compte Ankama reste rattaché pour de bon à son premier compte, même après un redémarrage, et Asteroboard n'offre aucun moyen de le détacher. Jouez avec le compte auquel le bot est rattaché. Son onglet Informations affiche le compte dès qu'une session est arrivée. Pour relayer un autre compte, ajoutez un autre bot sans compte et cliquez sur Commencer l'attente sur celui-ci. Voir Quel bot reçoit quelle session de jeu. Dofus tourne sur un autre ordinateur Asterobot ne peut modifier qu'un dossier Dofus situé sur son propre ordinateur. Pour un jeu sur un autre ordinateur, vous modifiez vous-même la ligne sur cet ordinateur et vous ouvrez les ports d'Asterobot : voir MITM sur plusieurs machines. Dofus n'arrive pas à se connecter Asterobot ne tourne pas Pendant qu'un bot attend, la ligne ConfigUrl de votre dossier Dofus pointe vers Asterobot. Si Asterobot s'arrête alors sans se fermer proprement, par exemple parce que sa fenêtre de terminal a été fermée, la ligne reste en l'état et Dofus ne peut plus du tout se connecter. Relancez Asterobot. À son lancement, il remet la ligne en place et affiche Restored a game install left pointing at Asterobot by a previous run. Lancez Dofus. Asterobot relit la ligne d'origine dans sa propre copie du jeu, qu'il retrouve grâce à vos bots. S'il n'affiche pas cette ligne, par exemple parce que tous les bots ont été ignorés à son lancement ou parce que botmanager.mitmGamePath est vide, remettez la ligne à la main comme décrit plus bas. Un bot qui se met en attente commence lui aussi par réparer la ligne, et affiche Recovering a ConfigUrl left pointing at Asterobot by a previous run. Arrêter Asterobot avec Ctrl+C ou Éteindre le serveur remet la ligne en place immédiatement, tout comme déconnecter le dernier bot en attente. HTTPS ou un mot de passe est configuré Le mode MITM ne fonctionne pas tant que server.tls est activé ou que server.basicAuth contient quelque chose, même avec Dofus et Asterobot sur le même ordinateur. La ligne qu'écrit Asterobot demande toujours à Dofus de récupérer sa configuration de connexion en simple http://, sans mot de passe. Avec HTTPS, le port d'Asterobot ne répond qu'aux requêtes HTTPS, et avec l'authentification basique il demande un mot de passe que Dofus ne peut pas fournir. Dans les deux cas, Dofus n'obtient pas sa configuration de connexion et ne peut pas se connecter en passant par Asterobot. Sur Serveur > Config, désactivez server.tls et cliquez sur Rétablir la valeur par défaut sur server.basicAuth. Redémarrez Asterobot. Sur l'ordinateur où tourne Asterobot, ouvrez http://127.0.0.1:8080, pour qu'Asteroboard reprenne l'adresse en simple HTTP. Cliquez sur Commencer l'attente, puis lancez Dofus. Pour utiliser Asteroboard depuis un autre appareil tout en gardant le mode MITM, passez par un tunnel SSH plutôt que par HTTPS : voir Asterobot sur une machine distante. Failed to fetch the real game configuration Quand Dofus demande sa configuration de connexion à Asterobot, Asterobot récupère la vraie configuration d'Ankama et y remplace l'adresse de connexion. Cette erreur dans le journal signifie qu'il n'a pas pu joindre Ankama pour cela. Failed to reach the Ankama login server signifie la même chose pour la connexion elle-même. Vérifiez la connexion internet de l'ordinateur où tourne Asterobot, puis relancez Dofus. Remettre la ligne à la main Quand Asterobot ne peut pas restaurer votre dossier Dofus, vous pouvez le faire vous-même : Fermez Dofus. Trouvez la copie de la même version de jeu propre à Asterobot, dans son dossier de cache, sous game/dofus/dofus3/windows/ suivi du numéro de version. Fichiers et dossiers indique où se trouve le dossier de cache. Asterobot ne modifie jamais cette copie. Si la version n'y est plus, retéléchargez-la d'abord dans le Gestionnaire de jeux. Ouvrez le fichier Dofus_Data/StreamingAssets/version de cette copie et copiez sa ligne ConfigUrl=. Dans votre propre dossier Dofus, ouvrez Dofus_Data/StreamingAssets/version avec un éditeur de texte, et remplacez sa ligne ConfigUrl= par celle que vous avez copiée. Laissez les autres lignes telles quelles. Enregistrez le fichier et lancez Dofus. Une ligne ConfigUrl qui se termine par /botmanager/mitm/dofus3.json a été écrite par Asterobot. La ligne qu'Asterobot modifie l'explique. Votre jeu est déconnecté en atteignant le bot Vous vous connectez, et le jeu se déconnecte au moment d'entrer. Le journal d'Asterobot affiche Failed to relay a game session, suivi de la raison. La raison mentionne dial the real game server : Asterobot n'a pas pu joindre le serveur de jeu. Vérifiez la connexion internet et le pare-feu de l'ordinateur où tourne Asterobot. Juste après un patch d'Ankama, votre version d'Asterobot ne prend peut-être pas encore en charge la nouvelle version. Voir Quand Dofus se met à jour. Votre jeu est déconnecté pendant que vous jouez Le bot porte votre session, donc tout ce qui met fin à la session du bot met fin à votre partie : Déconnecter sur le bot, Supprimer le bot, ou l'arrêt d'Asterobot. Un paquet qui ferme la connexion de jeu. Cliquez sur Arrêter et jouez sans lui pour en avoir le cœur net. Un autre Dofus qui se connecte avec le même compte Ankama : la nouvelle session remplace celle que portait le bot. Quand vous quittez Dofus, le bot revient à En attente de votre client de jeu, et un script en cours s'arrête avec Le comportement s'est arrêté sur une erreur. C'est normal : appuyez de nouveau sur Lancer une fois votre jeu revenu. Les scripts sur une session relayée Refused to forward a message that would re-authenticate a relayed session Cet avertissement apparaît dans l'onglet Console du bot. Le script a envoyé IdentificationRequest, le message qu'un script de connexion Full socket envoie pour entrer en jeu. Votre Dofus l'a déjà fait, et le renvoyer mettrait fin à votre session : Asterobot ne l'a donc pas transmis. Le script continue de tourner. Si le script attend plutôt une réponse à ce message, il reçoit mitm relay refuses to identify: this Game session was already authenticated by the real DOFUS client, et s'arrête avec Le comportement s'est arrêté sur une erreur, sauf s'il gère l'erreur. Un script de connexion ne devrait s'identifier qu'à son premier lancement, quand launch.reason vaut "initial", ce qui n'arrive jamais sur une session relayée. Si vous l'avez écrit, voir Identifier et lancer. Sinon, prévenez son auteur. interceptor failed: Un paquet peut modifier ou bloquer les messages entre votre jeu et le serveur. Cette ligne d'erreur dans la console du bot signifie qu'une des fonctions qui s'en chargent a levé une erreur ou a tourné plus de 250 ms : le message est passé sans modification, et le script continue de tourner. Une fonction écrite en async se comporte autrement : elle laisse toujours passer le message, et quand elle échoue, c'est tout le script qui s'arrête, avec unhandled Promise rejection: dans Le comportement s'est arrêté sur une erreur. Dans les deux cas, le paquet a un bug. Prévenez son auteur, ou consultez Interception si c'est le vôtre. Ce qu'affiche le bot n'a aucun sens Quand votre Dofus et la version de jeu du bot diffèrent, Asterobot lit les messages de votre jeu avec les définitions d'une autre version : les noms, les champs et les objets peuvent paraître plausibles tout en étant faux. Sur un seul ordinateur, Asterobot refuse de se mettre en attente dans ce cas. Sur plusieurs machines, rien ne le vérifie : comparez la ligne Version= de l'ordinateur où tourne Dofus avec le Gestionnaire de jeux après chaque mise à jour de Dofus. Pour aller plus loin Mode MITM MITM sur plusieurs machines Erreurs de paquet
-
Le bot ne se connecte pas
Un bot en mode Full socket, qu'Asterobot connecte tout seul, peut bloquer à n'importe quelle étape, du bouton Ajouter le bot qui refuse jusqu'au bot qui affiche Connecté au serveur de jeu sans jamais entrer en jeu. Pour un bot qui attend votre client Dofus en mode MITM (« homme du milieu », de l'anglais man-in-the-middle), voir Problèmes en mode MITM. Trouver la raison Quand une connexion échoue, Asteroboard affiche Impossible de connecter le bot avec la raison, et cette même raison reste dans une alerte Impossible de connecter ce bot sous l'en-tête du bot, sur chaque onglet. Copier la place dans votre presse-papiers. L'onglet Console du bot raconte chaque étape de la connexion : ses dernières lignes vous indiquent donc où elle s'est arrêtée. Deux échecs arrivent sans aucune raison : Impossible d'ajouter le bot, et un bot qui disparaît du Gestionnaire de bots. Leurs causes sont listées ci-dessous. Impossible d'ajouter le bot Asterobot a refusé le nouveau bot, et Asteroboard ne dit pas pourquoi. La fenêtre reste ouverte avec vos choix. Les causes : Le nom est déjà pris par un bot du Gestionnaire de bots. Le compte appartient déjà à un autre bot. Un compte Ankama ne peut appartenir qu'à un seul bot. Asterobot n'a pas pu confirmer votre compte asterobot.net, par exemple parce qu'il n'est pas connecté. Voir this installation is not entitled to start bots. La limite de bots de votre compte asterobot.net est atteinte. Chaque bot listé dans le Gestionnaire de bots compte, connecté ou non. Regardez le bouton du compte en bas de la barre latérale : il doit afficher votre nom asterobot.net. Vérifiez qu'aucun bot du Gestionnaire de bots ne porte le même nom, et qu'aucun autre bot n'utilise ce compte. Si vous avez beaucoup de bots, supprimez-en un dont vous ne vous servez plus. Cliquez de nouveau sur Ajouter le bot. Warning Dans quelques autres cas d'échec, le bot a bien été ajouté alors que la fenêtre reste ouverte, par exemple quand une connexion prend plus de 90 secondes. Regardez le Gestionnaire de bots avant de cliquer de nouveau sur Ajouter le bot : avec un nom vide, un second bot serait ajouté. Voir Ajouter un bot. Ajouter le bot reste grisé La fenêtre attend que tout ce dont elle a besoin soit renseigné, par exemple une version de jeu prête, un compte connecté pour Se connecter maintenant (l'option sélectionnée à l'ouverture de la fenêtre) ou un serveur pour Toujours ce serveur. Ajouter un bot liste toutes les conditions. Connecter est grisé Le bot n'est pas Déconnecté. Pendant que le bot se connecte, attend ou est connecté, l'en-tête affiche Déconnecter à la place. Cliquez d'abord dessus. Le bot n'a pas de compte Ankama. L'infobulle indique « Ce bot n'a aucun compte Ankama pour se connecter. » Il peut seulement relayer une partie que vous jouez, en mode MITM. Pour qu'il se connecte tout seul, choisissez un compte connecté dans son onglet Réglages pendant qu'il est déconnecté. La version du jeu du bot n'est pas encore prête Asteroboard affiche La version du jeu du bot n'est pas encore prête, avec « Ses fichiers de jeu ou ses données extraites ne sont pas complètement prêts - vérifiez le Gestionnaire de jeux pour cette version. » La raison dans l'alerte est this bot's game version is not ready to connect yet. Asterobot vérifie ce point avant que quoi que ce soit ne parte sur le réseau. Ouvrez le Gestionnaire de jeux et trouvez la version du bot. Sa colonne Prêt indique Pas prêt. S'il manque des fichiers, ouvrez le menu de la version et cliquez sur Télécharger plus de fichiers, avec le filtre par défaut. Une fois le téléchargement terminé, cliquez sur Extraire les données dans le même menu, et attendez Prêt pour un bot. Cliquez de nouveau sur Connecter. Problèmes de téléchargement du jeu vous aide quand le téléchargement ou l'extraction échoue. Les raisons d'un échec de connexion this installation is not entitled to start bots Asterobot n'a pas pu confirmer votre compte asterobot.net. Cela arrive quand Asterobot n'est pas connecté, quand il n'a pas pu joindre asterobot.net depuis plus d'une heure, ou quand asterobot.net l'a refusé. Asterobot fait cette vérification quand vous ajoutez un bot, quand vous changez le compte ou la version de jeu d'un bot, quand vous cliquez sur Connecter, et quand il restaure les bots à son lancement. Mettre un bot en attente de votre client Dofus n'est pas concerné. Regardez le bouton du compte en bas de la barre latérale. S'il n'affiche pas votre nom asterobot.net, connectez-vous comme l'explique Se connecter avec asterobot.net. Vérifiez que l'ordinateur où tourne Asterobot peut joindre asterobot.net, et consultez https://status.asterobot.net. Cliquez de nouveau sur Connecter. Si le problème persiste alors qu'Asterobot est connecté et en ligne, demandez sur le forum à https://asterobot.net/forums/ ou sur Discord à https://discord.asterobot.net. this account's bot limit has been reached Vous avez déjà autant de bots que votre compte asterobot.net le permet. Chaque bot du Gestionnaire de bots compte, y compris les bots déconnectés. Supprimez un bot dont vous ne vous servez plus, puis réessayez. Si ce décompte vous semble faux, demandez sur le forum ou sur Discord. ankama account authorization required Le compte Ankama du bot n'a plus de connexion valide, et Asterobot n'a pas pu la renouveler : Ankama a refusé le renouvellement discret, et soit le compte n'a pas de mot de passe enregistré, soit sa connexion automatique a échoué. Ouvrez le Gestionnaire de comptes et cliquez sur Reconnecter dans le menu du compte. Connectez le compte. Problèmes de connexion aux comptes vous aide si cela échoue. Cliquez de nouveau sur Connecter sur le bot. account not found Le compte du bot a été supprimé du Gestionnaire de comptes. La raison est suivie de l'identifiant du compte. Ajoutez de nouveau le compte avec le même identifiant et connectez-le, puis cliquez sur Connecter. Ou choisissez un autre compte connecté dans l'onglet Réglages du bot, pendant que le bot est déconnecté. identification was refused: account already connected elsewhere Le compte est déjà en jeu : dans Dofus, ou par un autre bot, y compris un bot qui relaie votre Dofus en mode MITM. Fermez l'autre session : quittez Dofus, ou déconnectez l'autre bot. Attendez un instant, puis cliquez de nouveau sur Connecter. Quand la raison indique identification was refused: suivi d'autre chose, c'est Ankama qui donne là sa propre raison de refuser le compte. Les comptes protégés par Ankama Shield ou par l'authentification à deux facteurs peuvent s'arrêter ici : voir Shield et authentification à deux facteurs. connect to login server: timed out waiting for a response Le serveur de connexion du jeu n'a pas répondu dans les 30 secondes. Vérifiez la connexion internet de l'ordinateur où tourne Asterobot, et si les serveurs du jeu sont en maintenance, puis réessayez. server selection was refused: Le serveur de connexion a refusé le serveur choisi par le bot, avec sa propre raison après les deux-points. Réessayez plus tard, ou réglez Choix du serveur sur Me demander à chaque fois dans l'onglet Réglages du bot et choisissez un autre serveur. connect bot to game server: L'étape du serveur de connexion a réussi, mais le bot n'a pas pu ouvrir sa connexion au serveur de jeu vers lequel il a été envoyé. Vérifiez la connexion internet et le pare-feu de l'ordinateur où tourne Asterobot, puis cliquez sur Déconnecter et de nouveau sur Connecter. a connection attempt is already in progress Un bot ne mène qu'une tentative de connexion à la fois, et une seconde est arrivée, en général depuis un autre onglet Asteroboard ouvert. Attendez la fin de la première tentative, ou cliquez sur Déconnecter et recommencez depuis un seul onglet. bot must be disconnected before starting a new login connection et this bot is relaying a session: stop it before signing in on its own sont le même genre de refus : le bot est déjà connecté, ou en attente de votre client de jeu. Cliquez d'abord sur Déconnecter. Après une mise à jour de Dofus Juste après un patch d'Ankama, un bot sur la nouvelle version peut refuser de se connecter tant que votre version d'Asterobot ne la prend pas en charge. Quand Dofus se met à jour liste ce que vous pouvez voir, dont une raison qui vous demande de mettre à jour Asterobot. Bloqué sur Connexion… Une connexion Ankama automatique est en cours. Quand la connexion du compte ne fonctionne plus et qu'un mot de passe est enregistré, Asterobot reconnecte le compte par le navigateur, ce qui peut prendre jusqu'à deux minutes. Un autre compte est en train de se connecter. Les connexions Ankama se font une par une pour l'ensemble de vos comptes : un bot attend donc celle qui passe avant lui. Le serveur de connexion est lent. Chaque échange avec lui est limité à 30 secondes, après quoi la connexion échoue avec une raison. Pour abandonner, cliquez sur Déconnecter : cela annule la tentative à n'importe quelle étape. Bloqué sur En attente de votre réponse Le bot attend que vous choisissiez un serveur dans l'encadré Choisissez un serveur, sous son en-tête. Il pose la question quand son Choix du serveur est Me demander à chaque fois, quand le serveur choisi avec Toujours ce serveur est hors ligne ou fermé à ce compte, et quand aucun serveur n'est en ligne et ouvert à ce compte. Asterobot ne fixe aucune limite de temps pour répondre. Ouvrez la page du bot. Une notification comme Le bot « my-bot » a besoin de votre saisie comporte un bouton Aller au bot qui l'ouvre. Cliquez sur un serveur qui n'est pas grisé. Si Asteroboard affiche Impossible d'envoyer votre réponse, le serveur est peut-être passé hors ligne entre-temps : choisissez-en un autre, ou cliquez sur Déconnecter, puis sur Connecter. Voir Mode Full socket. Connecté au serveur de jeu, mais le bot n'entre jamais en jeu C'est la surprise la plus courante en mode Full socket. Connecté au serveur de jeu signifie que la connexion au serveur de jeu est ouverte, rien de plus. Asterobot n'identifie pas le bot auprès du serveur de jeu et ne choisit pas de personnage : c'est le travail d'un script de connexion, un paquet que le bot lance. L'état affiché est le même, que le script ait fait son travail ou non. Note Bientôt disponible. Des scripts de connexion prêts à l'emploi, un simple et un complet, seront publiés pour que vous puissiez les lancer et les réutiliser. D'ici là, il vous faut votre propre script : Identifier et lancer montre l'identification dont tout script Full socket a besoin. Vous pouvez aussi utiliser le mode MITM, qui n'a besoin d'aucun script de connexion. Passez ces vérifications : Un script tourne-t-il ? Pendant qu'il tourne, l'en-tête affiche le paquet et Arrêter, et la colonne Comportement du Gestionnaire de bots indique En cours. Avec Aucun paquet sélectionné, ou si Lancer est toujours affiché, rien n'identifie le bot : chargez un script de connexion et cliquez sur Lancer. Voir Lancer un paquet. Le paquet est-il un script de connexion ? Un paquet conçu pour autre chose, par exemple pour consigner le chat, n'identifie pas le bot. Le code de départ que crée Nouveau paquet non plus. Que dit la Console du bot ? Les lignes écrites par le script vous disent comment s'est passée l'identification. Le script s'est-il arrêté ? Une alerte Le comportement s'est arrêté sur une erreur sous l'en-tête donne l'erreur. Avec IdentificationRequest.token: unknown protobuf field, le script a été copié d'un ancien exemple qui envoie token et lang : il lui faut le bloc d'identification de Identifier et lancer. Si vous n'avez pas écrit le paquet, demandez une mise à jour à son auteur. Erreurs de paquet couvre les autres erreurs. L'état revient à Connecté au serveur de connexion La connexion de jeu du bot s'est fermée. La console affiche Game connection lost, et l'état reste sur Connecté au serveur de connexion au lieu de Déconnecté. Un script en cours s'arrête, avec Le comportement s'est arrêté sur une erreur et un message qui mentionne Game session closed. Rien ne se reconnecte tout seul : Cliquez sur Déconnecter. Cliquez sur Connecter, et attendez Connecté au serveur de jeu. Cliquez sur Lancer. Si la connexion retombe juste après Lancer, lisez les lignes du script dans la console du bot pour voir ce qu'il a envoyé. Un bot a disparu du Gestionnaire de bots Après le lancement d'Asterobot. Asterobot a ignoré le bot, parce que son compte Ankama ou sa version de jeu manque, parce qu'il n'a pas pu préparer les connexions Ankama, ou parce qu'il n'a pas pu confirmer votre compte asterobot.net dans ses premières secondes. Dans ce dernier cas, tous les bots sont ignorés. Le terminal affiche un avertissement qui commence par skipping bot restore:, avec la raison. La configuration du bot est conservée : corrigez la cause et redémarrez Asterobot. Voir Déconnecter, supprimer et redémarrer. Juste après l'enregistrement de ses réglages. Quand Asterobot refuse un nouveau compte ou une nouvelle version de jeu, par exemple avec this account is already associated with a bot, ou ne peut pas confirmer votre compte asterobot.net à ce moment-là, le bot disparaît jusqu'au redémarrage d'Asterobot, puis revient avec ses réglages précédents. Voir Réglages du bot. Warning N'ajoutez pas de nouveau bot portant le nom d'un bot disparu : il remplacerait pour de bon la configuration enregistrée du bot manquant. Impossible d'enregistrer les réglages Asteroboard affiche la raison sous Impossible d'enregistrer les réglages. Celles que vous rencontrerez le plus sont this account is already associated with a bot, quand un autre bot utilise le compte choisi, et this installation is not entitled to start bots, traitée plus haut. Réglages du bot indique quand Enregistrer reste grisé. Pour aller plus loin États et commandes Mode Full socket Erreurs de paquet
-
Problèmes de connexion aux comptes
Asterobot gère deux connexions qui n'ont rien à voir entre elles. Il se connecte lui-même à votre compte asterobot.net, avec un code que vous confirmez sur le site, et il connecte les comptes Ankama avec lesquels jouent vos bots en mode Full socket. Un bot en mode MITM (« homme du milieu », de l'anglais man-in-the-middle) n'a besoin d'aucune connexion Ankama dans Asterobot : vous vous connectez vous-même, dans Dofus. asterobot.net Se connecter avec asterobot.net explique comment fonctionne le code quand tout se passe bien. Cliquer sur Se connecter ne fait rien Le bouton du compte reste sur Se connecter, et aucun lien n'arrive. Soit Asterobot a demandé un code à asterobot.net sans en obtenir, soit votre clic n'a jamais atteint Asterobot. Dans les deux cas, Asteroboard n'affiche aucun message. Vérifiez qu'Asteroboard est connecté : pas de point rouge sur Préférences dans la barre latérale. S'il y en a un, voir Asteroboard ne se connecte pas. Cherchez dans le terminal d'Asterobot, ou sur Serveur > Console, l'avertissement Failed to request a sign-in code, suivi de la raison. Vérifiez que l'ordinateur où tourne Asterobot peut joindre asterobot.net, et consultez https://status.asterobot.net. Cliquez de nouveau sur Se connecter. Connexion en attente, mais aucun onglet ne s'est ouvert Asterobot n'ouvre un onglet de navigateur de lui-même que pour le premier code après avoir perdu sa connexion, et seulement sur l'ordinateur où il tourne. Sur une machine sans environnement de bureau, le terminal affiche Failed to open the web browser à la place. Le code attend quand même. Cliquez sur le bouton du compte, qui indique Connexion en attente : il ouvre le lien de connexion dans un nouvel onglet, sur l'appareil que vous utilisez. Ou copiez le lien depuis le terminal, sur la ligne qui suit Website sign-in required. Please visit this link to authorize access to your account; the app will continue automatically once authorized. Ou activez website.showQRCode sur Serveur > Config, et scannez le QR code que le terminal affiche avec le code suivant. Sign-in was not completed in time; it will be offered again Asterobot a cessé d'attendre le code. Soit personne ne l'a confirmé dans les 15 minutes, soit quelqu'un l'a refusé sur asterobot.net : les deux cas se terminent par cette même ligne. Le bouton du compte revient sur Se connecter, et Asterobot redemande un code de lui-même au bout de quelques minutes. Pour obtenir un nouveau code tout de suite, rechargez Asteroboard. Si le bouton du compte indique Se connecter, cliquez dessus. Ouvrez le nouveau lien et confirmez le code dans les 15 minutes. This code is invalid or has expired. Check the code displayed on your device and try again. asterobot.net affiche ce message quand le code ne correspond à aucune connexion en attente : il a été mal saisi, il a déjà servi, ou il date de plus de 15 minutes. Comparez-le avec le code à la fin du lien, après code=. Un code compte huit caractères, des chiffres et des lettres de A à F. Les espaces, les traits d'union et les minuscules n'ont pas d'importance. S'il date de plus de 15 minutes, obtenez-en un nouveau comme décrit dans la section précédente. Too many incorrect codes have been entered. Wait a few minutes and try again. 20 codes ne correspondant à aucune connexion en attente ont été saisis depuis votre connexion internet en moins de 15 minutes, et asterobot.net a cessé pour un temps de vérifier les codes venant de cette connexion. Un code qui n'a pas le bon format ne compte pas. Arrêtez de saisir des codes. Patientez. Vous pourrez de nouveau saisir des codes au plus tard 15 minutes après le dernier code erroné. Ouvrez le lien depuis le bouton du compte au lieu de saisir le code : il transmet le code à votre place. The authorization was denied. You can close this page; your device will stop waiting shortly. Quelqu'un a refusé l'accès à Asterobot sur la page d'autorisation d'asterobot.net. Asterobot cesse d'attendre et affiche Sign-in was not completed in time; it will be offered again. Si c'était une erreur, obtenez un nouveau code et autorisez l'accès cette fois. Start again from your device. Trois messages d'asterobot.net se terminent ainsi : This authorization link is invalid or has expired. Start again from your device. This authorization session has expired. Start again from your device. The authorization could not be completed. Start again from your device. La page a été ouverte depuis un lien périmé ou abîmé, le code a expiré pendant que vous vous connectiez, ou asterobot.net n'a pas pu terminer. Ouvrez le lien le plus récent depuis le bouton du compte. Si le bouton indique Se connecter, cliquez dessus pour obtenir un nouveau code. Website rejected the token asterobot.net n'accepte plus la connexion d'Asterobot, par exemple parce qu'elle a expiré ou a été révoquée. Asterobot l'oublie et démarre aussitôt une nouvelle connexion : après cet avertissement, le terminal affiche un nouveau lien, et le bouton du compte passe sur Connexion en attente. Confirmez le nouveau code. Asterobot reste déconnecté après un redémarrage Après Se déconnecter sur le bouton du compte, ou Déconnecter sur la page Compte, Asterobot ne se reconnecte pas de lui-même, pas même à son redémarrage. Cliquez sur Se connecter sur le bouton du compte. Voir Votre compte. Asterobot est connecté avec le mauvais compte Le code est confirmé pour le compte avec lequel votre navigateur est connecté sur asterobot.net à ce moment-là. Déconnectez Asterobot, connectez-vous au bon compte sur le site, puis cliquez de nouveau sur Se connecter. Votre compte détaille la marche à suivre. Connecté, mais les bots sont refusés Quand Asterobot est connecté et refuse pourtant d'ajouter ou de connecter des bots avec this installation is not entitled to start bots, voir Le bot ne se connecte pas. Comptes Ankama Connexion automatique et Connexion manuelle expliquent les deux façons de connecter un compte. Connecter automatiquement n'apparaît pas dans le menu Connecter automatiquement n'apparaît que pour un compte dont le mot de passe est enregistré. Ouvrez le menu du compte, cliquez sur Connecter, puis enregistrez le mot de passe avec Enregistrer un mot de passe Ankama pour la connexion automatique en bas de la fenêtre. Voir Connexion manuelle. Échec de la connexion automatique : ankama account authorization required Après Échec de la connexion automatique, le message commence par ankama account authorization required, suivi de l'adresse de la page de connexion d'Ankama, et se termine en vous demandant d'enregistrer un code dans la configuration. Ignorez cette fin : la connexion se fait dans la fenêtre d'Asteroboard. Le message est le même quel que soit le problème, alors commencez par trouver la vraie raison. Ouvrez le terminal d'Asterobot, ou Serveur > Console. Cherchez l'avertissement Automatic Ankama sign-in failed, a person has to sign in. Son erreur commence par browser sign-in failed:, puis indique ce qui s'est passé. Retrouvez ce texte dans le tableau ci-dessous. L'erreur contient Ce qui s'est passé Que faire failed to start a browser (is Chrome, Chromium or Edge installed?) Asterobot n'a trouvé sur son ordinateur aucun navigateur qu'il puisse lancer. Installez Chrome, Chromium ou Edge sur l'ordinateur où tourne Asterobot, ou indiquez son chemin dans zaapmanager.browserPath. Quand ce réglage est rempli, Asterobot n'essaie que ce navigateur. ankama's sign-in page is asking for a human (bot challenge or captcha) Le formulaire de connexion d'Ankama n'est pas apparu dans les 30 secondes, ou la page n'était pas le formulaire qu'attend Asterobot. Voir Ankama demande une intervention humaine. the request was refused by Ankama's edge network before Ankama saw it Le navigateur a reçu une page de blocage avant d'atteindre Ankama. Le compte lui-même n'a pas été vérifié. Réessayez plus tard, ou connectez-vous à la main. ankama did not accept the sign-in (wrong password, a verification step, or a challenge raised after submitting) Le formulaire a été envoyé, mais la page de confirmation d'Ankama n'est pas arrivée dans les 60 secondes. Vérifiez le mot de passe et enregistrez-le de nouveau. Si Ankama demande une étape de vérification pour ce compte, celui-ci ne peut pas se connecter automatiquement : voir Shield et authentification à deux facteurs. failed to open ankama's sign-in page, failed to fill ankama's sign-in form ou failed to submit ankama's sign-in form Le navigateur n'a pas pu charger la page d'Ankama, ou n'a pas pu utiliser son formulaire. Vérifiez la connexion internet de l'ordinateur où tourne Asterobot, puis connectez-vous à la main. browser signed in but the Continue link carried no code La connexion a réussi, mais le lien derrière Continuer ne contenait aucun code. Connectez-vous à la main. Quand vous avez lancé la tentative avec le bouton Connecter automatiquement de la fenêtre de connexion, celle-ci affiche aussi une image de la page où se trouvait le navigateur au moment où il a abandonné. C'est souvent le moyen le plus rapide de distinguer un captcha d'un mauvais mot de passe. Ankama demande une intervention humaine Ankama place parfois une vérification ou un captcha devant son formulaire, et la connexion automatique n'essaie pas de la franchir. Vous avez deux solutions : Se connecter à la main, dans votre propre navigateur, depuis la fenêtre de connexion du compte, sous « ou connectez-vous vous-même ». Cela fonctionne quel que soit l'endroit où tourne Asterobot. Voir Connexion manuelle. Répondre dans la fenêtre du navigateur de connexion, quand Asterobot tourne sur l'ordinateur devant lequel vous êtes : désactivez zaapmanager.browserHeadless sur Serveur > Config, relancez la connexion automatique, répondez vite dans la fenêtre qui s'ouvre, puis réactivez le réglage. Voir Connexion automatique. Connecter automatiquement semble bloqué Une connexion par le navigateur peut prendre jusqu'à deux minutes. De plus, les connexions Ankama se font une par une pour l'ensemble de vos comptes : un compte attend donc pendant qu'un autre se connecte. Attendez le résultat avant de cliquer de nouveau. Impossible de démarrer la connexion Ouvrir la connexion Ankama a échoué. La première fois qu'Asterobot prépare une connexion Ankama après son lancement, il récupère auprès d'Ankama la version actuelle de l'Ankama Launcher, et cette étape n'a pas fonctionné. Vérifiez la connexion internet de l'ordinateur où tourne Asterobot, puis cliquez de nouveau sur Ouvrir la connexion Ankama. Impossible de terminer la connexion - le code a peut-être expiré, réessayez Asterobot n'a pas pu échanger ce que vous avez collé contre la connexion du compte. Un code ne sert qu'une fois, et uniquement pour la connexion pour laquelle il a été créé. Les causes courantes : Le lien a été copié en partie seulement, ou c'est l'adresse de la page Félicitations d'Ankama au lieu du lien derrière son bouton Continuer. Le code a déjà servi, ou vient d'un ancien onglet : chaque clic sur Ouvrir la connexion Ankama démarre une nouvelle connexion, et seul son propre code correspond. Asterobot a redémarré après votre clic sur Ouvrir la connexion Ankama. Fermez la fenêtre. Rouvrez-la depuis le menu du compte et cliquez sur Ouvrir la connexion Ankama. Connectez-vous, faites un clic droit sur Continuer, copiez l'adresse du lien, qui commence par zaap://login?code=, et collez-la dans Code d'autorisation. Cliquez sur Valider. Le même message apparaît quand Asterobot refuse des jetons saisis dans Saisir les jetons manuellement (debug), par exemple une date d'expiration qu'il ne sait pas lire. Échec de la vérification - essayez de vous reconnecter Vérifier a interrogé Ankama, la connexion du compte ne fonctionnait pas, et Asterobot n'a pas pu la réparer : le renouvellement discret a été refusé, et une connexion par le navigateur n'était pas possible ou a échoué elle aussi. Cliquez sur Reconnecter dans le menu du compte et connectez-vous de nouveau. Impossible de rafraîchir le jeton - essayez de vous reconnecter Ankama a refusé Forcer le rafraîchissement du jeton, ou le compte n'a pas de jeton de rafraîchissement. Cette action ne se rabat jamais sur le navigateur. Cliquez sur Reconnecter et connectez-vous de nouveau. Le compte affiche Connecté, et les bots échouent avec ankama account authorization required Connecté signifie seulement qu'Asterobot détient les jetons du compte, pas qu'Ankama les accepte encore. Quand un bot se connecte, Asterobot met réellement la connexion à l'épreuve : il la renouvelle discrètement quand Ankama le permet, reconnecte par le navigateur un compte dont le mot de passe est enregistré, et sinon la connexion échoue avec ce message. Dans le Gestionnaire de comptes, cliquez sur Vérifier dans le menu du compte. En cas d'échec, cliquez sur Reconnecter et connectez-vous. Connectez de nouveau le bot. Quand le compte a un mot de passe enregistré et échoue quand même, le journal d'Asterobot donne la raison, comme décrit dans Échec de la connexion automatique. Comptes avec Ankama Shield ou authentification à deux facteurs Ces comptes ne peuvent pas servir en mode Full socket : la connexion automatique ne sait pas répondre à l'étape supplémentaire, et le mode Full socket ne les prend pas en charge même quand ils affichent Connecté. Utilisez le mode MITM, où vous vous connectez vous-même dans Dofus. Voir Shield et authentification à deux facteurs. Pour aller plus loin Le bot ne se connecte pas État et actions d'un compte Obtenir de l'aide
-
Asteroboard ne se connecte pas
Asteroboard n'a rien à afficher par lui-même : chaque bot, chaque réglage et chaque version de jeu de ses pages vient de votre Asterobot. Quand les deux ne communiquent plus, les pages restent vides et vos clics n'aboutissent pas. Les causes ci-dessous commencent par la plus courante. Comment le reconnaître Où Ce que vous voyez Une notification Serveur déconnecté, avec « Asteroboard a perdu la connexion au serveur Asterobot. Nouvelle tentative automatique… » La barre latérale Un point rouge qui clignote sur Préférences Serveur > État Un point rouge et Déconnecté, ou un point orange et Connexion en cours… pendant qu'Asteroboard essaie Préférences, dans la section Serveur Le badge Déconnecté à côté de Tester la connexion La page d'un bot « Ce bot n'est pas enregistré (ou a été supprimé). » avec « Il a peut-être été supprimé, ou le serveur qui l'héberge n'est pas joignable. » Asteroboard essaie de se reconnecter tout seul, une fois par seconde, tant que la page est ouverte. Il affiche Serveur déconnecté une seule fois quand il perd Asterobot, pas à chaque tentative, puis Serveur connecté quand la connexion revient. Inutile de recharger la page. Pour vérifier tout de suite, ouvrez Préférences, allez dans la section Serveur et cliquez sur Tester la connexion. Asteroboard envoie une requête à l'adresse indiquée dans URL du serveur : Serveur joignable, avec une ligne comme « Latence aller-retour : 12 ms » : Asterobot a répondu. Si le badge n'indiquait pas encore Connecté, Asteroboard se reconnecte aussitôt. Serveur injoignable : rien n'a répondu à cette adresse. Lisez la suite. Asterobot ne tourne pas C'est la cause la plus courante. Asterobot s'arrête quand sa fenêtre de terminal est fermée, quand quelqu'un clique sur Éteindre le serveur, quand on appuie sur Ctrl+C dans son terminal ou quand l'ordinateur redémarre. Asteroboard ne peut pas le relancer. Allez sur l'ordinateur où tourne Asterobot et cherchez sa fenêtre de terminal. S'il n'y en a pas, relancez Asterobot comme l'explique Premier lancement. Attendez Server listening dans le terminal. Asteroboard se connecte tout seul et affiche Serveur connecté. Vos bots reviennent déconnectés : rien ne se reconnecte et aucun paquet ne se relance tout seul. Voir Déconnecter, supprimer et redémarrer. An error occurred during the server's initialization process Asterobot affiche ce message et s'arrête peu après son lancement : il n'a pas pu écouter sur son adresse. La suite de la ligne commence par failed to make server listen:, suivi de la raison donnée par votre système. Deux choses peuvent vous induire en erreur. Le terminal affiche Server listening juste avant l'erreur, parce qu'Asterobot écrit cette ligne avant d'essayer. Et votre navigateur peut encore ouvrir http://127.0.0.1:8080, qui affiche alors ce qui occupe déjà ce port : si c'est une autre copie d'Asterobot, vous arrivez sur un Asteroboard connecté à cette autre copie. Les causes habituelles : Une autre copie d'Asterobot tourne déjà, dans une autre fenêtre de terminal, dans un multiplexeur de terminal comme tmux ou en tant que service. Servez-vous de celle-là, ou arrêtez-la avant d'en lancer une nouvelle. Un autre programme utilise le port 8080. Donnez un autre port à Asterobot, comme ci-dessous. server.listenAddress indique une adresse que cet ordinateur n'a pas, par exemple une adresse réseau qui a changé depuis que vous l'avez réglée. Remettez 127.0.0.1:8080, ou l'adresse actuelle. Comme Asterobot ne tourne pas, modifiez le réglage dans config.toml avec un éditeur de texte. Fichiers et dossiers indique où se trouve le fichier. Ouvrez config.toml. Ajoutez ces lignes, ou changez la valeur si une section [server] existe déjà : [server] listenAddress = "127.0.0.1:8081" Enregistrez le fichier et relancez Asterobot. Ouvrez http://127.0.0.1:8081 dans votre navigateur, pour qu'Asteroboard prenne la nouvelle adresse. En mode MITM (« homme du milieu », de l'anglais man-in-the-middle), la ligne qu'Asterobot écrit dans votre dossier Dofus suit le nouveau port d'elle-même. Comment les parties communiquent traite aussi des deux ports MITM. L'URL du serveur pointe ailleurs Asterobot tourne, son terminal affiche Server listening, et pourtant Asteroboard reste déconnecté. Asteroboard se connecte à l'adresse enregistrée comme URL du serveur dans le navigateur que vous utilisez, et cette adresse ne mène pas à votre Asterobot. Cela arrive après un changement de server.listenAddress, quand le navigateur garde l'adresse d'un autre Asterobot, par exemple une machine distante ou un tunnel SSH sur un autre port, ou après une faute de frappe. Sur l'ordinateur où tourne Asterobot, ouvrez http://127.0.0.1:8080 dans le navigateur, avec le port de server.listenAddress si vous l'avez changé. Asterobot vous renvoie vers Asteroboard, qui remplace son URL du serveur par cette adresse. Depuis un autre appareil, ou pour saisir l'adresse vous-même, ouvrez Préférences, tapez-la dans URL du serveur avec le schéma, l'adresse et le port, par exemple http://127.0.0.1:8080, puis appuyez sur Entrée. Cliquez sur Tester la connexion. Chaque navigateur garde sa propre URL du serveur, une seule à la fois. Préférences explique ce champ. L'adresse s'ouvre, mais Asteroboard reste déconnecté C'est presque toujours une affaire de HTTPS ou de mot de passe, réglés avec server.tls et server.basicAuth. Les requêtes qu'Asteroboard envoie lui-même ne peuvent afficher ni avertissement de certificat ni demande de mot de passe : elles échouent sans rien dire tant que le navigateur n'a pas accepté les deux sur une page que vous avez ouverte vous-même. Ce que vous voyez Que faire Client sent an HTTP request to an HTTPS server. server.tls est activé, et l'adresse commence par http://. Utilisez https://. Serveur déconnecté juste après un redémarrage qui a activé server.tls L'URL du serveur d'Asteroboard commence encore par http://. Ouvrez https://127.0.0.1:8080, acceptez l'avertissement, et Asteroboard prend la nouvelle adresse. Serveur injoignable, alors que l'adresse en https:// est correcte Ouvrez cette adresse dans un onglet du même navigateur, acceptez l'avertissement de certificat et saisissez un identifiant et un mot de passe de server.basicAuth. Revenez ensuite sur Asteroboard. Ça marchait hier, plus aujourd'hui Les navigateurs oublient le mot de passe quand ils se ferment, et certains oublient au bout d'un moment votre choix sur le certificat. Rouvrez l'adresse. Le navigateur redemande sans cesse le mot de passe L'identifiant et le mot de passe doivent correspondre exactement à une paire de server.basicAuth. Important Avec server.tls activé, ou quoi que ce soit dans server.basicAuth, le mode MITM ne fonctionne plus. Voir Problèmes en mode MITM. Depuis un téléphone ou un autre ordinateur Par défaut, Asterobot n'accepte que les connexions venant de l'ordinateur sur lequel il tourne : un autre appareil ne peut pas du tout le joindre. L'ouvrir à votre réseau demande quelques réglages et un redémarrage. Asteroboard sur un autre appareil les détaille, et Asterobot sur une machine distante couvre le cas d'un serveur. Si c'est fait et que la connexion ne passe toujours pas, vérifiez ces points : L'adresse commence par https://. Les navigateurs ne laissent pas la page d'Asteroboard, servie en HTTPS, envoyer des requêtes en simple http:// à un autre appareil. Seul l'appareil sur lequel tourne le navigateur y a droit, c'est pourquoi http://127.0.0.1:8080 fonctionne là et nulle part ailleurs. L'autre solution est un tunnel SSH. Asterobot a été redémarré après la modification de server.listenAddress, server.tls ou server.basicAuth. Aucun de ces réglages ne s'applique avant. server.listenAddress ne commence plus par 127.0.0.1, une adresse qu'aucun autre appareil ne peut joindre. Le pare-feu de l'ordinateur qui fait tourner Asterobot accepte les connexions TCP entrantes sur le port. L'autorisation de votre navigateur. Certains navigateurs demandent si asteroboard.asterobot.net peut accéder aux appareils de votre réseau local. Autorisez-le. Le tunnel SSH est toujours ouvert, si vous en utilisez un. Quand il se ferme, Asteroboard affiche Serveur déconnecté, puis se reconnecte tout seul une fois le tunnel rétabli. Asteroboard lui-même ne se charge pas La page d'Asteroboard vient de https://asteroboard.asterobot.net. La première fois que vous l'ouvrez dans un navigateur, ce navigateur a besoin d'une connexion internet. Ensuite, Asteroboard s'ouvre sans connexion, du moment qu'il peut joindre Asterobot. Ce que vous voyez Ce que ça signifie Que faire La page ne s'ouvre pas du tout Le navigateur ne peut pas joindre asteroboard.asterobot.net et n'en a encore aucune copie. Vérifiez votre connexion internet, et consultez https://status.asterobot.net. Mode hors ligne indisponible « Cet appareil n'a pas pu tout préparer pour une utilisation hors ligne. » Asteroboard fonctionne, mais certaines fonctionnalités peuvent nécessiter une connexion internet. Rien, sauf si vous en avez besoin hors ligne. Mise à jour disponible, avec Actualiser Une nouvelle version d'Asteroboard est prête. Cliquez sur Actualiser, ou rechargez la page. Une ancienne version, ou un comportement étrange après une mise à jour La copie d'Asteroboard gardée par le navigateur n'est plus à jour. Utilisez Réinitialiser les données hors ligne. Voir Réinitialiser et repartir de zéro. Page introuvable L'adresse ne correspond à aucune page d'Asteroboard. Cliquez sur Aller au tableau de bord. Une erreur est survenue « Asteroboard n'a pas pu afficher cette page. » Cliquez sur Retour, ou rechargez. Si cela se reproduit, ouvrez Détails techniques et notez le Statut et l'Adresse demandée pour votre demande d'aide. Toujours bloqué Lisez le terminal d'Asterobot. Serveur > Console ne reçoit des lignes que lorsqu'Asteroboard est connecté, donc le terminal est le seul endroit qui montre ce qui s'est passé avant. Demandez sur le forum ou sur Discord, en indiquant votre version d'Asterobot, l'adresse que vous utilisez et les dernières lignes du terminal. Obtenir de l'aide indique ce qu'il faut joindre et ce qu'il ne faut jamais partager. Pour aller plus loin Comment les parties communiquent Préférences État et console
-
Mettre à jour Asterobot
Asterobot ne se met pas à jour tout seul : quand une nouvelle version sort, vous remplacez le programme à la main. Cela prend quelques minutes, et vos bots, comptes, paquets, versions de jeu et réglages sont tous conservés. Asteroboard, lui, se met à jour tout seul. Savoir quand une nouvelle version sort À chaque démarrage, Asterobot consulte asterobot.net. Quand une version plus récente est publiée, le terminal affiche An Asterobot update is available avec la version et le lien, et Asteroboard affiche Mise à jour d'Asterobot disponible avec un bouton Voir sur asterobot.net. Messages et mises à jour détaille cette vérification. Vous pouvez aussi comparer vous-même : votre version est indiquée dans Serveur > État, et la dernière sur la page du fichier Asterobot, à l'adresse https://asterobot.net/files/category/3-asterobot/. Ce qu'une mise à jour conserve Le programme tient en un seul fichier, et Asterobot ne stocke rien à côté. Tout le reste se trouve dans les dossiers de votre profil utilisateur (Fichiers et dossiers), que la nouvelle version utilise tels quels : vos bots, comptes Ankama et paquets ; vos versions de jeu et leurs données de jeu extraites ; les réglages que vous avez modifiés, et la connexion à asterobot.net. Un réglage que vous n'avez jamais modifié prend la valeur par défaut de la nouvelle version, si cette valeur a changé. Un réglage que vous avez modifié garde votre valeur (La page Config). Rien n'a besoin d'être exporté au préalable. Si vous voulez tout de même une copie de sécurité, suivez Sauvegarder votre Asterobot. Faire la mise à jour Téléchargez la nouvelle archive pour votre système et votre processeur, du même type que celle que vous utilisez actuellement, et vérifiez-la avec checksums.txt. Télécharger Asterobot explique les deux étapes. Arrêtez Asterobot, avec Ctrl+C dans son terminal ou Éteindre le serveur dans Serveur > État, et attendez qu'il soit complètement fermé. Un arrêt normal lui permet de déconnecter vos bots et de remettre en place la ligne qu'il a pu modifier dans votre dossier Dofus pour le mode MITM, pour « homme du milieu » (man-in-the-middle). Décompressez l'archive et remplacez l'ancien programme par le nouveau : asterobot.exe sous Windows, asterobot sous macOS et Linux. Vous pouvez aussi le placer dans un autre dossier et supprimer l'ancien. Sous macOS et Linux, rendez de nouveau le fichier exécutable, depuis son dossier : chmod +x asterobot Démarrez Asterobot comme d'habitude (Premier lancement). La première ligne du terminal affiche maintenant la nouvelle version, tout comme Version dans Serveur > État. La notification de mise à jour ne s'affiche plus. Après la mise à jour Remettez vos bots en ligne. Comme après tout redémarrage, ils reviennent déconnectés et rien ne joue tout seul : cliquez sur Connecter ou Commencer l'attente, puis sur Lancer (Déconnecter, supprimer et redémarrer). Regardez la colonne Compatibilité du Gestionnaire de jeux. Chaque version d'Asterobot est testée avec une version précise de Dofus, qui peut changer d'une sortie à l'autre. Une version de jeu qui correspond affiche Compatible (Pourquoi Asterobot télécharge Dofus). Regardez vos paquets. Un paquet qui indique avec quelles versions d'Asterobot il fonctionne peut passer de Compatible à Incompatible, ou l'inverse, après une mise à jour (Qu'est-ce qu'un paquet). Asteroboard se met à jour tout seul Il n'y a rien à télécharger pour Asteroboard. Tant qu'il est ouvert, il cherche une nouvelle version toutes les 30 minutes, et affiche Mise à jour disponible quand elle est prête. Cliquez sur Actualiser, ou rechargez la page quand cela vous arrange, pour passer à la nouvelle version. Messages et mises à jour donne les détails, et explique quoi faire quand le passage ne se fait pas. Asterobot et Asteroboard ont des versions distinctes et se mettent à jour séparément. Où voir chaque numéro de version Version de Où la lire Asterobot La première ligne qu'affiche Asterobot au démarrage, juste après le mot Asterobot. La ligne Version dans Serveur > État. La commande ./asterobot --version, ou .\asterobot.exe --version sous Windows (Ligne de commande). Asteroboard Le haut de la barre latérale, à côté du nom, sous la forme v suivi du numéro. Ce lien mène aux notes de version d'Asteroboard, à l'adresse https://asterobot.net/release-note-asteroboard. La page À propos, après « Asteroboard version ». Pour aller plus loin Fichiers et dossiers Messages et mises à jour
-
Préférences
Préférences regroupe les options propres à Asteroboard : son apparence, et l'Asterobot auquel il se connecte. Elles sont enregistrées dans le navigateur que vous utilisez, donc chaque navigateur et chaque appareil a les siennes, et aucune ne change quoi que ce soit dans Asterobot. Les réglages d'Asterobot se trouvent dans Serveur > Config (La page Config). Dans la barre latérale, cliquez sur Préférences. La page comporte trois sections, que vous choisissez en haut : Apparence, qui s'ouvre en premier, Serveur et Zone dangereuse. Apparence Chaque modification s'applique immédiatement. Champ Ce qu'il change Choix Par défaut Langue La langue de l'interface d'Asteroboard. Anglais, français, espagnol La langue de votre navigateur, ou le français si votre navigateur en utilise une autre Mode d'affichage Interface claire ou sombre. Système, Clair, Sombre Système, qui suit votre système Couleur primaire La couleur d'accent principale. 17 couleurs, de Red à Rose Green Couleur neutre La teinte de gris du texte, des bordures et des arrière-plans. Slate, Gray, Zinc, Neutral, Stone, Taupe, Mauve, Mist, Olive Slate Rayon L'arrondi des coins des boutons, des cartes et des champs. 0, 0.125, 0.25, 0.375, 0.5 0.25 La liste des langues affiche chaque langue sous son propre nom, suivi de son nom dans la langue actuelle, comme « English (Anglais) ». Une fois un champ modifié, un petit bouton à côté permet de revenir à la valeur par défaut : Utiliser la langue du système pour la langue, Utiliser la valeur par défaut pour les couleurs et le rayon. Mode d'affichage n'en a pas besoin, puisque Système fait partie de ses choix. Visite d'Asteroboard montre l'effet de la langue sur les textes du jeu dans la page Jeu. Serveur Cette section indique à Asteroboard où se trouve votre Asterobot. Sans adresse qui fonctionne, Asteroboard n'a rien à afficher. URL du serveur L'adresse à laquelle Asteroboard se connecte. Elle vaut http://127.0.0.1:8080 par défaut, ce qui convient quand Asterobot tourne sur le même ordinateur avec ses réglages par défaut. Vous avez rarement besoin de la taper. Quand vous ouvrez l'adresse d'Asterobot lui-même dans votre navigateur, http://127.0.0.1:8080 par défaut, vous arrivez sur Asteroboard avec cette adresse déjà dans URL du serveur. Elle remplace ce que contenait le champ, sans rien vous demander. Pour la modifier à la main : Tapez l'adresse dans URL du serveur, avec http:// ou https://, l'adresse de l'ordinateur et le port, comme http://192.168.1.20:8080. Appuyez sur Entrée ou cliquez en dehors du champ. Asteroboard se connecte aussitôt à la nouvelle adresse. Il abandonne ce qu'il affichait de l'Asterobot précédent, y compris les lignes de Serveur > Console, et recharge tout depuis le nouveau. Les barres obliques en fin d'adresse sont retirées. Vous en aurez besoin pour un Asterobot sur un autre appareil, sur un autre port ou en HTTPS : voir Asteroboard sur un autre appareil. Connexion Le badge affiche l'état de la connexion en direct : Connexion en cours…, Connecté ou Déconnecté. Tester la connexion envoie une seule requête à Asterobot et vous indique le résultat : Serveur joignable, avec la durée de l'aller-retour, comme « Latence aller-retour : 12 ms ». Si le badge n'indiquait pas encore Connecté, Asteroboard se reconnecte immédiatement. Serveur injoignable : Asterobot n'a pas répondu à cette adresse. Vérifiez qu'Asterobot tourne et que l'URL du serveur est correcte, puis consultez Asteroboard ne se connecte pas. Un test est utile juste après avoir changé l'adresse ou redémarré Asterobot. Zone dangereuse Ces deux boutons effacent ce qu'Asteroboard garde dans le navigateur que vous utilisez, puis rechargent la page. Ils ne touchent jamais à Asterobot : vos bots, comptes, paquets et réglages restent tels quels. Votre navigateur vous demande de confirmer chacun d'eux. Réinitialiser les données hors ligne Asteroboard garde une copie de lui-même dans votre navigateur pour s'ouvrir rapidement et fonctionner sans connexion internet. Réinitialiser les données hors ligne supprime cette copie et recharge la page, ce qui télécharge de nouveau Asteroboard. Le navigateur a besoin d'une connexion internet pour cela. Cliquez sur Réinitialiser les données hors ligne. Confirmez « Cela efface toutes les données hors ligne mises en cache par Asteroboard et recharge la page. Continuer ? » Utilisez-le quand Asteroboard continue d'afficher une ancienne version, ou se comporte bizarrement après une mise à jour. Vos préférences et votre URL du serveur restent. Si vous avez installé Asteroboard comme application, il reste installé. Le bouton est grisé quand votre navigateur ne peut pas du tout faire fonctionner Asteroboard hors ligne. Si la réinitialisation échoue, Asteroboard affiche Impossible de réinitialiser les données hors ligne : « Réessayez, ou effacez les données de ce site depuis les paramètres de votre navigateur. » Réinitialiser les préférences Réinitialiser les préférences remet l'apparence et la disposition d'Asteroboard à leurs valeurs par défaut, puis recharge la page. Cliquez sur Réinitialiser les préférences. Confirmez « Cela réinitialise la langue, l'apparence et la disposition du tableau de bord à leurs valeurs par défaut, et recharge la page. Continuer ? » Ce qu'efface chaque réinitialisation Réinitialiser les données hors ligne Réinitialiser les préférences Langue, mode d'affichage, couleurs et rayon Conservés Valeurs par défaut La langue des textes du jeu dans la page Jeu Conservée Suit de nouveau la langue d'Asteroboard Disposition de la barre latérale : repliée ou non, et sa largeur Conservée Valeurs par défaut URL du serveur Conservée Conservée Les boutons de niveau de Serveur > Console Conservés Conservés La copie hors ligne d'Asteroboard Supprimée, puis téléchargée de nouveau Conservée Tout ce qui se trouve dans Asterobot Conservé Conservé Quelques autres choix sont retenus dans votre navigateur et conservés par les deux réinitialisations, comme les calques de la carte du monde et le volume du lecteur de musique. Pour supprimer tout ce qu'Asteroboard a stocké dans un navigateur, effacez les données du site asteroboard.asterobot.net dans les paramètres de ce navigateur. Pour aller plus loin Asteroboard sur un autre appareil Mettre à jour Asterobot
-
État et console
La page Serveur concerne Asterobot lui-même plutôt que vos bots. Son onglet État vous indique si Asteroboard est connecté et à quel Asterobot il parle, et son onglet Console affiche le journal d'Asterobot en direct. Le terminal dans lequel tourne Asterobot affiche le même journal, avec un peu plus de détails. L'onglet État Dans la barre latérale, cliquez sur Serveur : l'onglet État s'ouvre en premier. Il comporte quatre parties, de haut en bas. État de la connexion Un gros point accompagné d'un mot indique où en est la connexion d'Asteroboard à Asterobot : État Point Ce que cela signifie Connecté Vert, pulsant Asteroboard est connecté et reçoit tout en direct. Connexion en cours… Ambre Asteroboard essaie de se connecter. Déconnecté Rouge Asteroboard ne parvient pas à joindre Asterobot. Il réessaie toutes les secondes. Si Asteroboard reste Déconnecté, consultez Asteroboard ne se connecte pas. La carte Connexion Ligne Ce qu'elle affiche URL du serveur L'adresse qu'utilise Asteroboard pour joindre Asterobot, définie dans Préférences. Version La version d'Asterobot, pas celle d'Asteroboard. Transport Chiffré (HTTPS) quand l'URL du serveur commence par https://, sinon Non chiffré (HTTP). Authentification Protégé par mot de passe quand server.basicAuth contient au moins un identifiant, sinon Sans mot de passe. Transport est déduit de l'adresse qu'utilise Asteroboard, et Authentification du réglage enregistré. Comme server.basicAuth ne prend effet qu'après un redémarrage, Protégé par mot de passe peut s'afficher avant que le mot de passe soit réellement exigé. Asteroboard sur un autre appareil explique HTTPS et les mots de passe. La carte Débogage La carte Débogage donne des chiffres techniques sur l'Asterobot en cours d'exécution. Vous n'en avez pas besoin au quotidien, mais quelqu'un qui vous aide peut vous en demander quelques-uns. Valeur Ce que c'est CPU Le nombre de cœurs de processeur qu'Asterobot peut utiliser. Goroutines Le nombre de tâches en cours dans Asterobot à cet instant. Appels Cgo Un compteur technique, utile seulement pour le dépannage. Version de Go La version de Go, le langage de programmation avec lequel Asterobot est construit. OS Le système pour lequel cet Asterobot a été compilé : windows, darwin pour macOS, ou linux. Architecture Le type de processeur pour lequel il a été compilé : amd64 ou arm64. Compilateur Le compilateur utilisé pour le construire. Alloué et Tas alloué La mémoire qu'Asterobot utilise pour ses données en ce moment. Total alloué Toute la mémoire qu'Asterobot a utilisée pour ses données depuis son démarrage, cumulée, y compris celle qu'il a déjà libérée. Mémoire système La mémoire qu'Asterobot a réservée auprès de votre système. Les chiffres sont lus au chargement de la carte, puis de nouveau après Libérer la mémoire maintenant. Ils ne se mettent pas à jour d'eux-mêmes. Libérer la mémoire maintenant demande à Asterobot de rendre tout de suite la mémoire dont il ne se sert plus, au lieu d'attendre qu'il le fasse de lui-même. Comme l'indique la carte, cela ne devrait normalement pas être nécessaire. Asteroboard confirme avec Collecte des déchets déclenchée, ou affiche Impossible de déclencher la collecte des déchets. Éteindre Asterobot La carte Extinction arrête Asterobot : « Arrête le serveur Asterobot. Ne faites cela que si vous savez comment le redémarrer. » Cliquez sur Éteindre le serveur. La fenêtre Éteindre le serveur ? vous rappelle qu'Asteroboard ne peut pas redémarrer Asterobot : à moins qu'il soit configuré pour redémarrer tout seul, quelqu'un doit avoir accès à l'ordinateur sur lequel il tourne. Cliquez sur Oui, éteindre, ou sur Annuler. Asteroboard affiche Extinction demandée, et Asterobot s'arrête environ deux secondes plus tard, en fermant tout proprement comme avec Ctrl+C dans son terminal. Asteroboard affiche ensuite Déconnecté. Si la demande n'arrive pas jusqu'à Asterobot, Asteroboard affiche Impossible d'éteindre le serveur et rien ne s'arrête. Arrêter Asterobot déconnecte tous les bots, y compris un bot qui relaie le jeu auquel vous jouez. Premier lancement explique comment le relancer. L'onglet Console Serveur > Console affiche le journal d'Asterobot en direct : ce qu'il fait, les avertissements et les erreurs qu'il rencontre, et les lignes que les scripts écrivent avec asterobot:console. Ce qu'il affiche Chaque ligne affiche l'heure, dans le fuseau horaire de votre navigateur, le niveau (DEBUG, INFO, WARN ou ERROR) et le texte. Seulement le texte : les détails que le terminal affiche après un message, comme l'adresse dans Server listening, n'apparaissent pas ici. Les lignes écrites par un script avec asterobot:console n'indiquent pas quel bot les a écrites. Les lignes propres à un bot se trouvent dans son propre onglet Console (Console). L'onglet Console ne contient que ce qui est arrivé pendant qu'Asteroboard était ouvert. Asterobot ne lui garde aucun historique, donc les lignes antérieures à l'ouverture d'Asteroboard n'y figurent pas : cherchez-les dans le terminal. Asteroboard garde les 500 dernières lignes, les oublie quand vous rechargez ou fermez la page, et les efface quand vous changez son URL du serveur. Tant que rien n'est arrivé, la console indique « Aucun message pour le moment. » L'extrémité droite de la barre du haut indique si Asteroboard est connecté : Connecté, Connexion en cours… ou Déconnecté. Afficher et masquer des niveaux Les quatre boutons du haut, Debug, Info, Avertissement et Erreur, affichent ou masquent les lignes de chaque niveau. Un bouton plein signifie que ses lignes sont affichées. Asteroboard retient votre choix dans ce navigateur. Ces boutons ne filtrent que les lignes qu'Asteroboard a déjà reçues. Les lignes sous le niveau serveur n'arrivent jamais jusqu'à lui. Niveau serveur La liste Niveau serveur, à côté des boutons, définit logger.webLevel : le niveau le plus bas qu'Asterobot envoie à la console. Comme le précise son infobulle, tout ce qui est en dessous n'arrive jamais ici, quels que soient les boutons. Il vaut INFO par défaut : les lignes de débogage n'arrivent donc pas dans la console tant que vous ne choisissez pas DEBUG. Le changement s'applique immédiatement, pour tous les Asteroboard, et reste valable après un redémarrage d'Asterobot, puisque c'est un réglage enregistré. S'il ne peut pas être enregistré, Asteroboard affiche Impossible de mettre à jour le niveau de journalisation du serveur. Envoyer un message La zone du bas, « Envoyer un message à la console du serveur... », écrit une ligne dans le journal d'Asterobot lui-même. Tapez votre texte. Choisissez son niveau dans la liste sous la zone : Info par défaut. Appuyez sur Entrée, ou cliquez sur le bouton d'envoi. Asterobot journalise votre texte comme l'une de ses propres lignes. Il apparaît dans le terminal si son niveau est supérieur ou égal à celui du terminal, et dans tous les onglets Console ouverts s'il est supérieur ou égal au niveau serveur : un message Debug ne s'affiche jamais tant que le niveau serveur est INFO. Si le message ne peut pas être envoyé, Asteroboard affiche Impossible d'envoyer le message. Un message permet de marquer un moment dans le journal, par exemple juste avant de reproduire un problème pour un rapport de bug. Le terminal Le terminal dans lequel tourne Asterobot affiche son journal dès la toute première ligne, y compris tout ce qui précède l'ouverture d'Asteroboard. Chaque ligne commence par la date et l'heure, puis le niveau et le message, suivis de ses détails sous forme de paires name=value, en couleur. La quantité de lignes affichées dépend de logger.cliLevel, dans Serveur > Config. Le changement s'applique immédiatement, et il est indépendant du niveau de la console : vous pouvez garder un terminal discret et une console détaillée, ou l'inverse. Certains éléments du terminal ne sont pas des lignes de journal et s'affichent toujours, quel que soit le niveau : le QR code d'un lien de connexion, les barres de progression des commandes, et ce qu'affichent des commandes comme gamemanager list. Asterobot n'écrit aucun fichier de journal. Quand vous fermez la fenêtre du terminal, ses lignes sont perdues. Choisir un niveau de journalisation logger.cliLevel et logger.webLevel prennent les mêmes quatre valeurs. Chaque niveau affiche ses propres lignes et celles de tous les niveaux au-dessus : Niveau Ce que vous voyez DEBUG Tout, y compris des lignes détaillées destinées au dépannage. INFO L'activité normale. C'est la valeur par défaut des deux réglages. WARN Les avertissements et les erreurs uniquement. ERROR Les erreurs uniquement. Passez à DEBUG quand vous cherchez la cause d'un problème ou que quelqu'un qui vous aide demande un journal détaillé, puis revenez à INFO : les lignes de débogage sont nombreuses et noient les lignes utiles. Pour aller plus loin La page Config Obtenir de l'aide