Docs Empezar

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

RequisitoNotas
SistemaWindows 10 / 11, 64 bitsPor ahora solo se admite Windows
JuegoWarcraft 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

  1. Consigue el código

    git clone https://github.com/OPENXXAI/OpenWar3AI.git

    O 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.

  2. Haz doble clic en start.bat

    La 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.

  3. 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”.

  4. 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.py

    Este 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 python del comando es el que figura en openwar3.json; el que instala start.bat por su cuenta está en bin\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ámetroPor defectoDescripción
--botObligatorioRuta del archivo del Bot (debe contener una subclase de Bot)
--inst9Nú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)
--race1Nuestra raza: 1 Humanos, 2 Orcos, 3 No-muertos, 4 Elfos de la noche
--enemy-race0Raza del rival
--difficulty2Dificultad del ordenador: 2 fácil, 3 normal, 4 demente
--speed100Velocidad de juego (porcentaje; 200 = 2×)
--mapdefault_map de la configuraciónMapa
--attachNo arranca el juego; solo se conecta a una instancia ya en marcha
--hz5Cuántas veces por segundo se llama a on_tick
--minutes60Duración máxima en minutos (reloj real)
--fairModo justo
--playerNú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.