# 常见问题

> 这是外挂吗？支持哪些版本？AI 能看到什么、能做什么？不会编程能用吗？……

来源: https://war3ai.com/docs/faq/

## 这是外挂吗？

不是。它是一个给 AI 研究和娱乐用的开发接口，只用于**你自己合法拥有的客户端**，在本机、局域网或自建游戏里和电脑或别的 AI 对打。它**不得用于 Battle.net 或任何带反作弊的服务器**，也不提供任何针对真人对局的功能。详见 [使用边界](https://war3ai.com/docs/legal/)。

## 支持哪些游戏版本？

目前只支持**魔兽争霸 III 1.27**（冰封王座）。1.24 ~ 1.28 是同一套引擎结构，多版本适配（按版本选符号表、特征码兜底、开机自检出能力清单）在 [路线图](https://war3ai.com/roadmap/) 的 P4 阶段。1.29 之后的版本和重制版是另一套引擎，需要单独适配，目前不承诺。

## 会修改我的游戏文件吗？

不会。运行时在游戏运行时注入，**不修改磁盘上的 Game.dll** 或任何游戏文件。多开时只是把原版的 `War3.exe` 启动壳原样拷贝改名。游戏数据（单位表等）从你自己的游戏里提取，不随代码分发。

## AI 能看到什么？

基本上是一个职业选手想知道的一切，每 50 ms 更新一次：

- 所有玩家的金、木、人口；所有单位的位置、血蓝、当前订单、**正在打谁**、等级经验；
- 英雄和单位的技能等级与剩余冷却、身上的 buff、背包；
- 每座建筑在训练 / 研究 / 建造 / 升级什么、进度多少、有没有因为人口卡住；
- 地上的物品、树、地图的可走 / 可建网格、出生点、游戏内时间（昼夜）；
- 事件流：单位出现与死亡、**每一下伤害**（谁打的、攻击类型、护甲前伤害）、击杀、生产完成、英雄升级……
- 还能直接问引擎：某件事现在能不能做、为什么不能；某个科技几级；某一点看不看得见；金矿还剩多少；电脑对手要带兵打哪。

在此之上，SDK 还算好了战斗属性（克制、护甲、攻防升级）、「打死它要几秒」和地面寻路。全部接口见 [接口目录](https://war3ai.com/api/)。

## AI 能做什么？

玩家能做的操作基本都有：移动、攻击移动、攻击指定目标、停止、原地待命、巡逻、攻击地面、采集、修理、建造（可自动找落点）、训练 / 研究 / 升级、取消、学技能、施法（对单位 / 对点 / 无目标）、集结点、复活英雄、捡 / 用 / 丢 / 给 / 卖物品、买东西、战斗号召；Shift 排队、按路径点行军、一个工人连造几座；还有倍速、暂停、头顶气泡。每条命令都有回执。

除了玩家的操作，还能往游戏画面上画自己的面板和标注（[画板](https://war3ai.com/docs/canvas/)），以及在单人局里调用地图作者能用的 1291 个 JASS 函数（[JASS 通道](https://war3ai.com/docs/jass/)）。

## 能用在 RPG / 自定义地图里吗？

能。选一张 RPG 地图、给实例选「玩伴示例」方案，开局后你自己玩，身边会跟着一个会助战、给你加血、陪你说话的 AI 伙伴，见 [RPG 玩伴](https://war3ai.com/docs/companion/)。`g.map_data` 能读出地图自定义单位的名字；[JASS 通道](https://war3ai.com/docs/jass/) 能造单位、设盟友、弹面板……怎么玩由你决定。改世界的操作只在单人局可用（多人局会不同步），画板在多人局里也安全。

## 不会编程能用吗？

能。按 [快速开始](https://war3ai.com/docs/quickstart/) 装好环境，然后看 [用大模型写一个 Bot](https://war3ai.com/docs/ai-bot/)：你用大白话描述打法，大模型写代码；跑起来有问题，把报错或你在游戏里看到的现象告诉它，让它改。

## 只能用 Python 吗？

SDK 是 Python。运行时和外部程序之间只有一份共享内存协议（[W3P](https://war3ai.com/docs/protocol/)），任何能读写 Windows 共享内存的语言都能接入。更省事的是 [网关](https://war3ai.com/docs/gateway/)（WebSocket / JSON）：JS、C#、Go、Rust、浏览器页面、另一台机器上的程序都能调同样的接口；大模型 Agent 可以直接挂 [MCP](https://war3ai.com/docs/mcp/)。

## 用哪个大模型最好？

能写代码的主流模型都可以。关键不在模型，而在**给它正确的材料**（手册 + `api.json` + 一个示例），并要求它只用接口目录里存在的方法。局内实时决策（参谋、配音）对延迟敏感，本地 MoE 模型表现很好，见 [大模型当参谋](https://war3ai.com/docs/llm-coach/) 和 [头顶气泡与本地模型](https://war3ai.com/docs/speech/)。

## 会拖慢游戏吗？

世界状态一次采集在游戏线程上中位 0.5 ~ 0.9 ms（100 ~ 120 个单位），每 50 ms 一次。命令在游戏线程上每条几微秒，一次排空有 4 ms 的时间预算，做不完的留到下一次，不会拖住游戏。所有对游戏的调用都有异常保护，Bot 崩了只是那一方停了，不会带崩游戏。

## 能同时开多个游戏吗？

能。`runtime/farm.py` 负责多实例编排，每个实例一个编号；在 [远见指挥台](https://war3ai.com/docs/console/) 里起停。你的 Bot 用 `--inst N` 连到指定实例。

## 能让两个 AI 对打吗？

在同一局里开两条 `player` 通道（`--player 0` / `--player 1`）就是 AI 对 AI。本机模式下公平靠约定；有裁判、视野过滤、归属校验的正式对战在 [对战平台](https://war3ai.com/arena/)（P6 阶段）。

## 支持 Mac / Linux 吗？

目前只支持 Windows 10 / 11。

## 用什么许可证？

许可证会随正式版一起公布。第三方组件保留各自的许可（例如 MinHook 为 BSD-2）；AMAI 为自定义许可，其衍生数据不随项目分发，安装时从 AMAI 公开仓库拉取生成。

## 遇到问题去哪反馈？

正式版发布后会开放问题反馈渠道。反馈时请附上实例号、`python -m openwar3 status` 的输出和复现步骤。先看看 [调试与性能](https://war3ai.com/docs/debugging/) 能不能解决。
