Lancer Asterobot sans commande le démarre, comme vous le faites tous les jours. Le même programme propose aussi des commandes pour des tâches qui se passent d'Asteroboard : lister et télécharger des versions de jeu, gérer la bibliothèque, et réinitialiser les réglages ou le cache.
Lancer une commande
Les commandes se lancent dans un terminal, depuis le dossier où vous avez placé Asterobot :
- Windows : ouvrez PowerShell dans ce dossier et tapez
.\asterobot.exe, puis la commande et ses options. - macOS et Linux : ouvrez un terminal dans ce dossier et tapez
./asterobot, puis la commande et ses options.
Les commandes sont réparties en groupes, un par partie d'Asterobot concernée : gamemanager pour les versions de jeu, library pour les paquets, config pour les réglages et cache pour le dossier de cache. Vous tapez le groupe, puis la commande. Par exemple, pour lister vos versions de jeu :
.\asterobot.exe gamemanager list
./asterobot gamemanager list
Les exemples ci-dessous utilisent ./asterobot. Sous Windows, écrivez .\asterobot.exe à la place.
Les options commencent par deux tirets et prennent une valeur après une espace : --version latest. Mettez entre guillemets une valeur qui contient des espaces ou des caractères spéciaux, comme une expression régulière.
Chaque commande affiche d'abord la même ligne qu'un démarrage normal, avec la version d'Asterobot, puis fait son travail. Une commande qui prend du temps, comme un téléchargement, affiche une barre de progression, et Ctrl+C l'interrompt. Quand une commande échoue, elle affiche une ligne contenant asterobot execution failed, suivie de la raison.
Quand la ligne de commande elle-même est incorrecte, rien ne se passe : Asterobot affiche une ligne contenant Incorrect usage:, suivie de l'erreur.
| Erreur | Ce qui suit Incorrect usage: |
|---|---|
| Un groupe qui n'existe pas | unknown command "gamemanger". Did you mean "gamemanager"? |
| Une commande que le groupe ne possède pas | No help topic for 'lst'. Did you mean "list"? |
| Une option obligatoire oubliée | Required flag "version" not set, après la liste des options de la commande |
Aide et version
| Tapez | Pour obtenir |
|---|---|
./asterobot --help ou ./asterobot -h |
La liste des groupes, puis les options de dossier avec les dossiers par défaut de cet ordinateur. |
./asterobot gamemanager ou ./asterobot gamemanager --help |
Les commandes d'un groupe. |
./asterobot gamemanager download --help |
Les options d'une commande, puis les options de dossier sous GLOBAL OPTIONS. |
./asterobot --version ou ./asterobot -v |
La version, sur une ligne qui commence par Asterobot version suivi du numéro. |
Choisir les dossiers
Asterobot range ses fichiers dans trois dossiers : un pour ses réglages, un pour ses données et un pour son cache (Fichiers et dossiers). Une option place chacun d'eux ailleurs, pour un démarrage normal comme pour n'importe quelle commande :
| Option | Variable d'environnement | Dossier |
|---|---|---|
--config-dir |
ASTEROBOT_CONFIG_DIR |
Le dossier des réglages, avec config.toml |
--appdata-dir |
ASTEROBOT_APPDATA_DIR |
Le dossier des données : bots, comptes Ankama, paquets et le reste de vos données |
--cache-dir |
ASTEROBOT_CACHE_DIR |
Le dossier de cache : versions de jeu et tout ce qui peut être téléchargé de nouveau |
Par exemple, pour garder les versions de jeu sur un autre disque :
./asterobot --cache-dir /mnt/games/asterobot-cache
Asterobot utilise le dossier indiqué tel quel, sans y ajouter de sous-dossier, et le crée s'il n'existe pas. Un chemin relatif part du dossier où se trouve le terminal. L'option peut se placer avant ou après la commande, comme dans ./asterobot gamemanager list --cache-dir /mnt/games/asterobot-cache. Une variable d'environnement agit comme son option pour chaque exécution qui la voit, et l'option l'emporte quand les deux sont définies.
Asterobot ne retient pas ces dossiers. Une exécution sans l'option ni sa variable d'environnement utilise le dossier par défaut. Donnez donc les mêmes dossiers à chaque démarrage et à chaque commande : une version de jeu téléchargée avec --cache-dir n'apparaît dans le Gestionnaire de jeux que si Asterobot démarre avec le même dossier de cache.
Les trois dossiers doivent rester séparés, et à l'écart de votre dossier personnel, puisque cache reset supprime tout le contenu du dossier de cache. Avant de lancer quoi que ce soit, Asterobot refuse les dossiers suivants avec une ligne contenant Incorrect usage: :
| Dossiers | Ce qui suit Incorrect usage:, par exemple |
|---|---|
| Deux options avec le même dossier, ou le dossier d'une option placé dans celui d'une autre | --appdata-dir and --cache-dir must be separate folders, neither inside the other: /data and /data/cache |
| Votre dossier personnel, ou un dossier qui le contient | --cache-dir can't be your home folder or a folder that contains it: /home/me |
| Une valeur vide, comme une variable d'environnement définie sans valeur | --cache-dir needs a folder |
Toutes les commandes
| Commande | Ce qu'elle fait | Dans Asteroboard |
|---|---|---|
server |
Démarre Asterobot. Revient à le lancer sans commande. | |
gamemanager list |
Liste les versions de jeu connues d'Asterobot. | Gestionnaire de jeux |
gamemanager registry |
Liste les versions de jeu proposées par les serveurs de téléchargement d'Ankama. | |
gamemanager download |
Télécharge une version de jeu. | Télécharger un jeu |
gamemanager verify |
Vérifie les fichiers d'une version et télécharge de nouveau ceux qui ne correspondent pas. | Vérifier les fichiers |
gamemanager remove |
Supprime une version de jeu. | Supprimer |
gamemanager chunks verify |
Vérifie tous les chunks stockés. | Vérifier tous les chunks |
gamemanager chunks clear |
Supprime tous les chunks stockés. | Supprimer tous les chunks |
library list |
Liste les paquets de votre bibliothèque. | Gestionnaire de bibliothèque |
library install |
Installe un paquet depuis un dossier. | Importer un .zip |
library remove |
Supprime une version d'un paquet. | Supprimer |
config reset |
Remet tous les réglages à leur valeur par défaut. | Tout rétablir dans Serveur > Config |
cache reset |
Supprime le dossier de cache d'Asterobot. |
Pendant qu'Asterobot tourne
Une commande travaille sur les mêmes fichiers qu'Asterobot quand les deux utilisent les mêmes dossiers, et un Asterobot déjà lancé dans un autre terminal n'est pas informé de ce qu'une commande a changé. Une version de jeu téléchargée avec gamemanager download, par exemple, n'apparaît dans le Gestionnaire de jeux qu'après Rescanner ou un redémarrage (Gérer les versions de jeu).
Par prudence, arrêtez Asterobot avant de lancer une commande qui modifie des fichiers, et relancez-le ensuite. Pour cache reset, l'arrêter d'abord est indispensable.
Versions de jeu
Les commandes qui désignent une version prennent les quatre mêmes options, toutes obligatoires :
| Option | Ce qu'il faut indiquer | Exemple |
|---|---|---|
--game |
Le code du jeu | dofus |
--environment |
L'environnement | dofus3 |
--platform |
La plateforme | windows |
--version |
Le numéro de version | 3.6.11.13 |
Ce sont les valeurs qu'affichent les colonnes Jeu, Environnement, Plateforme et Version du Gestionnaire de jeux. Télécharger une version de jeu les explique.
gamemanager list
./asterobot gamemanager list
Affiche un tableau des versions de jeu connues d'Asterobot, installées ou non, avec une ligne par version : jeu, environnement, plateforme, version et statut, comme installed, downloading ou failed.
GAME ENVIRONMENT PLATFORM VERSION STATUS
dofus dofus3 windows 3.6.11.13 installed
gamemanager registry
./asterobot gamemanager registry
Affiche un tableau des versions de jeu trouvées dans les listes des serveurs de téléchargement d'Ankama qu'Asterobot garde dans son dossier de cache : jeu, environnement, plateforme et version. Le nombre de listes conservées dépend de cytrus.keepMostRecentIndexes (Référence des réglages).
gamemanager download
./asterobot gamemanager download --game dofus --environment dofus3 --platform windows --version latest
Télécharge une version de jeu et attend la fin, avec une barre de progression. En plus des quatre options ci-dessus :
| Option | Ce qu'elle fait |
|---|---|
--version latest |
Télécharge la version la plus récente qu'Ankama propose pour ce jeu, cet environnement et cette plateforme. |
--file-filter |
Une expression régulière. Seuls les fichiers dont le chemin correspond sont téléchargés. |
--fragment-filter |
Une expression régulière comparée aux noms des parties en lesquelles Ankama découpe un jeu. Seules les parties correspondantes sont téléchargées. |
La commande se comporte différemment de Télécharger un jeu sur deux points :
- Sans
--file-filter, elle télécharge tous les fichiers de la version, pas seulement ceux dont un bot a besoin, ce qui prend beaucoup plus de place. Pour ne télécharger que ce dont les bots ont besoin, copiez le motif du champ Filtre de fichiers (regex) de la fenêtre de téléchargement d'Asteroboard et passez-le à--file-filter, entre guillemets. - Elle n'extrait pas les données de jeu. Extrayez ensuite la version depuis le Gestionnaire de jeux (Extraire les données de jeu).
gamemanager verify
./asterobot gamemanager verify --game dofus --environment dofus3 --platform windows --version 3.6.11.13
Compare les fichiers d'une version présents sur le disque à la liste publiée par Ankama, et télécharge de nouveau ceux qui ne correspondent pas. Elle a besoin du numéro de version exact : latest ne fonctionne qu'avec gamemanager download. --file-filter et --fragment-filter limitent la vérification à une partie des fichiers, et n'ajoutent jamais de fichiers qui n'avaient pas été téléchargés.
gamemanager remove
./asterobot gamemanager remove --game dofus --environment dofus3 --platform windows --version 3.6.11.13
Supprime une version de jeu : ses fichiers et ses données de jeu extraites. Les chunks stockés restent, comme avec Supprimer dans le Gestionnaire de jeux. Elle affiche Game removed, ou échoue avec game is not installed quand Asterobot ne connaît pas cette version. Les bots réglés sur cette version ne sont pas vérifiés : faites-les d'abord changer de version (Quand Dofus se met à jour).
gamemanager chunks verify
./asterobot gamemanager chunks verify
Lit chaque chunk stocké et supprime ceux dont le contenu ne correspond pas, avec une barre de progression. Elle se termine par All chunks have been validated!. Un chunk supprimé est téléchargé de nouveau la prochaine fois qu'un téléchargement en a besoin.
gamemanager chunks clear
./asterobot gamemanager chunks clear
Supprime tous les chunks stockés, pour tous les jeux et toutes les versions, et affiche Chunks removed. Vos versions de jeu continuent de fonctionner. Le prochain téléchargement ou la prochaine vérification récupère de nouveau les chunks nécessaires, ce qui prend plus de temps. Gérer les versions de jeu explique les chunks.
Paquets
Note
Les commandes de paquet préparent aussi la connexion d'Asterobot à asterobot.net. Si Asterobot n'est pas connecté, elles affichent un lien de connexion et peuvent l'ouvrir dans votre navigateur. Vous pouvez l'ignorer : lister, installer et supprimer des paquets locaux ne demande pas de connexion.
library list
./asterobot library list
Affiche un tableau des versions de paquets de votre bibliothèque, avec une ligne par version : nom, version, provenance (local, community ou official) et éditeur.
library install
./asterobot library install --path ./my-harvester --name my-harvester --version 1.0.0
Installe un paquet depuis un dossier de votre ordinateur. Les trois options sont obligatoires :
| Option | Ce qu'il faut indiquer |
|---|---|
--path |
Le dossier qui contient les fichiers .js ou .mjs du paquet, avec index.js directement à l'intérieur, et son asterobot.json s'il en a un. |
--name |
Le nom que prend le paquet dans votre bibliothèque. Un nom simple, comme my-harvester, donne un paquet local. Un nom de la forme @publisher:name le fait apparaître comme Communautaire, ou Officiel avec @asterobot:. |
--version |
La version exacte, comme 1.0.0. |
Elle affiche Package my-harvester@1.0.0 installed. Si ce nom et cette version sont déjà installés, les fichiers sont remplacés. Une option manquante arrête la commande avec une erreur comme Required flag "version" not set.
Les auteurs de scripts qui travaillent avec un éditeur externe trouveront plus de détails dans Fichiers zip et ligne de commande.
library remove
./asterobot library remove --name my-harvester --version 1.0.0
Supprime une version d'un paquet et affiche Package removed. Les deux options sont obligatoires. Contrairement à Supprimer dans le Gestionnaire de bibliothèque, elle ne vous avertit pas des bots réglés sur cette version ni des paquets qui en dépendent.
Réinitialisations
Les deux réinitialisations suppriment des éléments définitivement, c'est pourquoi chacune demande confirmation avant d'agir. [y/N] à la fin de la question signifie qu'Entrée seule répond non : tapez y ou yes, puis Entrée, pour continuer. Toute autre réponse arrête la commande avec not confirmed, et rien ne change.
Pour répondre oui à l'avance, par exemple dans un script, ajoutez --yes après la commande. Sans --yes, une réinitialisation lit sa réponse dans le terminal. Quand son entrée est un pipe ou un fichier, elle ne pose pas la question et s'arrête avec this command needs a confirmation: run it again with --yes : envoyer y par un pipe ne confirme donc rien.
Une réinitialisation travaille sur les dossiers de sa propre exécution. Si vous démarrez Asterobot avec des options de dossier ou leurs variables d'environnement, donnez les mêmes dossiers à la réinitialisation.
config reset
./asterobot config reset
Elle demande Put every setting back to its default value? [y/N]. Une fois la confirmation donnée, elle remet tous les réglages à leur valeur par défaut et vide config.toml, en affichant Resetting the configuration.. puis All configuration settings have been reset to their default values.
Vous perdez tout ce que vous avez modifié dans Serveur > Config, notamment :
- La connexion d'Asterobot à asterobot.net : vous devrez confirmer un nouveau code de connexion.
- Les réglages réseau, comme
server.listenAddress,server.basicAuthetserver.tls, qui reviennent à n'accepter que les connexions de cet ordinateur, sans mot de passe. - Vos ports, hôtes et dossier Dofus du mode MITM, pour « homme du milieu » (man-in-the-middle), ainsi que vos réglages de connexion automatique.
Vos bots, comptes Ankama, paquets et versions de jeu sont conservés. Si Asterobot tourne, il lit aussitôt le fichier vidé, comme après une modification à la main : il est déconnecté immédiatement, et les réglages qui demandent un redémarrage reviennent à leur valeur par défaut au prochain démarrage.
cache reset
./asterobot cache reset
Elle demande Delete <folder> with everything in it? [y/N], avec le chemin complet du dossier de cache à la place de <folder> : vérifiez qu'il s'agit bien du dossier voulu. Une fois la confirmation donnée, elle supprime le dossier de cache avec tout son contenu, puis le recrée, vide, en affichant Resetting the cache.. puis All cache have been removed.
Ce que vous perdez : toutes les versions de jeu, avec leurs fichiers et leurs données de jeu extraites, tous les chunks stockés, les listes de téléchargement d'Ankama, et les captures d'écran des connexions automatiques qui ont échoué. Les bots réglés sur une version de jeu supprimée sont ignorés au démarrage d'Asterobot, jusqu'à ce que vous téléchargiez et extrayiez de nouveau cette version. Vos réglages, bots, comptes Ankama et votre bibliothèque restent, puisque leurs dossiers ne se trouvent jamais dans le dossier de cache.
Arrêtez Asterobot avant de la lancer.
Réinitialiser et repartir de zéro vous aide à choisir la bonne réinitialisation.