Sur cette page
Docs Outils

Console Farsight

Console web locale et point d’entrée unique : régler le dossier du jeu, démarrer et arrêter les services comme les instances du jeu, régler la partie suivante, voir ce que pense l’IA, donner des ordres manuels, réalisation, historique des parties.

Farsight est une console web qui tourne sur votre machine et n’écoute que sur 127.0.0.1. C’est aussi le point d’entrée unique de tout le système : lancer une partie, changer d’IA, la passerelle, les bulles de dialogue, le LLM local, tout se fait ici, sans avoir à chercher d’autres scripts.

start.bat                 # vérification du déploiement, puis ouverture de Farsight sur http://127.0.0.1:8866
start.bat 5 6             # démarre en plus le test des instances 5 et 6 (jeu + cerveau de référence)
start.bat restart         # redémarre seulement le serveur de Farsight (après une modification du code côté serveur ; le jeu et les services ne sont pas touchés)
stop.bat                  # arrête tout

Le port se règle dans ports.console de openwar3.json (8866 par défaut).

Centre de contrôle

La page d’accueil de Farsight.

  • Dossier du jeu : recherche automatique ou choix manuel, vérification de la version du jeu, extraction des données depuis votre jeu.
  • Services locaux : passerelle, bulles de dialogue, LLM local (LM Studio), aperçu local du site ; chaque carte permet de démarrer, arrêter, redémarrer et consulter les journaux. On voit aussi si le serveur MCP a été branché par un client.
  • Vérification de l’environnement : Python, fichiers du runtime, données du jeu, données AMAI… chaque composant est-il bien installé.
  • Tout arrêter (en haut à droite) : instances du jeu, IA, passerelle, bulles, modèle local utilisé par le système et serveur de Farsight s’arrêtent l’un après l’autre ; c’est l’équivalent d’un double-clic sur stop.bat. Le serveur MCP est géré par les clients comme Claude : il n’est pas arrêté ; LM Studio lui-même n’est pas fermé non plus.

Pages

GroupePageRôle
PilotageCentre de contrôleVoir la section précédente
PartieVue d’ensembleRésumé de la partie de l’instance courante
CommandementVue de la carte ; ordres manuels possibles (les ordres manuels ont la priorité la plus haute de la table d’arbitrage : 95)
Données des unitésOrdre, cible de la tâche, mana, niveau et expérience des héros, temps de recharge des compétences et inventaire de chaque unité
Décisions de l’IA / décisions de combatCe que pense le cerveau de référence pendant ce tick, détail de chaque décision de combat
Coach stratégiqueÉtat du conseiller LLM : service de modèle disponible ou non, connexion de chaque instance, dernière recommandation et entrées qu’il a reçues
RégieRéalisation automatique, barres de vie au-dessus des unités
Bulles de dialogueFaire parler les unités, dialoguer avec le modèle local, pause-café des paysans, dialogues à la caméra, déclenchement par la partie, réglages du modèle. Voir Bulles de dialogue
Vitesse des ordresAPM et débit de commandes
Événements et entréesCe qui s’est passé dans la partie : sorts lancés, chat et messages à l’écran, clics sur les boutons, raccourcis clavier, clics au sol, sélection, départs de joueurs, avec filtre par catégorie ; à côté, la position de la souris, l’élément survolé et la sélection locale. Voir Interface et entrées
HistoriqueJournaux / historique des partiesSources de journaux de chaque instance ; issue, durée et effectif maximal de chaque partie
Mémo des problèmesEn jeu, appuyez sur Pause/Break pour mettre en pause et noter l’instant ; complétez la description ici plus tard
SystèmeInstances et lancementDémarrer / arrêter les instances ; régler pour la partie suivante la carte (carte de mêlée, ou carte RPG / personnalisée), les races des deux camps, la difficulté et la vitesse ; choisir un schéma d’IA par instance ; « Lancer le test » démarre le jeu + l’IA en un clic
Schémas d’IAImporter, exporter, copier, supprimer des schémas et leur accorder votre confiance ; changer le schéma d’une instance (le nouveau schéma peut même reprendre immédiatement la partie en cours) ; voir les résultats de chaque schéma. Voir Schémas d’IA
Console JASSÉcrivez un script JASS et cliquez sur Exécuter ; à droite, parcourez les 1291 fonctions par catégorie et insérez-en une dans le script d’un clic ; les variables sont conservées pendant toute la partie. Voir Canal JASS
Connexion et extensionsÉtat de la passerelle et démarrage en un clic ; adresses de connexion générées par rôle (dev / joueur / observateur), commandes et configuration pour brancher le MCP ; exemples JS et Python. Voir Passerelle et MCP
Données et disqueEspace disque occupé par chaque type de données d’exécution (enregistrements, historique des parties, journaux…), volume ajouté au cours du dernier jour, et ce qui peut être supprimé (Farsight ne supprime jamais rien automatiquement)
ParamètresDossier du jeu, langue de l’interface, apparence (sombre / clair, moderne / style Warcraft), etc.
Retours et suggestionsUn problème, une suggestion : envoyez-les-nous directement ; les informations de diagnostic ne sont jointes que si vous cochez la case, et vous pouvez les prévisualiser avant l’envoi

Appuyez sur Ctrl + K pour ouvrir la palette de commandes : changer de page, changer d’instance, terminer la partie en cours, lancer un nouveau cerveau.

En bas de la barre latérale, « Nouveautés » liste ce qui a récemment été ajouté à Farsight et à la plateforme. Au démarrage (puis toutes les 6 heures), Farsight demande à War3AI.com s’il existe une nouvelle version et vous prévient si c’est le cas. Quand Farsight est mis à jour, un bandeau apparaît en haut de la page : enregistrez ce que vous êtes en train de saisir, puis cliquez sur « Actualiser ».

Instances multiples

runtime/farm.py gère le multi-instances (Farsight l’appelle pour vous quand il démarre ou arrête des instances) : il copie le lanceur d’origine War3.exe sous le nom War3-<N>.exe (sans modifier aucun fichier du jeu) ; chaque instance a son numéro et son dossier (bin/inst<N>/). À la fin d’une partie, la suivante démarre automatiquement selon next_game.json (c’est ce fichier que modifie la page « Instances et lancement » de la console).

Votre Bot se connecte à une instance donnée avec --inst N. La page « Instances et lancement » de la console indique quels numéros sont utilisés : évitez de prendre le même que le cerveau de référence.

Page de diffusion

http://127.0.0.1:8866/live est une page de journal défilant, conçue pour une « source navigateur » d’OBS, qui affiche les décisions de l’IA et le déroulement de la partie.

API

Le serveur de la console expose un ensemble d’API REST + WebSocket locales (état des instances, réglages de la partie suivante, détail des unités, ordres manuels, journaux, historique des parties, réalisation, schémas d’IA, appels JASS, canevas…) ; la page web n’est qu’un client parmi d’autres, et un programme écrit dans n’importe quel langage peut les appeler directement. La liste des API figure dans l’en-tête du fichier console/server/app.py ; l’utilisation des trois groupes schémas, JASS et canevas est décrite respectivement dans Schémas d’IA, Canal JASS et Canevas.