Inicio rápido
Doble clic en start.bat y todo se instala solo; configura el directorio del juego en Farsight, lanza una partida y mira cómo un Bot de ejemplo toma el control. Unos 15 minutos.
Lo que necesitas
| Requisito | Notas | |
|---|---|---|
| Sistema | Windows 10 / 11, 64 bits | Por ahora solo se admite Windows |
| Juego | Warcraft III 1.27a (The Frozen Throne, Game.dll 1.27.0.52240) | Un cliente que poseas legalmente; no se modifica ningún archivo del juego en disco |
No hace falta instalar nada más antes. start.bat descarga una sola cosa: Python 3.13 (paquete portátil oficial, unos 14 MB), que coloca en bin\env\ dentro del repositorio; no pide permisos de administrador, no cambia el PATH del sistema y, desde redes de China continental, cambia automáticamente a servidores espejo. Si tu equipo ya tiene una versión de Python que sirve, la usa directamente. El PowerShell es el que trae Windows; la web de Farsight se entrega ya compilada con el repositorio, así que no hace falta Node.js.
Instalación
-
Consigue el código
git clone https://github.com/OPENXXAI/OpenWar3AI.gitO descarga el archivo comprimido y descomprímelo. El runtime (la DLL de inyección y el lanzador) viene incluido en el repositorio; no hay que descargarlo aparte.
-
Haz doble clic en
start.batLa primera vez, él solo:
- descarga Python 3.13;
- instala los paquetes de Python y, tras comprobar los archivos del runtime, los deja instalados;
- descarga AMAI y genera los datos de estrategia que usa el cerebro de referencia (AMAI tiene una licencia propia y lo generado no entra en git; si falla, solo afecta al cerebro de referencia);
- abre la página de inicio de Farsight, el “Centro de control”:
http://127.0.0.1:8866.
Cada paso imprime su resultado y, si alguno falla, te dice cómo completarlo. Las veces siguientes, cada doble clic solo hace una comprobación de uno o dos segundos y abre Farsight.
La ventana negra se cierra sola a los pocos segundos: Farsight sigue ejecutándose en segundo plano y no se detiene aunque cierres el navegador.
-
Configura el directorio del juego en el Centro de control
En la parte superior del Centro de control puedes usar “Buscar automáticamente” o elegir tú el directorio de Warcraft III con “Examinar…”. Farsight comprueba la versión del juego y extrae los datos de tu propio juego (tabla de unidades, habilidades, objetos, tabla de counters…; los archivos de Blizzard no se distribuyen con el código).
Si la versión no es la 1.27a, te avisa. Los mapas y la configuración de la siguiente partida son relativos a este directorio (se pueden elegir los mapas de todas las carpetas de
<directorio del juego>\Maps); para cambiar de directorio más adelante, ve a la página “Ajustes”. -
Lanza una partida y deja que un Bot de ejemplo tome el control
Lo más cómodo es ir a la página “Instancias y partida” de Farsight, marcar un número de instancia, elegir un esquema de IA y pulsar “Iniciar prueba”. También puedes usar la línea de comandos:
python tools/play.py --bot brains/examples/hello_bot.pyEste comando arranca una instancia del juego, inyecta el runtime, inicia la partida automáticamente y luego lanza el Bot. Si ves a los campesinos ir a la mina y al ayuntamiento entrenar campesinos, ya está.
El
pythondel comando es el que figura enopenwar3.json; el que instalastart.batpor su cuenta está enbin\env\python\python.exe.
start.bat y stop.bat
start.bat # comprobación del despliegue + abre Farsight
start.bat setup # comprobación completa: reinstala los paquetes de Python, reintenta AMAI
start.bat restart # solo reinicia el backend de Farsight (el juego y los servicios no se ven afectados)
start.bat node # instala además una copia de Node.js (solo hace falta para previsualizar la web; normalmente no se usa)
start.bat 5 6 # además inicia la prueba en las instancias 5 y 6 (juego + cerebro de referencia)
stop.bat # lo detiene todo por completo; stop.bat --keep-llm deja el modelo local en la VRAM
La pasarela, las burbujas de diálogo y el LLM local también se inician y se detienen desde el “Centro de control” de Farsight, sin tener que buscar otros scripts. Para detenerlo todo por completo: haz doble clic en stop.bat o pulsa “Detener todo” en la esquina superior derecha del Centro de control; se detienen por orden las instancias del juego, la IA, la pasarela, las burbujas, el modelo local que usa este sistema y el backend de Farsight. El servidor MCP lo gestionan clientes como Claude, así que no se detiene.
Archivo de configuración
openwar3.json lo escriben automáticamente start.bat y Farsight; solo guarda rutas locales y no entra en git. Si quieres cambiar los puertos o la dirección y el nombre del modelo del LLM local, toma como referencia openwar3.example.json y escribe solo las opciones que difieran de él.
Parámetros 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 # el juego ya está abierto; solo conecta el Bot
python tools/play.py --bot my_bot.py --fair # modo justo: solo ve lo que está en su campo de visión
| Parámetro | Por defecto | Descripción |
|---|---|---|
--bot | Obligatorio | Ruta del archivo del Bot (debe contener una subclase de Bot) |
--inst | 9 | Número de instancia. No uses el de una instancia que ya esté en marcha (la página “Instancias y partida” de Farsight muestra qué números están en uso) |
--race | 1 | Nuestra raza: 1 Humanos, 2 Orcos, 3 No-muertos, 4 Elfos de la noche |
--enemy-race | 0 | Raza del rival |
--difficulty | 2 | Dificultad del ordenador: 2 fácil, 3 normal, 4 demente |
--speed | 100 | Velocidad de juego (porcentaje; 200 = 2×) |
--map | default_map de la configuración | Mapa |
--attach | No arranca el juego; solo se conecta a una instancia ya en marcha | |
--hz | 5 | Cuántas veces por segundo se llama a on_tick |
--minutes | 60 | Duración máxima en minutos (reloj real) |
--fair | Modo justo | |
--player | Número de jugador que controla el Bot (para IA contra IA) |
No arranques el juego con --minimize: con la ventana minimizada, la simulación del juego se detiene (el reloj no avanza) y el Bot se quedará esperando para siempre a que empiece la partida.
También puedes prescindir de play.py y conectarte a una instancia ya en marcha con la línea de comandos del SDK:
python -m openwar3 run brains/examples/hello_bot.py --inst 5 # ejecutar el Bot
python -m openwar3 status --inst 5 # conectar e imprimir el estado de la instantánea / del carril rápido
python -m openwar3 catalog # imprimir el catálogo de la API
Cuando ya funcione
Autocomprobación
python tools/run_tests.py # SDK / cerebro de referencia / capa de reflejos / consola / bocadillos / ejemplos, cada suite en un subproceso
Los tests offline no necesitan abrir el juego. En el “Centro de control” de Farsight también hay una comprobación del entorno que muestra si cada parte está instalada.