Aller au contenu
Afficher dans l'application

Une meilleure façon de naviguer. En savoir plus.

Asterobot

Une application plein écran sur votre écran d'accueil avec notifications push, badges et plus encore.

Pour installer cette application sur iOS et iPadOS
  1. Appuyez sur Icône de partage dans Safari
  2. Faites défiler le menu et appuyez sur Ajouter à l'écran d'accueil.
  3. Appuyez sur Ajouter dans le coin supérieur droit.
Pour installer cette application sur Android
  1. Appuyez sur le menu à trois points (⋮) dans le coin supérieur droit du navigateur.
  2. Appuyez sur Ajouter à l'écran d'accueil ou Installer l'application.
  3. Confirmez en appuyant sur Installer.
Everything you do in Dofus turns into messages between your game and Ankama's servers. This tutorial shows a few of them live on the MITM bot from Your first bot, while you walk and chat. No package is needed.
Caution
Don't tick IdentificationRequest for this tutorial. It's the first message your game sends, and it carries the ticket that opens your game session: never share a screenshot or a copy of it.
1. Bring your bot online
On your bot's page, click Start waiting. Start Dofus from the Ankama Launcher, sign in and enter the game with your character. The bot's status turns to Connected to game server.
2. Choose a few messages
On the bot's page, click Tools. The Network tool opens on its Traffic panel. Click Settings. The list holds every message Asterobot can name, with a box to tick for each. Type MapMovement in Filter messages..., then tick MapMovementRequest and MapMovementEvent. Replace the filter with ChatChannelMessage, and tick ChatChannelMessageEvent. If you turned on Live chat in Your first bot, it's ticked already. Click Apply. The button shows how many messages are ticked, and a notification confirms how many message types the bot now mirrors. Message Sent by What it says MapMovementRequest Your game Your character asks to walk along a path of cells. MapMovementEvent The server Someone on your map walks along a path: your character or another one. ChatChannelMessageEvent The server A chat message reaches you. 3. Play and watch
Click Traffic. In Dofus, click a cell to walk there. A MapMovementRequest row marked Out appears, and a MapMovementEvent row marked In comes after it. Wait for other players to move on your map: each of their walks adds a MapMovementEvent row. When a chat message reaches you, a ChatChannelMessageEvent row appears, marked In. New rows arrive at the bottom, and the list follows them while you're at the bottom. Pause freezes the list, but messages that arrive while it's on aren't kept. The colour of each row tells the kind of message: Network traffic explains them.
4. Read a message
Click a MapMovementEvent row. It opens and shows every field of the message as JSON. Find cells: the path the character walks, as a list of cell numbers. Another field holds the id of the character that moves, which tells your own walks from other players'. Click a ChatChannelMessageEvent row and find content: the text of the message. Large numbers, such as ids, show as text in quotes. To keep one kind of message in the list, type name:MapMovementEvent in the search box above it. The Dofus protocol reference describes every message and field.
5. Tidy up
The messages you chose stay selected with the bot, and Asterobot keeps passing them on to Asteroboard, until you untick them. When you no longer need them, untick them in Settings and click Apply again. Clear, on Traffic, empties the list, and removes the chat lines from the Console tab too.
When you're done, quit Dofus, and click Disconnect if you want the bot to stop waiting.
Where to go next
Network traffic, for the search syntax and every part of the panel. Send messages by hand React to messages, to act on a message in a script of your own.
  • 4 vues
The basics: what Asterobot is, where it runs, and what keeps working when you close things.
What is Asterobot?
Asterobot is a program you run on your own computer to run bots for Dofus 3. A bot either signs in and plays on its own, in Full socket mode, or joins the game you play, in MITM mode (short for man-in-the-middle). What a bot does in the game comes from a package: a small JavaScript program from the marketplace, or one you write. Asterobot also lets you browse the game's data, maps and texts without any bot.
What is Asterobot gives the full tour.
What's the difference between Asterobot, Asteroboard and asterobot.net?
Asterobot is the program that does the work, Asteroboard is the web interface you control it from, and asterobot.net is the website. Asteroboard opens at https://asteroboard.asterobot.net, but everything it shows comes straight from your Asterobot. asterobot.net holds your account, the downloads, the marketplace and the forum. See The three parts.
Which systems does Asterobot run on?
Windows, macOS and Linux, each on x86-64 (Intel or AMD) and ARM64 processors. That makes six builds, including one for Macs with Apple silicon and one for ARM boards such as the Raspberry Pi 4 and 5. The x86-64 builds need a processor with the x86-64-v2 instruction set, which every x86-64 processor made since about 2009 has. Requirements lists everything else you need.
Which Dofus does it work with?
Dofus 3. Bots only play Dofus 3, and Asterobot always downloads the Windows version of its game files, even on macOS or Linux. Each release of Asterobot is tested with one Dofus version, which Asteroboard marks Compatible. Why Asterobot downloads Dofus explains the tested version.
Do I need Dofus installed?
Only for MITM mode, where you play Dofus yourself and a bot joins your session. A Full socket bot needs no Dofus client at all. Either way, Asterobot downloads its own copy of the game files, separate from the Dofus you play. Full socket and MITM compares the two modes.
Do I need to know how to code?
No. Running a bot in MITM mode, installing a package from the marketplace and changing its settings all happen in Asteroboard. You need JavaScript to write packages of your own, and for now to get a Full socket bot into the game.
Note
Coming soon. Ready-made connection scripts will take a Full socket bot into the game without any code from you. Until then, use MITM mode, or write your own with Identify and run.
Can I use Asterobot without running a bot?
Yes. With a game version downloaded and extracted, the Game page lets you browse the world map, inspect maps cell by cell, search the game data, query it in SQL, read the game's texts and listen to its music. See Game page.
Can I leave my bots running all day?
Yes, as long as Asterobot keeps running and each bot's connection lasts. Asteroboard doesn't need to stay open. Keep in mind that nothing reconnects or starts again by itself: when a bot's connection drops, or when Asterobot restarts, you bring the bot back online and press Play yourself. In MITM mode, every session also starts with someone launching Dofus.
Disconnect, delete and restart covers each case, and Asterobot on a remote machine shows how to keep Asterobot running on a machine you don't sit at.
What happens when I close the browser or Asteroboard?
Nothing stops. Your bots stay connected, their scripts keep running and downloads carry on, because all of that happens inside Asterobot. What only lived in the page goes away with it: the messages a bot's Traffic panel had captured and the chat lines its console showed from them, the contents of a bot's Inventory tab until the character enters the game again, the lines on Server > Console, the Extract data after downloading choice of a download that hasn't finished, and the music playing from the Game page. See The three parts.
What happens when I close Asterobot's terminal window?
Asterobot stops, and everything with it. Every bot disconnects, including a bot relaying the game you play, so your Dofus is disconnected too, and scripts and downloads stop.
To stop it cleanly, press Ctrl+C in its terminal or click Shutdown server on Server > Status. Asterobot then also puts back the line it changed in your Dofus folder for MITM mode. After an abrupt stop, it puts that line back the next time it starts, provided one of your bots comes back with it (MITM problems). See First launch.
Can Asteroboard start Asterobot again?
No. Once Asterobot has stopped, you need access to the computer it runs on to start it. Meanwhile Asteroboard shows Server disconnected, and connects again by itself as soon as Asterobot is back. See First launch.
Does Asterobot update itself?
No. When a new version is out, Asterobot tells you as it starts, and you replace the program by hand. Your bots, accounts, packages, game versions and settings are kept. Asteroboard, on the other hand, updates itself. See Updating Asterobot.
Is there an app?
Asterobot has no window of its own: on Windows it runs in a terminal window, and on macOS and Linux you start it from a terminal. Asteroboard can be installed as an app from your browser, and then opens in its own window. See Tour of Asteroboard.
Which languages is Asteroboard available in?
English, French and Spanish. It follows your browser's language, and starts in French when your browser uses another one. To change it, open Preferences and pick one under Language. See Preferences.
Where does Asterobot keep its files?
In folders of your user profile, not next to the program: one for its settings, with config.toml, one for its data, such as bots, Ankama accounts and packages, and one for its cache, which holds the game versions. Files and folders shows where they are on each system and how to back them up.
How do I reset Asterobot or start over?
Pick the smallest reset that fixes your problem, since each one deletes something for good. Reset offline data and Reset preferences, on Preferences, only clear what Asteroboard keeps in your browser. Reset all, on Server > Config, puts your settings back to their defaults and signs Asterobot out of asterobot.net. cache reset deletes every game version, and keeps your settings, bots, Ankama accounts and library. Reset and start over helps you choose.
  • 4 vues
Read these answers before you use Asterobot with an Ankama account you care about.
Can my Ankama account get banned?
Yes. Using a bot breaks Ankama's terms of use, and Ankama can sanction the accounts involved at any time. That holds in Full socket mode and in MITM mode, with a package you wrote or one from the marketplace. Nobody can promise that an account stays safe, and these docs give no advice on avoiding detection.
Only use an Ankama account with Asterobot if you accept that risk.
Is MITM mode safer for my account?
No. A bot in MITM mode is still a bot, and it breaks Ankama's terms of use just the same. What MITM mode changes is who holds your login: you sign in yourself, in Dofus, and never give Asterobot your Ankama login or password. See Full socket and MITM.
Where does Asterobot keep my Ankama password?
In a file called accounts.toml, in Asterobot's data folder, as plain text, and only if you chose to store one. It isn't encrypted because Asterobot has to type it into Ankama's sign-in page. The same file holds each account's Login ID and the tokens Ankama gave Asterobot.
On Linux and macOS, Asterobot restricts the file so only your user account can read it. On Windows that restriction has no effect. Either way, anyone who can open files as your user, or who gets a copy of the file, can read the password and use the tokens. Asterobot never sends the password back to Asteroboard.
Add an account has the details, and Files and folders shows where the data folder is.
Do I have to store my Ankama password?
No. The password only serves automatic sign-in. Without one, you sign the account in yourself from Asteroboard whenever its sign-in stops working, as Manual sign-in shows. MITM mode needs no stored account at all.
What else on my computer gives access to my accounts?
A few files and folders, each worth protecting like a password:
What Where What it gives access to accounts.toml The data folder Your Ankama Login IDs, the passwords you stored, and Ankama's tokens zaapmanager/browser-profiles/ The data folder A live Ankama session for each account that signed in automatically website.token config.toml, in the settings folder Your asterobot.net account, through Asterobot's sign-in server.basicAuth config.toml Asterobot's port, with passwords written in plain text On Linux and macOS, only your user can read these. On Windows, that protection has no effect. Never share any of them, not even to get help: Getting help lists what must stay private.
Can I use an account protected by Ankama Shield or two-factor authentication?
Only in MITM mode. Full socket mode doesn't support these accounts: Asteroboard has no field for a verification code, and automatic sign-in only types the Login ID and the password. In MITM mode, you sign in yourself in Dofus, codes included, and the bot relays that session. See Shield and two-factor authentication.
What happens when Ankama shows a captcha during automatic sign-in?
Asterobot gives up, and a person has to sign in. You have two ways out:
Sign in yourself from the sign-in dialog. This always works, wherever Asterobot runs. When Asterobot runs on a computer you're sitting at, turn off zaapmanager.browserHeadless on Server > Config, start the automatic sign-in again, and answer the challenge in the browser window that opens. Turn the setting back on afterwards. See Automatic sign-in.
Why doesn't Asteroboard say why automatic sign-in failed?
Because its message is the same whatever went wrong, starting with ankama account authorization required. The real reason is only in Asterobot's log. In the terminal or on Server > Console, look for the warning Automatic Ankama sign-in failed, a person has to sign in: its error says what happened.
When you started the sign-in from the dialog's own button, the dialog also shows a picture of the page the browser was on, which often tells a captcha from a wrong password. See Automatic sign-in.
What can a package do with my account?
Everything your character can do in the game. A package's script can send any message to the game server as your character, to move, fight, trade, sell or delete items. It reads everything the game sends, can read the session's game ticket and can close the game connection. On a MITM bot, it can also change or block what your Dofus and the server send each other.
It can't read your Ankama login or password, open files on your computer, use the internet or reach your other bots. Only play packages from authors you trust. Trusting a package lists everything.
Do package permissions limit what a package can do?
Not yet. A package can list permissions in its manifest, but Asterobot doesn't enforce them: a package that lists none can still do everything described above.
Note
Coming soon. Asterobot will enforce the permissions a package lists. Until then, don't count on them to limit what a package does.
See Trusting a package.
What do I do if I think someone used my Asterobot?
Stop Asterobot, or put server.listenAddress back to 127.0.0.1:8080 and restart it. Then change the basic auth passwords, click Disconnect on each Ankama account in Account Manager, change the Ankama passwords you had stored, and log Asterobot out of asterobot.net before signing in again. Security goes through each step, and explains who can reach Asterobot in the first place.
  • 4 vues
How bots connect, how many you can run, and what happens to them when things stop.
Should I use Full socket mode or MITM mode?
Start with MITM mode. You play Dofus as usual and the bot joins your session: there's nothing to store in Asterobot and no connection script to find, and it works with accounts protected by Ankama Shield or two-factor authentication. Full socket mode is for bots that play without you and without a Dofus window, but each bot needs its own Ankama account and a connection script to enter the game. See Full socket and MITM.
Why doesn't my Full socket bot enter the game?
Because Asterobot's part ends once the connection to the game server is open. It signs the account in, picks a server and connects, but it doesn't identify the bot on the game server or choose a character. A connection script does that: a package you start with Play. Connected to game server only means the connection is open, whether the bot got into the game or not.
Note
Coming soon. Ready-made connection scripts will take a Full socket bot into the game. Until then, use MITM mode, or write your own by following Identify and run.
Full socket mode explains it in full, and Bot doesn't connect covers the errors.
Can I play Dofus while a bot uses my account?
In MITM mode, yes: that's what the mode is for. You keep playing, and a package running on the bot controls the same character as you, with nothing to coordinate the two of you. In Full socket mode, no. An Ankama account has one game session at a time, and a bot that connects while the account is already in the game fails with identification was refused: account already connected elsewhere.
See MITM mode, and for script authors, Sessions.
Does Asterobot change my Dofus installation?
Only one line, and only in MITM mode. Asterobot edits the ConfigUrl line of Dofus_Data/StreamingAssets/version, in your Dofus folder, so your game signs in through Asterobot. It puts the original line back when no bot is waiting any more and when Asterobot stops normally, or the next time it starts after an abrupt stop, provided one of your bots comes back as it starts. It never installs or updates your Dofus. See MITM mode.
Dofus won't sign in since Asterobot stopped. What do I do?
Start Asterobot again. While that line points at Asterobot, Dofus can't sign in without it, and Asterobot puts the line back as it starts, provided one of your bots comes back with it. If the log doesn't show Restored a game install left pointing at Asterobot by a previous run, put the line back by hand. See MITM problems.
Why does my MITM bot stay on Waiting for your game client?
Your game isn't reaching the bot. The usual causes:
Dofus was already open when the bot started waiting. Close it and start it again. botmanager.mitmGamePath is empty or points at the wrong folder. Asterobot's log shows Pointed the played game at Asterobot when it edited your Dofus folder. The bot is attached to another Ankama account. It only takes the sessions of the account it attached to the first time. server.tls is on or server.basicAuth is set. MITM mode doesn't work with either of them. See MITM mode and MITM problems.
What happens to my game when I stop a bot?
That depends on the button. Stop only stops the bot's script, and your game carries on. Disconnect on a MITM bot ends the session it relays, so your Dofus is disconnected if you're in the game. Stopping Asterobot does the same to every bot. See Disconnect, delete and restart.
What happens when I quit Dofus in MITM mode?
The bot goes back to Waiting for your game client and takes your next session by itself. The script it was running stopped, though: press Play again once your game is back. See MITM mode.
How many bots can I run?
As many as your asterobot.net account allows. Every bot listed in Bot Manager counts, connected or not, and past that number Add a bot fails with Couldn't add the bot. In Full socket mode, each bot also needs its own Ankama account, and in MITM mode each bot relays one Dofus client. See Many bots.
Can two bots use the same Ankama account?
No. An Ankama account can belong to one bot only, since Dofus allows one game session per account. Adding a second bot with it fails with Couldn't add the bot, and choosing it on a bot's Settings is refused with this account is already associated with a bot. Store one account for each Full socket bot. See Many bots.
Can one bot use both modes?
Yes, but not at the same time. A bot with an Ankama account offers both Connect and Start waiting, and a bot without one can only wait for your game. Disconnect the bot before you switch. See Full socket and MITM.
Do my bots reconnect by themselves?
No. Asterobot never connects a bot or starts a script on its own. After Asterobot restarts, every bot is Disconnected and nothing plays. When a Full socket bot's connection drops, click Disconnect, then Connect, then Play. See Disconnect, delete and restart.
Are my bots kept when Asterobot restarts?
Yes. Every bot is saved in bots.toml, with its settings, its package, its package settings and its message selection, and comes back disconnected when Asterobot starts. Its console history doesn't come back, and neither does an inline script loaded on it. See Disconnect, delete and restart.
Why is a bot missing after I restarted Asterobot?
Asterobot skipped it. That happens when the bot's Ankama account is no longer in Account Manager, when its game version is no longer installed, when Asterobot couldn't prepare Ankama sign-ins, or when it couldn't confirm your asterobot.net account in its first seconds. The terminal shows a warning starting with skipping bot restore:, followed by the reason.
The bot's configuration is still saved: fix the cause and restart Asterobot. Don't add a new bot with the same name, which replaces the saved one for good. See Disconnect, delete and restart.
I play several accounts in MITM mode. Which bot gets which game?
Each game goes to the waiting bot attached to its Ankama account. The first time, a bot without an account attaches itself to the first account whose session it takes, in alphabetical order of the waiting bots, and keeps that attachment for good. To decide which bot relays which account, start waiting on one bot at a time and sign in with the account you want on it. See Many bots.
Can I use other computers?
Yes. Asteroboard can run on a phone or another computer, Asterobot on a server or a computer you don't sit at, and in MITM mode Dofus can even be on a third computer. None of this works with the default settings, which only accept connections from Asterobot's own computer. How the parts connect shows each setup, and Asteroboard and network answers the common questions.
  • 2 vues
Asterobot keeps its own copy of Dofus, separate from the one you play, and neither that copy nor Asterobot updates itself.
Why does Asterobot download Dofus when I already have it?
Because Asterobot works from its own copy of the game files. Bots, scripts and the Game page all read the game data, maps and texts from that copy, never from the Dofus you play. By default it only downloads the files a bot needs, not the whole game, and always the Windows version. See Why Asterobot downloads Dofus.
How much disk space does it need?
It depends on the Dofus version, and Asterobot doesn't give a total. A few sizes, all approximate: 545 MB for the world map artwork and 450 MB for the map data (measured on Dofus 3.6.10.10), both part of every game version you download, and 900 MB for the game's music, only if you download it from the Game page's Music tab. Extracting the game data takes more space on top of the files.
Asterobot doesn't check the free space before a download. When the disk fills up, the download stops and its status turns to Failed. See Why Asterobot downloads Dofus.
How do I free disk space?
From Game Manager. Remove all chunks deletes the stored pieces game versions are rebuilt from, at the cost of a slower next download. Uninstall deletes a version's files and keeps its extracted game data, and Delete removes the version completely. Neither Uninstall nor Delete checks whether a bot still uses the version. See Manage game versions.
Dofus just got a patch. What do I do?
Download the new game version, move your bots to it, then remove the old one:
In Game Manager, click Download a game, keep latest in Version and Extract data after downloading checked, and click Download. Keep Asteroboard open until the new row shows Ready for bot. On each bot, click Disconnect, choose the new version on its Settings tab, and click Save settings. Once no bot uses the old version, delete or uninstall it. It matters most in MITM mode, where your bot's game version must be the Dofus version you play. See When Dofus updates.
Why does my MITM bot refuse to start waiting after a patch?
Because the Dofus you play and your bot's game version are no longer the same version. Asteroboard shows Couldn't put the bot into waiting, without saying why. Download the new version, move the bot to it and click Start waiting again. When your bots use different game versions, keep them all on the version you play. See MITM mode.
What do Compatible and Different version mean?
Compatible means your release of Asterobot was tested with that Dofus version, and Different version means it wasn't. A different version isn't blocked, but the game's messages change from one version to the next, so a bot on it may fail to connect, and its game data may not match what you expect. See Why Asterobot downloads Dofus.
What happens when Asterobot doesn't support the new Dofus version yet?
Your bots may not work on it. You can meet Different version in Game Manager, a Full socket bot that doesn't connect and shows Couldn't connect this bot, a MITM game that gets disconnected as it reaches the bot, and scripts that can't start, with an error beginning with the game engine is not available:. When the reason tells you to update Asterobot, download its new release. See When Dofus updates.
Does Asterobot update the Dofus I play?
No. The Ankama Launcher updates your Dofus. Asterobot doesn't follow patches either: each patch is a new game version you download in Game Manager, and the versions already there stay as they were. See When Dofus updates.
Can I keep several game versions?
Yes. Each version has its own row in Game Manager, each bot uses the version set on it, and pieces of content that several versions share are stored once. See Manage game versions.
How do I know a new Asterobot is out?
Asterobot checks asterobot.net each time it starts. When a newer version is published, the terminal prints An Asterobot update is available, and Asteroboard shows Asterobot update available with a View on asterobot.net button. A version published while Asterobot runs is only noticed at its next start. See Messages and updates.
How do I update Asterobot?
Download the new archive, stop Asterobot, replace the program file with the new one, and start it again. On macOS and Linux, make the new file executable with chmod +x asterobot first. Your bots, accounts, packages, game versions and settings stay, since they live in other folders. After the update, bring your bots back online and look at the Compatibility column of Game Manager. See Updating Asterobot.
Will my packages still work after an update?
They can stop working in two cases. A package that states which versions of Asterobot it works with can turn Incompatible after you update Asterobot, and it won't start then. And a Dofus patch can change the messages a script relies on, until its author adapts it. Authors can read After a game update.
  • 5 vues
Packages are what bots run. You get them from the marketplace or write them yourself.
What is a package?
The code that tells a bot what to do. A package is a small set of JavaScript files, often with settings and buttons that show on the bot's page. You install packages in your library, then give one to each bot. See What is a package.
Does a bot need a package?
To do anything in the game, yes. A MITM bot connects without one, and you can already read its chat, inventory and messages in Asteroboard. A Full socket bot needs a connection script just to enter the game. See What is a package.
Where do I find packages?
On the marketplace, the Library category of asterobot.net: https://asterobot.net/files/category/10-library/. Copy the address of a file's page, then in Library Manager click Download package, paste it in File ID or URL, click Preview, then Install. Asterobot has to be signed in to asterobot.net. See Install from the marketplace.
Is a package from the marketplace safe?
Asterobot can't tell you. A package runs with your bot's game session and can do anything your character can. Asterobot's own check only proves that a marketplace package's files haven't changed since you downloaded them, not that its code is safe. Before you play one, read its file page on asterobot.net, look at its dependencies, read the code if you can, and keep the bot's console open the first time. See Trusting a package.
What do Local, Community and Official mean?
They say where a package's name comes from:
Badge Name Where the package comes from Local A plain name, such as my-harvester You created, copied or imported it. Only local packages can be edited. Community @ the author, : the title, such as @some-author:auto-harvest A marketplace file published by an asterobot.net member Official @asterobot: and the title A marketplace file that asterobot.net marks as official The badge comes from the name alone, so a package imported from a .zip file can show Community or Official too. Only a package installed from the marketplace has a Source row on its page. See What is a package.
Does the Official badge mean the code is safe?
No. It tells you who published the package, not what its code does, and it doesn't replace reading the file's page. See The marketplace.
Why can't I download a package?
The two messages you can get mean different things:
You don't have permission to download this file. under the preview card: the file's rules on asterobot.net don't let your account download it. There's nothing to fix in Asterobot. File not found, or you don't have permission to view it. after Preview: the file doesn't exist, the account can't see it, or Asterobot couldn't ask asterobot.net, for example because it isn't signed in. Check the address, then the account button at the bottom of the sidebar. See The marketplace.
How do I update a package?
In Library Manager, click Check for updates, then Update to followed by the version. The new version installs next to the old one, and your bots keep playing the old one until you move them. Nothing is checked automatically, and only packages installed from the marketplace can be updated this way. See Update packages.
Do I lose my package settings when I update?
No. Package settings are saved for each bot under the package's name, not its version, so a bot moved to the new version keeps them. Only a setting the new version removed, renamed or gave another type starts again from its default. See Update packages.
Why does a package say Incompatible?
The package states which versions of Asterobot it works with, and yours isn't one of them. It stays in your library but won't start. Update the package, or Asterobot, until the two match. See What is a package.
Play only says Couldn't start the behavior. Where's the reason?
On the bot's Settings tab, under Package settings. When the package can't be loaded, for example because it's incompatible or its files fail the integrity check with package source integrity mismatch, Couldn't read this package's settings appears there with the reason. Check first that the bot is Connected to game server: a package can't start on a bot that isn't. See Package errors.
Can I edit a package I downloaded from the marketplace?
No. Marketplace packages are read-only: Edit code isn't offered for them, and a package whose files were changed by hand is refused. To change one, Export it and bring it back with Import a .zip under a local name. That copy is yours to edit, but it no longer gets updates. See The editor.
Can several bots play the same package?
Yes. Each bot runs its own copy of the script, with its own package settings. See What scripts can do.
How do I give a package to a friend?
Export it as a .zip from its menu in Library Manager, and have your friend add it with Import a .zip. A package shared that way has no link to the marketplace, so it gets no updates. To share with everyone, publish it. See Share your package.
How do I publish a package?
Any asterobot.net member can. Export your package as a .zip, then submit a file in the Library category of asterobot.net, with that .zip as its only attachment, a title, which becomes part of the package's name, and your package's version. See Before you publish and Publish on asterobot.net.
Where are packages stored?
In the library/packages/ folder of Asterobot's data folder, one folder per version. See Files and folders.
  • 2 vues
Questions people ask while writing packages. The developer docs cover each topic in full.
Which language are scripts written in?
JavaScript. Every file of a package is an ES module, and scripts can use the syntax of JavaScript up to ES2022, apart from three constructs: async generators, for await and import() called as a function. See JavaScript support.
Can I write scripts in TypeScript?
No. A package's files must end in .js or .mjs. You still get types: the editor checks your JavaScript the way TypeScript checks it, and JSDoc comments such as /** @type {BehaviorParameters} */ give your own code completion and checks. See JavaScript support.
Can I use npm packages?
No. There's no npm and no require(), and an import such as "lodash" is read as a dependency your package didn't declare, so the script doesn't load. To reuse code, import your own files with paths starting with ./, or turn the code into a package of your own and declare it as a dependency. See Modules and imports and Dependencies.
Is there setTimeout or setInterval?
No. sleep() from asterobot:timers is the only timer: await sleep(1500) pauses your function for 1.5 seconds without holding up the bot. For something that repeats, write a loop with await sleep() inside and start it from the entry function without awaiting it. For anything the game announces, a message handler is better than a loop. See Async and timing.
Can a script use the internet?
No. There's no fetch(), no WebSocket and no connection of any kind besides the bot's game connection. See What scripts can do.
Can a script read or write files?
No. A script only reaches the modules of its own package and of the packages it depends on. It has nowhere to keep data for its next run either: each start begins from scratch, and values is read-only. What a script needs again has to come from the game, or from a setting someone fills in. See Play, stop and reload.
Can two bots share data?
No. Each bot runs its own copy of the script, and two copies share no variables. A script can't see or control another bot either. See What scripts can do.
Where do I find message names and fields?
In three places:
The Dofus protocol reference describes every message and what its fields mean. The package editor completes message names and payload fields as you type, and marks a field a message doesn't have. A bot's Tools > Network shows the messages the game really exchanges, with their values. On a MITM bot, do the action in Dofus and watch what goes through. Scripts read field names in camelCase, such as senderName for sender_name. See Finding messages.
Are there functions to walk, fight or harvest?
No. A script plays the way the Dofus client does: it sends the game's messages and reacts to what the server answers. Game data helps with the rest, such as finding which maps hold a given resource. See What scripts can do.
Why doesn't my script get a Full socket bot into the game?
Because a Full socket script has to identify the bot itself. Its first message on a new connection must be IdentificationRequest, sent when launch.reason is "initial", and choosing a character and entering the game are up to scripts too. Identify and run shows the lines every sample in these docs uses.
Note
Coming soon. Ready-made connection scripts will be available for you to run and reuse, so a package can depend on one instead of doing the identification itself. Until then, keep the identification in your own code, with the lines Identify and run shows.
Which bot should I test my scripts on?
A MITM bot on your own Dofus client. You make things happen in the game yourself and watch the script react, and no Ankama account has to be stored. Keep in mind that everything the script sends goes out as your character. See Identify and run.
How do I restart a script after changing its code?
Click Run in the editor, or Stop then Play on the bot's page. There's no Reload button. Saving alone doesn't change a script that's already running: the next start loads what you saved. See Play, stop and reload.
How do I debug a script?
Start with the bot's console:
Check the editor's error badge before running. Write to the bot's Console with botInfo() and the other functions of asterobot:bot, and keep only Script in Sources. When the script stops on an error, The behavior stopped with an error appears at the top of the bot's page, with the full text and a Copy button. When a handler never seems to run, look at what really arrives in the Network tool. Logging and debugging goes through the whole routine.
Why does my log show map[] instead of the error?
Because Asterobot turns logged values into text itself, and an Error object comes out as map[]. Log String(error) or error.message instead. Other objects come out as map[...] too: JSON.stringify() reads better, once BigInt values are converted, since it throws on them. See Logging and debugging.
Why did my script stop with JavaScript execution deadline exceeded?
Some of your code ran for more than 250 ms without awaiting anything. Split long work with await sleep(0) now and then, and replace thousands of record() or text() calls in a row with one find() or query(). See Async and timing.
Why are game texts and item names in French?
Because every script started from Asteroboard uses the language fr, whatever language the bot is set to. text() and search() answer in that language. To read another one, query the _names table, which has a language column. See Game data overview.
Can a script change its own settings?
No. values is read-only: assigning to one of its properties throws a TypeError, and the setting keeps its value. Settings change when someone applies them on the bot's Settings tab. See Read settings.
Will my script break when Dofus updates?
It can. As long as Asterobot knows the game version, it keeps readable message names when the scrambled names on the wire change. But a patch can add, remove or change messages, an Asterobot update can rename a message, and game data tables and columns follow the game version. Read fields with ?., give every wait() a timeout, and check your script after each update. See After a game update.
Are there example scripts?
Yes. The tutorials are small complete scripts to copy and adapt, and the samples throughout the developer docs work on Full socket and MITM bots alike.
  • 2 vues
Asteroboard talks to Asterobot over the network, even when both are on the same computer.
Asteroboard says Server disconnected. What should I check?
First, that Asterobot is running: its terminal window must be open. Then, that Asteroboard uses the right address. Open Preferences, look at Server URL, which is http://127.0.0.1:8080 by default, and click Test connection. Opening Asterobot's own address in the browser also sets Server URL for you. Meanwhile, Asteroboard keeps trying to reconnect by itself. See Asteroboard can't connect.
How does Asteroboard know where my Asterobot is?
It keeps the address as its Server URL, in your browser. When you open Asterobot's address, such as http://127.0.0.1:8080, Asterobot sends the browser on to https://asteroboard.asterobot.net with that address attached, and Asteroboard saves it. Each browser keeps its own. See How the parts connect.
Does Asteroboard need an internet connection?
Only to load the first time. After that, it opens without an internet connection, as long as it can reach your Asterobot. A few things still come from the internet, such as your asterobot.net name and avatar on the Account page. See The three parts.
Does Asterobot need an internet connection?
Yes, for anything that involves Ankama or asterobot.net. Asterobot reaches Ankama's servers to download game versions, sign accounts in and play, and asterobot.net to sign in, install packages and confirm your account. When it hasn't reached asterobot.net for more than an hour, it refuses to add a bot or to connect one in Full socket mode, and Connect shows this installation is not entitled to start bots. See How the parts connect and Many bots.
Can I use Asteroboard on my phone?
Yes, on your home network, once Asterobot serves HTTPS behind a password. On Server > Config, set server.basicAuth, turn on server.tls and set server.listenAddress to 0.0.0.0:8080, then restart Asterobot and allow port 8080 in the firewall. On the phone, open https:// followed by the computer's address and :8080, accept the certificate warning and enter the password.
HTTPS and the password stop MITM mode from working. See Asteroboard on another device.
Why can't my phone reach http://192.168.1.20:8080?
Because browsers don't let the Asteroboard page, which comes over HTTPS, send plain http:// requests, except to the device the browser runs on. That's why http://127.0.0.1:8080 works on Asterobot's own computer while a network address doesn't. Use HTTPS on Asterobot, or an SSH tunnel. See Asteroboard on another device.
Why does my browser warn about Asterobot's certificate?
Because Asterobot makes its own certificate when you turn on server.tls. No authority your browser trusts signed it, and it only covers localhost, 127.0.0.1 and ::1, so browsers warn the first time and report that it doesn't match an address such as 192.168.1.20. Check that the address is your Asterobot's, then continue to the site. The certificate lasts 3 years and Asterobot doesn't renew it. See Asteroboard on another device.
Why does Asteroboard stay disconnected after I typed an https address in Preferences?
Because the certificate warning and the password prompt only appear on a page you open yourself, never for Asteroboard's own requests. Open the address in the browser first, accept the certificate and enter the password, and Asteroboard connects. See Asteroboard on another device.
Why did MITM mode stop working after I turned on HTTPS or a password?
Because MITM mode doesn't work while server.tls is on or server.basicAuth is set: Dofus can't fetch its connection settings from Asterobot then. Put both settings back to their defaults, restart Asterobot, and reach it from other devices through an SSH tunnel instead. See MITM mode.
Can I reach my Asterobot from outside my home?
Yes. Prefer an SSH tunnel: Asterobot keeps listening on its own computer only, nothing new is opened to the internet, and MITM mode keeps working. You can also open the port, with server.basicAuth and server.tls, but never without both. See Asterobot on a remote machine.
Can I run Asterobot on a server or a Raspberry Pi?
Yes. Asterobot doesn't need a screen, and there are Linux builds for x86-64 and ARM64 processors. You sign it in to asterobot.net with the link it prints or with a QR code, reach Asteroboard through an SSH tunnel, and keep it running with tmux, screen or a system service. See Asterobot on a remote machine.
Can I play Dofus on one computer and run Asterobot on another?
Yes, in MITM mode. On the computer that runs Asterobot, open its ports to the Dofus computer. On the Dofus computer, edit the ConfigUrl line of the version file yourself, since Asterobot can only edit files on its own computer, and put it back yourself when you're done. See MITM across machines.
Which ports does Asterobot use?
Port What it's for 8080 Asteroboard, and in MITM mode the connection settings Dofus fetches 5555 MITM mode: your game's sign-in. Open only while a bot waits. 5556 MITM mode: your game session. Open only while a bot waits. By default, all three only accept connections from Asterobot's own computer. See How the parts connect.
What if port 8080 is already in use?
Asterobot stops right after starting, with An error occurred during the server's initialization process, for example because another copy of Asterobot already runs. Asteroboard can't change the port while Asterobot isn't running, so edit config.toml: under [server], set listenAddress to another port, such as 127.0.0.1:8081, then start Asterobot and open that address. See How the parts connect.
Can several devices use the same Asterobot?
Yes. Every Asteroboard connected to the same Asterobot shows the same bots, library and asterobot.net account, since all of it lives in Asterobot. Each browser keeps its own preferences and its own Server URL. See How the parts connect.
Can one Asteroboard control several Asterobots?
One at a time. A browser keeps a single Server URL, so to switch, open the address of the Asterobot you want, or type it in Preferences. See Preferences.
Who can control my Asterobot?
Anyone who reaches its port. Asterobot has no user accounts of its own, so whoever gets through can use your bots and Ankama accounts, read every setting and shut it down. By default, only Asterobot's own computer can reach it. Read Security before you open it to anything else.
Asteroboard shows an old version or behaves oddly after an update. What do I do?
Use Reset offline data, in the Danger zone section of Preferences. It deletes the copy of Asteroboard your browser keeps and downloads it again, without touching Asterobot. See Preferences.
  • 2 vues
Asterobot signs in with your asterobot.net account, and the website is also where you ask for help.
Why do I need an asterobot.net account?
Because Asterobot signs in with it, and you can't add a bot until it's signed in. Asterobot also downloads marketplace packages with that account, and you need one to post on the forum. Create it on https://asterobot.net. See Create an asterobot.net account.
Does Asterobot ask for my asterobot.net password?
No. You only ever type it on asterobot.net. Asterobot gets a sign-in code, you confirm that code on the website, and Asterobot keeps its own sign-in from then on. See Sign in with asterobot.net.
Where do I find the sign-in link?
In three places:
in the terminal, on the line after Website sign-in required. Please visit this link to authorize access to your account; the app will continue automatically once authorized.; in the browser tab Asterobot opens by itself, for the first code only; behind the account button at the bottom of Asteroboard's sidebar, which then reads Sign-in pending. See Sign in with asterobot.net.
My sign-in code expired. What do I do?
Wait a few minutes: Asterobot asks for a new code by itself. A code is valid for 15 minutes, and once it expires, the terminal prints Sign-in was not completed in time; it will be offered again. The account button then opens the new link. For a new code right away, reload Asteroboard, and click Sign in if the account button shows it. See Sign in with asterobot.net.
Where's the code the Connect a device page asks for?
In the sign-in link, after code=: eight characters, digits and letters from A to F. Opening the whole link fills it in for you. The Connect a device page shows up when the address was opened without it, and there, spaces, hyphens and small letters don't matter. See Sign in with asterobot.net.
What does "Too many incorrect codes have been entered" mean?
That 20 codes that didn't match were typed from your connection within 15 minutes. Wait: you can type codes again at most 15 minutes after the last wrong one. Next time, open the link from the account button rather than typing the code, since the link carries it. See Sign-in problems.
Can I sign in from my phone?
Yes. Turn on website.showQRCode on Server > Config, wait for the next code, and scan the QR code the terminal shows. It's handy when Asterobot runs on a machine without a browser. See Sign in with asterobot.net.
Why is Asterobot asking me to sign in again?
Because asterobot.net stopped accepting Asterobot's sign-in, for example once it expired or was revoked. Asterobot then forgets it and starts a new sign-in right away: the terminal shows a warning such as Website rejected the token, and the account button switches to Sign-in pending. Confirm the new code. See Sign in with asterobot.net.
Is the sign-in shared between my devices?
Yes, because it belongs to Asterobot, not to your browser. Every Asteroboard connected to the same Asterobot shows the same account, and signing out from one of them signs Asterobot out for all. Being signed in to asterobot.net in your browser doesn't sign Asterobot in. See Your account.
How do I sign out, or switch to another account?
Click the account button, then Log out, and confirm. Asterobot doesn't sign back in by itself afterwards, not even when it restarts, and if it starts while signed out, it skips every saved bot.
To switch accounts, sign out of Asterobot, make sure your browser is signed in to asterobot.net with the other account, then click Sign in on the account button and confirm the new code. See Your account.
Why does the Account page say Not signed in?
Either Asterobot really isn't signed in, and the account button reads Sign in, or Asteroboard couldn't load your details from asterobot.net, and the button reads Signed in without your name. In the second case, the device you use Asteroboard on has to reach asterobot.net: check its internet access and the status page. See Your account.
How do I know whether asterobot.net is down?
Look at the status page, https://status.asterobot.net, also linked from Asteroboard's About page. Check it first when sign-in codes won't go through or marketplace previews fail. See Messages and updates.
Where can I get help?
On the forum and on Discord, and guides are at https://asterobot.net/help. Give your Asterobot and Asteroboard versions, how your bot connects, what you did and the exact error text. See Getting help.
What must I never share when I ask for help?
Your passwords, config.toml and the website.token it holds, accounts.toml, the sign-in browser profiles, Asterobot's data folder, the link you copy during a manual Ankama sign-in, and a session's game ticket. Anyone who gets one of them can use your accounts. See Getting help.
Where are Asteroboard's release notes?
At https://asterobot.net/release-note-asteroboard. The version number at the top of Asteroboard's sidebar links there. See Messages and updates.
  • 4 vues

Compte

Navigation

Recherche

Recherche

Configurer les notifications push du navigateur

Chrome (Android)
  1. Appuyez sur l'icône de cadenas à côté de la barre d'adresse.
  2. Tap Autorisations → Notifications.
  3. Ajustez vos préférences.
Chrome (Desktop)
  1. Cliquez sur l'icône représentant un cadenas dans la barre d'adresse..
  2. Select Paramètres du site.
  3. Find Notifications et ajustez vos préférences.