# FAQ

> Is this a cheat? Which versions are supported? What can the AI see and do? Can I use it without programming?…

Source: https://war3ai.com/en/docs/faq/

## Is this a cheat?

No. It's a development interface for AI research and entertainment, used only with **a client you legally own**, playing against the computer or other AIs locally, over LAN, or in self-hosted games. It **must not be used on Battle.net or any server with anti-cheat**, and it offers no features aimed at games against real people. See [Terms of use](https://war3ai.com/en/docs/legal/).

## Which game versions are supported?

Only **Warcraft III 1.27** (The Frozen Throne) for now. Versions 1.24–1.28 share the same engine structure; multi-version support (per-version symbol tables, a signature-scan fallback, and a capability list from a startup self-check) is phase P4 of the [roadmap](https://war3ai.com/en/roadmap/). Versions 1.29 and later, as well as Reforged, use a different engine that would need separate work, and there's no commitment for them yet.

## Does it modify my game files?

No. The runtime is injected while the game is running and **does not modify Game.dll on disk** or any other game file. To run multiple instances, it simply copies the original `War3.exe` launcher as-is under a new name. Game data (unit tables and so on) is extracted from your own game and isn't distributed with the code.

## What can the AI see?

Basically everything a pro player would want to know, updated every 50 ms:

- Every player's gold, lumber and food; every unit's position, HP and mana, current order, **what it's attacking**, level and XP;
- Heroes' and units' ability levels and remaining cooldowns, their buffs and inventory;
- What each building is training / researching / constructing / upgrading, its progress, and whether it's blocked on food;
- Items on the ground, trees, the map's walkable / buildable grid, start locations, and in-game time (day/night);
- The event stream: units appearing and dying, **every single hit of damage** (who dealt it, attack type, pre-armor damage), kills, production completing, hero level-ups…
- You can also ask the engine directly: can this be done right now, and if not, why; what level a tech is at; whether a point is visible; how much gold a mine has left; where the computer opponent plans to send its army.

On top of that, the SDK computes combat stats (counters, armor, attack/armor upgrades), "how many seconds to kill it," and ground pathfinding. See the [API catalog](https://war3ai.com/en/api/) for every API.

## What can the AI do?

Pretty much everything a player can: move, attack-move, attack a specific target, stop, hold position, patrol, attack ground, gather, repair, build (with automatic placement), train / research / upgrade, cancel, learn skills, cast (on a unit / on a point / with no target), set rally points, revive heroes, pick up / use / drop / give / sell items, buy, and Call to Arms; Shift-queueing, marching along waypoints, and one worker building several structures in a row; plus game speed, pause and speech bubbles. Every command returns a receipt.

Beyond player actions, it can also draw your own panels and markers on the game screen ([canvas](https://war3ai.com/en/docs/canvas/)), and in single-player games call the 1291 JASS functions available to map makers ([JASS channel](https://war3ai.com/en/docs/jass/)).

## Can I use it in RPG / custom maps?

Yes. Pick an RPG map and choose the "Companion example" scheme for the instance. Once the game starts you play yourself, with an AI partner at your side that fights with you, heals you and chats with you — see [RPG companion](https://war3ai.com/en/docs/companion/). `g.map_data` reads the names of the map's custom units; the [JASS channel](https://war3ai.com/en/docs/jass/) can spawn units, set alliances, pop up panels… how you play is up to you. Actions that change the world only work in single-player games (they would desync in multiplayer), while the canvas is safe in multiplayer too.

## Can I use it without programming?

Yes. Set up your environment with the [Quickstart](https://war3ai.com/en/docs/quickstart/), then read [Write a bot with an LLM](https://war3ai.com/en/docs/ai-bot/): you describe your strategy in plain language and the LLM writes the code. If something goes wrong when it runs, tell it the error or what you saw in the game and have it fix the code.

## Is it Python only?

The SDK is Python. Between the runtime and external programs there's nothing but a shared-memory protocol ([W3P](https://war3ai.com/en/docs/protocol/)), so any language that can read and write Windows shared memory can connect. The easier route is the [gateway](https://war3ai.com/en/docs/gateway/) (WebSocket / JSON): JS, C#, Go, Rust, browser pages and programs on another machine can all call the same APIs; LLM agents can hook up [MCP](https://war3ai.com/en/docs/mcp/) directly.

## Which LLM works best?

Any mainstream model that can write code will do. What matters isn't the model but **giving it the right material** (the manual + `api.json` + an example) and requiring it to use only methods that exist in the API catalog. Real-time in-game decisions (coaching, unit dialogue) are latency-sensitive, and local MoE models do very well there; see [LLM strategy coach](https://war3ai.com/en/docs/llm-coach/) and [Speech bubbles and local models](https://war3ai.com/en/docs/speech/).

## Will it slow the game down?

One world-state capture takes a median of 0.5–0.9 ms on the game thread (100–120 units), once every 50 ms. Commands take a few microseconds each on the game thread; each drain has a 4 ms time budget, and anything left over waits for the next drain, so the game is never held up. Every call into the game is exception-guarded: if a bot crashes, only that side stops, and the game keeps running.

## Can I run multiple games at once?

Yes. `runtime/farm.py` handles multi-instance orchestration, with one number per instance; start and stop them in the [Farsight console](https://war3ai.com/en/docs/console/). Your bot connects to a specific instance with `--inst N`.

## Can two AIs play each other?

Open two `player` channels in the same game (`--player 0` / `--player 1`) and you have AI vs. AI. In local mode, fairness is by convention; official matches with a referee, vision filtering and ownership checks happen on the [Arena](https://war3ai.com/en/arena/) (phase P6).

## Does it support Mac / Linux?

Only Windows 10 / 11 for now.

## What license does it use?

The license will be published with the official release. Third-party components keep their own licenses (for example, MinHook is BSD-2); AMAI has a custom license, so data derived from it isn't distributed with the project. Instead, it's pulled from AMAI's public repository and generated at install time.

## Where do I report problems?

An issue-reporting channel will open after the official release. When you report a problem, include the instance number, the output of `python -m openwar3 status`, and steps to reproduce. First, see whether [Debugging and performance](https://war3ai.com/en/docs/debugging/) solves it.
