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.

MITM across machines

In MITM mode, short for man-in-the-middle, a bot relays the game you play. When Dofus and Asterobot share a computer, Asterobot edits one line of your Dofus folder by itself (MITM mode). When Dofus runs on another computer, Asterobot can't reach that file, so you make the change yourself and open Asterobot's ports to that computer.

This page uses three computers:

  • PC A runs Dofus, installed with the Ankama Launcher.
  • PC B runs Asterobot.
  • PC C runs Asteroboard in a browser.

PC C is optional. Asteroboard can run on PC B, where the default settings work, or on PC A, which then connects the way PC C does. The address 192.168.1.20 stands for PC B's address on your network.

How the game reaches Asterobot

  • PC A: Dofus → PC B: Asterobot (8080, 5555, 5556)
  • PC A: Dofus → Ankama's servers (everything else)
  • PC B: Asterobot → Ankama's servers
  • PC C: Asteroboard → PC B: Asterobot (SSH tunnel)
  1. Dofus on PC A reads the ConfigUrl line of its version file, and fetches its connection settings from that address: Asterobot's port 8080, on PC B.
  2. Asterobot answers with Ankama's real settings, where the sign-in server is replaced with its own sign-in port, 5555.
  3. Dofus signs in on port 5555 of PC B, and Asterobot passes the sign-in on to Ankama.
  4. When Ankama tells Dofus which game server to join, Asterobot replaces that address with its own session port, 5556.
  5. Dofus opens its game session on port 5556, and the waiting bot relays it to the game server.

So PC A must reach three ports on PC B, all at the same address: the one Asterobot gives Dofus. Everything else Dofus uses still goes straight to Ankama.

What you need

  • Dofus 3 on PC A, installed with the Ankama Launcher.
  • Asterobot on PC B, signed in to asterobot.net, with PC A's Dofus version downloaded and extracted in Game Manager, and a bot using that version. Your first bot walks through both.
  • PC A able to reach PC B: on the same local network, or through port forwarding (see Firewall and NAT).

1. Check the version by hand

On a single computer, Asterobot compares your Dofus version with its own copy, and refuses to wait when they differ. PC A's files are out of its reach, so nothing checks it here.

  1. On PC A, open Dofus_Data/StreamingAssets/version in the Dofus folder, and read the Version= line. The Ankama Launcher's usual folder is %AppData%\Ankama\Dofus-dofus3 on Windows and ~/.config/Ankama/Dofus-dofus3 on Linux.
  2. On PC B, check in Game Manager that this exact version is downloaded and extracted, and that the bot uses it.

When they differ, Asterobot reads the game's messages with the definitions of another version, and nothing the bot shows or a package sees can be trusted. Check again after every Dofus update.

2. Open Asterobot to PC A

On PC B, open Server > Config.

Caution

With these settings, every device on your network can reach Asterobot's port 8080 without a password, which gives full control of Asterobot, and can send its own game session to your waiting bot. Only do this on a network you trust. Security explains the risks.

Change these settings:

Setting Set it to Why
server.listenAddress 0.0.0.0:8080 Dofus fetches its connection settings from this port. 0.0.0.0 also keeps 127.0.0.1 working on PC B, which the SSH tunnel from PC C uses.
botmanager.mitmBindHost 192.168.1.20, PC B's address The sign-in and session ports then accept connections from your network.
botmanager.mitmAdvertiseHost Leave it empty Empty means the same address as botmanager.mitmBindHost, which is right here.
server.tls Off Dofus fetches its settings over plain HTTP.
server.basicAuth Empty Dofus can't send a password.

Set botmanager.mitmAdvertiseHost only when PC A has to use another address than botmanager.mitmBindHost:

  • when botmanager.mitmBindHost is 0.0.0.0. That value means every interface, but it isn't an address anything can connect to, so Asterobot then tells Dofus to use 127.0.0.1, which only works on PC B;
  • when PC A reaches PC B through NAT, with another address (see Firewall and NAT).

Restart Asterobot on PC B: every setting in the table takes effect at the next start.

If Dofus is also installed on PC B, in the folder named by botmanager.mitmGamePath, Asterobot still edits that copy whenever a bot starts waiting, and refuses to wait when that copy's version isn't its own. If you don't play on PC B, empty botmanager.mitmGamePath. That one applies without a restart.

3. Start waiting and copy the value for PC A

  1. In Asteroboard, open the bot's page and click Start waiting. The status turns to Waiting for your game client.

  2. Asterobot opens its sign-in and session ports and writes Ready for game clients in its log, in PC B's terminal and on Server > Console. That line lists the addresses in use. Check that the advertised address is PC B's, not 127.0.0.1.

  3. Copy the configUrl value of that line. With the settings above, it reads:

    http://192.168.1.20:8080/botmanager/mitm/dofus3.json

The value is always built the same way: http://, the advertised address, a colon and the port of server.listenAddress, then /botmanager/mitm/dofus3.json. It stays the same as long as those settings don't change.

With no Dofus on PC B, the log doesn't show Pointed the played game at Asterobot. That's expected: there's nothing on PC B to edit.

4. Edit the line on PC A

  1. Close Dofus on PC A, if it's open.

  2. Open Dofus_Data/StreamingAssets/version, in the Dofus folder, with a text editor.

  3. Find the line that starts with ConfigUrl=, and copy it somewhere safe. You'll need it to put the file back.

  4. Replace everything after ConfigUrl= with the value from step 3, and leave the other lines as they are:

    ConfigUrl=http://192.168.1.20:8080/botmanager/mitm/dofus3.json
  5. Save the file.

5. Play

  1. Start Dofus from the Ankama Launcher on PC A, sign in and choose your character.
  2. On the bot's page, the status turns to Connected to game server, as it would on one computer.

Game sessions are matched with waiting bots by Ankama account, exactly as MITM mode describes.

While its ConfigUrl line points at PC B, the Dofus on PC A only signs in when Asterobot runs on PC B with at least one bot waiting. When no bot waits, the sign-in port is closed, and when Asterobot is stopped, Dofus can't even get its connection settings. On one computer, Asterobot puts the line back at those moments. Across machines, that's up to you.

Put the line back

To play on PC A without Asterobot:

  1. Close Dofus.
  2. In Dofus_Data/StreamingAssets/version, replace the ConfigUrl= line with the original you saved.
  3. Save the file and start Dofus.

If you lost the original line, take it from Asterobot's own copy of the same version on PC B, which Asterobot never edits. Its version file is in Asterobot's cache folder, under game/dofus/dofus3/windows/, then the version number, then Dofus_Data/StreamingAssets/version. Files and folders shows where the cache folder is.

Control it from PC C

PC C's browser has to reach Asterobot on PC B. From another device, that usually means HTTPS (Asteroboard on another device), but HTTPS stops MITM mode. Use an SSH tunnel from PC C to PC B instead:

  1. Make sure PC B runs an SSH server that accepts your sign-in.

  2. On PC C, run:

    ssh -L 8080:127.0.0.1:8080 user@192.168.1.20
  3. In PC C's browser, open http://127.0.0.1:8080.

Asterobot on a remote machine explains the tunnel in detail.

Some browsers let Asteroboard reach http://192.168.1.20:8080 directly, once you allow access to your local network. If yours does, opening that address on PC C works without a tunnel, but many browsers refuse it.

Without opening any port

If PC A can sign in to PC B over SSH, a tunnel can carry the game as well, and Asterobot keeps every port on 127.0.0.1:

  1. On PC B, keep the defaults: server.listenAddress on 127.0.0.1:8080, botmanager.mitmBindHost on 127.0.0.1 and botmanager.mitmAdvertiseHost empty. Restart Asterobot if you had changed them.

  2. On PC A, open a tunnel for the three ports, and keep it open while you play:

    ssh -L 8080:127.0.0.1:8080 -L 5555:127.0.0.1:5555 -L 5556:127.0.0.1:5556 user@192.168.1.20
  3. On PC A, set the ConfigUrl line to the value Asterobot prints with the default settings:

    ConfigUrl=http://127.0.0.1:8080/botmanager/mitm/dofus3.json

Dofus on PC A then connects to 127.0.0.1, and the tunnel carries each connection to the same port on PC B. Ports 8080, 5555 and 5556 must be free on PC A, so no Asterobot can run there at the same time. The same tunnel gives PC A Asteroboard at http://127.0.0.1:8080.

Firewall and NAT

Firewall. PC B has to accept incoming TCP connections from PC A on three ports: the port of server.listenAddress (8080), botmanager.mitmSignInPort (5555) and botmanager.mitmSessionPort (5556). On Windows, the system may ask whether to let Asterobot communicate on your networks the first time it listens on them. Otherwise, add rules for these ports, limited to your local network. The sign-in and session ports only listen while a bot waits, so test the connection from PC A at a moment when one does.

NAT. When PC A isn't on PC B's network, for example with PC B at home and PC A somewhere else, PC A reaches PC B through your router's public address. Then:

  1. On the router, forward TCP ports 8080, 5555 and 5556 to PC B.
  2. On PC B, set botmanager.mitmAdvertiseHost to the router's public address, since PC B's local address means nothing to PC A. Keep botmanager.mitmBindHost on PC B's local address, and restart Asterobot.
  3. Use the configUrl value Asterobot prints after that, which contains the public address.

Caution

Forwarding these ports puts Asterobot's port 8080 on the internet with no password, since MITM mode can't use one. Anyone who finds it controls your Asterobot, your bots and your accounts. Prefer the SSH tunnel above whenever PC A can use it.

When it doesn't work

What you see What to check
The bot stays Waiting for your game client while you play on PC A The ConfigUrl line on PC A holds the exact configUrl value, Dofus was started after the change, PC B's firewall lets PC A through on the three ports, server.tls is off and server.basicAuth is empty.
PC B's log shows A game client signed in that no bot is waiting for Your game went through Asterobot, but no waiting bot took it, because the bot is attached to another Ankama account. See MITM mode.
Ready for game clients shows 127.0.0.1 as the advertised address botmanager.mitmBindHost is still 127.0.0.1, or it's 0.0.0.0 while botmanager.mitmAdvertiseHost is empty. Fix it and restart Asterobot.
Dofus on PC A can't sign in No bot is waiting on PC B, or Asterobot isn't running. Start waiting, or put the original line back.
Couldn't put the bot into waiting The causes listed in MITM mode, including a Dofus copy on PC B, in botmanager.mitmGamePath, whose version isn't the bot's.
The bot connects, but what it shows makes no sense PC A's Dofus version isn't the one the bot uses.

MITM problems covers more errors.

Where to go next

  • Security, for what the open ports allow.
  • Many bots, to relay several Dofus clients.

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.