Démarrage rapide
Double-cliquez sur start.bat pour tout installer automatiquement, réglez le dossier du jeu dans Farsight, puis lancez une partie et regardez le Bot d'exemple prendre la main. Environ 15 minutes.
Ce qu’il vous faut
| Exigence | Remarques | |
|---|---|---|
| Système | Windows 10 / 11, 64 bits | Seul Windows est pris en charge pour l’instant |
| Jeu | Warcraft III 1.27a (The Frozen Throne, Game.dll 1.27.0.52240) | Un client que vous possédez légalement ; aucun fichier du jeu n’est modifié sur le disque |
Rien d’autre à installer au préalable. start.bat ne télécharge qu’une seule chose : Python 3.13 (le paquet portable officiel, environ 14 MB). Il est placé dans le dossier bin\env\ du dépôt : pas besoin de droits administrateur, le PATH du système n’est pas modifié, et depuis un réseau en Chine un miroir est utilisé automatiquement ; si votre machine a déjà une version utilisable de Python, elle sert directement. PowerShell utilise celui fourni avec Windows ; les pages web de Farsight sont fournies déjà compilées avec le dépôt, Node.js n’est pas nécessaire.
Installation
-
Récupérer le code
git clone https://github.com/OPENXXAI/OpenWar3AI.gitOu téléchargez l’archive et décompressez-la. Le runtime (DLL injectée et lanceur) est fourni avec le dépôt : rien d’autre à télécharger.
-
Double-cliquer sur
start.batLa première fois, il s’occupe lui-même de :
- télécharger Python 3.13 ;
- installer les paquets Python, vérifier les fichiers du runtime puis les mettre en place ;
- télécharger AMAI et générer les données stratégiques utilisées par le cerveau de référence (AMAI est sous licence personnalisée, les fichiers générés ne sont pas versionnés dans git ; un échec n’affecte que le cerveau de référence) ;
- ouvrir la page d’accueil de Farsight, le « Centre de contrôle »,
http://127.0.0.1:8866.
Chaque étape affiche son résultat ; pour une étape qui a échoué, il vous indique comment la compléter. Ensuite, chaque double-clic ne fait qu’une vérification d’une ou deux secondes avant d’ouvrir Farsight.
La fenêtre noire se ferme d’elle-même au bout de quelques secondes : Farsight continue de tourner en arrière-plan, et fermer le navigateur ne l’arrête pas.
-
Régler le dossier du jeu dans le Centre de contrôle
Tout en haut du Centre de contrôle, utilisez « Recherche automatique », ou « Parcourir… » pour choisir vous-même le dossier de Warcraft III. Farsight vérifie la version du jeu et extrait les données depuis votre propre jeu (table des unités, capacités, objets, table des contres… les fichiers de Blizzard ne sont pas distribués avec le code).
Si la version n’est pas la 1.27a, vous en êtes averti. Les cartes et les réglages de la partie suivante sont relatifs à ce dossier (les cartes de tous les sous-dossiers de
<dossier du jeu>\Mapssont disponibles) ; pour changer de dossier plus tard, passez par la page « Paramètres ». -
Lancer une partie et laisser le Bot d’exemple prendre la main
Le plus simple : dans la page « Instances et lancement » de Farsight, cochez un numéro d’instance, choisissez un schéma d’IA et cliquez sur « Lancer le test ». Vous pouvez aussi passer par la ligne de commande :
python tools/play.py --bot brains/examples/hello_bot.pyCette commande démarre une instance du jeu, injecte le runtime, lance automatiquement la partie, puis démarre le Bot. Si vous voyez les paysans partir à la mine et le hall produire des paysans, c’est gagné.
Le
pythonde la commande est celui indiqué dansopenwar3.json; celui questart.bata installé se trouve dansbin\env\python\python.exe.
start.bat et stop.bat
start.bat # vérification du déploiement + ouverture de Farsight
start.bat setup # vérification complète : réinstalle les paquets Python, relance AMAI
start.bat restart # redémarre seulement le serveur de Farsight (le jeu et les services ne sont pas touchés)
start.bat node # installe en plus Node.js (seulement utile pour prévisualiser le site, inutile au quotidien)
start.bat 5 6 # démarre en plus le test des instances 5 et 6 (jeu + cerveau de référence)
stop.bat # arrête tout ; stop.bat --keep-llm garde le modèle local en mémoire vidéo
La passerelle, les bulles de dialogue et le LLM local se démarrent et s’arrêtent eux aussi depuis le « Centre de contrôle » de Farsight : plus besoin de chercher d’autres scripts. Arrêt complet : double-cliquez sur stop.bat, ou cliquez sur « Tout arrêter » en haut à droite du Centre de contrôle — 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. Le serveur MCP est géré par les clients comme Claude : il n’est pas arrêté.
Fichier de configuration
openwar3.json est écrit automatiquement par start.bat et Farsight ; il ne contient que des chemins locaux et n’est pas versionné dans git. Pour changer les ports, ou l’adresse et le nom du modèle du LLM local, suivez openwar3.example.json et n’y écrivez que les valeurs qui diffèrent.
Paramètres de play.py
python tools/play.py --bot my_bot.py --inst 9 --race 2 --enemy-race 1 --difficulty 3 --speed 200
python tools/play.py --bot my_bot.py --inst 9 --attach # le jeu est déjà ouvert, ne connecter que le Bot
python tools/play.py --bot my_bot.py --fair # mode équitable : seul ce qui est dans le champ de vision est visible
| Paramètre | Défaut | Description |
|---|---|---|
--bot | obligatoire | Chemin du fichier du Bot (il doit contenir une sous-classe de Bot) |
--inst | 9 | Numéro d’instance. Évitez les numéros déjà utilisés par une instance en cours (la page « Instances et lancement » de Farsight indique ceux qui sont pris) |
--race | 1 | Votre race : 1 Humains, 2 Orcs, 3 Morts-vivants, 4 Elfes de la nuit |
--enemy-race | 0 | Race de l’adversaire |
--difficulty | 2 | Difficulté de l’ordinateur adverse : 2 facile, 3 normal, 4 démentiel |
--speed | 100 | Vitesse de jeu (en pourcentage, 200 = vitesse ×2) |
--map | default_map de la configuration | Carte |
--attach | Ne lance pas le jeu, se connecte seulement à une instance déjà en cours | |
--hz | 5 | Nombre d’appels à on_tick par seconde |
--minutes | 60 | Durée maximale d’exécution, en minutes (temps réel) |
--fair | Mode équitable | |
--player | Numéro du joueur à commander (pour les matchs IA contre IA) |
Ne lancez pas le jeu avec --minimize : quand la fenêtre est réduite, la simulation du jeu est arrêtée (l’horloge n’avance pas), et le Bot attendra indéfiniment le début de la partie.
Vous pouvez aussi vous passer de play.py et utiliser directement la ligne de commande du SDK pour vous connecter à une instance déjà en cours :
python -m openwar3 run brains/examples/hello_bot.py --inst 5 # exécuter un Bot
python -m openwar3 status --inst 5 # se connecter et afficher l'état de l'instantané / de la voie rapide
python -m openwar3 catalog # afficher le catalogue de l'API
Une fois que tout fonctionne
Autovérification
python tools/run_tests.py # SDK / cerveau de référence / couche réflexe / console / bulles / exemples, chaque suite dans un sous-processus
Les tests hors ligne n’ont pas besoin de lancer le jeu. Le « Centre de contrôle » de Farsight propose aussi une vérification de l’environnement, qui montre si chaque composant est bien installé.