# Visión general de la documentación

> Documentación de OpenWar3: qué es, qué hace; Inicio rápido, Tu primer Bot, Escribe un Bot con un LLM, API y protocolo, Pasarela y MCP — por dónde empezar depende de tu caso.

Fuente: https://war3ai.com/es/docs/

**OpenWar3** es la capa de interfaz abierta de War3AI: un runtime que se inyecta en Warcraft III 1.27, más un SDK de Python.

- Cada **50 ms**, el runtime publica en memoria compartida el estado completo de todo el mapa: recursos y comida de todos los jugadores; vida, maná, órdenes, a quién ataca, enfriamientos de habilidades, buffs e inventario de todas las unidades; objetos en el suelo, árboles, colas de producción, día y noche. También hay un **flujo de eventos**: unidades que aparecen y mueren, cada golpe de daño, producción completada…
- Los programas externos envían **comandos semánticos** con una latencia de **aproximadamente un fotograma**: mover, atacar, recolectar, construir, entrenar, lanzar hechizos, aprender habilidades, revivir, usar objetos, comprar… Cada comando tiene su **recibo**, que indica si el motor lo aceptó y, si no, el código de motivo.
- Tú solo dices "qué hacer": las unidades se nombran por código de cuatro caracteres y las habilidades por nombre de orden, igual que en el juego; "cómo lograrlo" es cosa del runtime.

Por eso un LLM no necesita ningún conocimiento de bajo nivel ni mirar la pantalla. Tras leer la documentación puede escribir un Bot que gestiona la economía y sabe combatir y, una vez en partida, corregirlo él mismo a partir de los recibos y los eventos.

Y no solo para combatir: el [lienzo](https://war3ai.com/es/docs/canvas/) dibuja tus propios paneles y marcas sobre la pantalla del juego, [Interfaz y entrada](https://war3ai.com/es/docs/ui-input/) hace que los botones dibujados se puedan pulsar y que los atajos de teclado respondan, el [canal JASS](https://war3ai.com/es/docs/jass/) llama desde fuera a las 1291 funciones del juego y, en los mapas RPG, puedes llevar tu propio [compañero IA](https://war3ai.com/es/docs/companion/). La IA que escribas se puede convertir en un [esquema](https://war3ai.com/es/docs/schemes/): se cambia con un clic y se exporta para compartirla; un modo de juego nuevo completo se puede escribir como [mod de juego](https://war3ai.com/es/docs/mods/).

También sin escribir Python: la [pasarela](https://war3ai.com/es/docs/gateway/) permite a cualquier lenguaje o página web llamar a las mismas interfaces por WebSocket / JSON, y el [servidor MCP](https://war3ai.com/es/docs/mcp/) permite que agentes como Claude Code llamen directamente a herramientas para ver la partida y dar órdenes.

  - [Inicio rápido](https://war3ai.com/es/docs/quickstart/): Prepara el entorno, lanza una partida con un solo comando y mira cómo toma el control un Bot de ejemplo.
  - [Escribe un Bot con un LLM](https://war3ai.com/es/docs/ai-bot/): No hace falta saber programar: copia el prompt, describe tu estrategia y dáselo a un agente.
  - [Modelo mental](https://war3ai.com/es/docs/concepts/): Snapshots, comandos, recibos, eventos y ticks. Cinco minutos de lectura antes de escribir un Bot.
  - [Catálogo de API](https://war3ai.com/es/api/): Todas las interfaces, cada una con su estado de pruebas, su nivel de latencia y su mecanismo de bajo nivel.

## Elige un camino según tu caso

| Si… | Empieza por | Después |
|---|---|---|
| Juegas a Warcraft pero no sabes programar | [Inicio rápido](https://war3ai.com/es/docs/quickstart/) → [Escribe un Bot con un LLM](https://war3ai.com/es/docs/ai-bot/) | Si algo falla, consulta las [Preguntas frecuentes](https://war3ai.com/es/docs/faq/) |
| Sabes Python | [Tu primer Bot](https://war3ai.com/es/docs/first-bot/) → [Modelo mental](https://war3ai.com/es/docs/concepts/) → [Las quince reglas](https://war3ai.com/es/docs/rules/) | [Recetario de juego pro](https://war3ai.com/es/docs/cookbook/), [Bots de ejemplo](https://war3ai.com/es/docs/examples/) |
| Construyes un coding agent / automatización | [Iteración autónoma del agente](https://war3ai.com/es/docs/agent-loop/) | [Recibos y códigos de motivo](https://war3ai.com/es/docs/reason-codes/), [`llms-full.txt`](https://war3ai.com/es/llms-full.txt) |
| Quieres que un LLM tome decisiones durante la partida | [El LLM como asesor](https://war3ai.com/es/docs/llm-coach/) | [Burbujas y modelos locales](https://war3ai.com/es/docs/speech/) |
| Quieres que un agente actúe directamente (Claude Code, etc.) | [El LLM usa herramientas directamente (MCP)](https://war3ai.com/es/docs/mcp/) | [Interfaz y entrada](https://war3ai.com/es/docs/ui-input/) |
| Usas otro lenguaje (JS, C#, Go, Rust…) | [Pasarela](https://war3ai.com/es/docs/gateway/) | Más a bajo nivel: [Protocolo W3P](https://war3ai.com/es/docs/protocol/) |
| Quieres enfrentar IA de distintas personas | [Modo justo](https://war3ai.com/es/docs/fair-mode/) | [Arena](https://war3ai.com/es/arena/) |
| Quieres crear tu propio modo de juego en mapas RPG / personalizados | [Mods de juego](https://war3ai.com/es/docs/mods/) | [Interfaz y entrada](https://war3ai.com/es/docs/ui-input/), [Lienzo](https://war3ai.com/es/docs/canvas/), [Canal JASS](https://war3ai.com/es/docs/jass/), [Compañero para RPG](https://war3ai.com/es/docs/companion/) |
| Quieres compartir tu IA con otros | [Esquemas de IA](https://war3ai.com/es/docs/schemes/) | [Consola Farsight](https://war3ai.com/es/docs/console/) |

## Qué hay en el repositorio

```text
start.bat       Único punto de entrada: despliegue desde cero + abre Farsight; stop.bat lo detiene todo por completo
sdk/python/     Capa de interfaz. openwar3/ es la fachada pública (Game + Bot): empieza por aquí
brains/         Capa de decisión
  examples/       hello_bot (economía) → rush_bot (tropas) → macro_bot (macro) → micro_bot (micro + creeping); buddy (compañero para RPG);
                  mod_hero_roguelike / mod_endless_defense (mods de juego)
  xwar3/          Cerebro de referencia: capa de estrategia (segundos) + capa de reflejos (4 procesos) + modelo de victoria
console/        Consola web Farsight (FastAPI + React)
gateway/        Pasarela (WebSocket / JSON) + cliente JS + página de demostración para el navegador
director/       Cámara automática, barras de vida sobre las unidades
speech/         Burbujas de diálogo + LLM local
runtime/        Orquestación multiinstancia (cada partida se reinicia según su configuración)
data/           order-ids.txt; herramientas para extraer datos de tu propia copia del juego
schemes/        Tus esquemas de IA (mine/) y los que comparten otros (installed/); no entran en el repositorio
tools/          play.py (una partida con un comando), run_scheme.py (ejecutor de esquemas), war3_mcp.py (servidor MCP), run_tests.py, scripts de verificación en vivo
docs/           Catálogo de API api.json (generado desde el código), protocolo, manual
```

Entre el runtime y tu código solo hay un [protocolo W3P](https://war3ai.com/es/docs/protocol/) versionado: el SDK de Python es lo más cómodo, pero también puedes conectarte desde otro lenguaje siguiendo el protocolo.

## Qué significa el "estado de pruebas" de una interfaz

Cada interfaz del catálogo lleva uno de estos tres estados:

- **Verificado en partida**: la ruta de bajo nivel (ID de acción, forma de los parámetros, efecto leído) se ha verificado en partidas reales y la protege un script de verificación.
- **Experimental**: interfaz nueva que ya funciona en la instancia de prueba y se está verificando punto por punto en partidas reales. Se puede usar, pero los detalles de la interfaz aún pueden cambiar.
- **Inferido / no probado del todo**: el mecanismo copia lo que hace el propio motor (por ejemplo, la función JASS equivalente), pero aún no se ha comprobado punto por punto en partida. Revisa el recibo antes de fiarte.

> **Nota**
>
> Por ahora solo se admite **Warcraft III 1.27** (The Frozen Throne). Las versiones 1.24 ~ 1.28 comparten la misma estructura de motor, y el soporte multiversión es la fase P4 de la [hoja de ruta](https://war3ai.com/es/roadmap/). A partir de 1.29, y en Reforged, el motor es otro y queda fuera de lo que prometemos.
