# 常見問題

> 這是外掛嗎？支援哪些版本？AI 能看到什麼、能做什麼？不會寫程式能用嗎？……

來源: https://war3ai.com/zh-tw/docs/faq/

## 這是外掛嗎？

不是。它是給 AI 研究與娛樂使用的開發介面，只用於**你自己合法擁有的用戶端**，在本機、區域網路或自建遊戲中和電腦或其他 AI 對戰。它**不得用於 Battle.net 或任何有反作弊機制的伺服器**，也不提供任何針對真人對局的功能。詳見[使用邊界](https://war3ai.com/zh-tw/docs/legal/)。

## 支援哪些遊戲版本？

目前只支援**《魔獸爭霸 III》1.27**（寒冰霸權）。1.24 ~ 1.28 是同一套引擎結構，多版本相容（依版本選擇符號表、以特徵碼備援、啟動時自我檢查並產出能力清單）列在[路線圖](https://war3ai.com/zh-tw/roadmap/)的 P4 階段。1.29 之後的版本及重製版是另一套引擎，需要另外適配，目前不做承諾。

## 會修改我的遊戲檔案嗎？

不會。執行環境是在遊戲執行時注入，**不修改磁碟上的 Game.dll** 或任何遊戲檔案。多開時只是把原版的 `War3.exe` 啟動殼原封不動地複製並改名。遊戲資料（單位表等）是從你自己的遊戲中擷取，不隨程式碼散布。

## AI 能看到什麼？

基本上就是一位職業選手想知道的一切，每 50 ms 更新一次：

- 所有玩家的黃金、木材、人口；所有單位的位置、血量魔力、目前指令、**正在攻擊誰**、等級經驗；
- 英雄和單位的技能等級與剩餘冷卻、身上的 buff、物品欄；
- 每座建築正在訓練／研究／建造／升級什麼、進度多少、有沒有因為人口而卡住；
- 地上的物品、樹木、地圖的可通行／可建造網格、出生點、遊戲內時間（晝夜）；
- 事件流：單位出現與死亡、**每一下傷害**（誰打的、攻擊類型、護甲減免前的傷害）、擊殺、生產完成、英雄升級……
- 還能直接詢問引擎：某件事現在能不能做、為什麼不能；某項科技幾級；某一點看不看得見；金礦還剩多少；電腦對手打算帶兵攻打哪裡。

在此之上，SDK 還幫你算好了戰鬥屬性（克制、護甲、攻防升級）、「擊殺它要幾秒」以及地面尋路。所有 API 請見 [API 目錄](https://war3ai.com/zh-tw/api/)。

## AI 能做什麼？

玩家能做的操作基本上都有：移動、攻擊移動、攻擊指定目標、停止、原地待命、巡邏、攻擊地面、採集、修理、建造（可自動找位置）、訓練／研究／升級、取消、學技能、施法（對單位／對地點／無目標）、集結點、復活英雄、撿起／使用／丟棄／給予／販賣物品、購買物品、戰鬥號召（Call to Arms）；Shift 排程、依路徑點行軍、一個工人連續建造多座；還有遊戲速度、暫停、頭頂氣泡。每條命令都有回執。

除了玩家的操作，還能在遊戲畫面上畫出自己的面板和標註（[畫板](https://war3ai.com/zh-tw/docs/canvas/)），以及在單人局裡呼叫地圖作者能用的 1291 個 JASS 函式（[JASS 通道](https://war3ai.com/zh-tw/docs/jass/)）。

## 能用在 RPG／自訂地圖裡嗎？

可以。選一張 RPG 地圖、為實例選擇「玩伴範例」方案，開局後你自己玩，身邊就會跟著一個會助戰、幫你補血、陪你說話的 AI 夥伴，請見 [RPG 玩伴](https://war3ai.com/zh-tw/docs/companion/)。`g.map_data` 能讀出地圖自訂單位的名稱；[JASS 通道](https://war3ai.com/zh-tw/docs/jass/)能建立單位、設定盟友、彈出面板……怎麼玩由你決定。改動世界的操作只在單人局可用（多人局會不同步），畫板在多人局裡也安全。

## 不會寫程式能用嗎？

可以。依照[快速開始](https://war3ai.com/zh-tw/docs/quickstart/)裝好環境，再看[用 LLM 寫一個 Bot](https://war3ai.com/zh-tw/docs/ai-bot/)：你用白話描述打法，LLM 負責寫程式碼；執行起來有問題，就把錯誤訊息或你在遊戲裡看到的現象告訴它，讓它修改。

## 只能用 Python 嗎？

SDK 是 Python。執行環境和外部程式之間只有一份共用記憶體協定（[W3P](https://war3ai.com/zh-tw/docs/protocol/)），任何能讀寫 Windows 共用記憶體的語言都能接入。更省事的是 [閘道](https://war3ai.com/zh-tw/docs/gateway/)（WebSocket / JSON）：JS、C#、Go、Rust、瀏覽器頁面、另一台電腦上的程式都能呼叫同樣的 API；LLM Agent 可以直接掛上 [MCP](https://war3ai.com/zh-tw/docs/mcp/)。

## 用哪個 LLM 最好？

能寫程式碼的主流模型都可以。關鍵不在模型，而在於**給它正確的材料**（手冊 + `api.json` + 一個範例），並要求它只使用 API 目錄裡存在的方法。局內即時決策（參謀、配音）對延遲很敏感，本機 MoE 模型表現很好，請見 [LLM 當參謀](https://war3ai.com/zh-tw/docs/llm-coach/)和[頭頂氣泡與本機模型](https://war3ai.com/zh-tw/docs/speech/)。

## 會拖慢遊戲嗎？

世界狀態每次擷取在遊戲執行緒上的中位數為 0.5 ~ 0.9 ms（100 ~ 120 個單位），每 50 ms 一次。命令在遊戲執行緒上每條只要幾微秒，每次清空有 4 ms 的時間預算，做不完的留到下一次，不會拖住遊戲。所有對遊戲的呼叫都有例外保護，Bot 當掉只會讓那一方停下，不會連帶讓遊戲當掉。

## 能同時開多個遊戲嗎？

可以。`runtime/farm.py` 負責多實例編排，每個實例一個編號；在[遠見指揮台](https://war3ai.com/zh-tw/docs/console/)中啟動或停止。你的 Bot 用 `--inst N` 連線到指定實例。

## 能讓兩個 AI 對戰嗎？

在同一局裡開兩條 `player` 通道（`--player 0`／`--player 1`）就是 AI 對 AI。本機模式下的公平性靠約定；有裁判、視野過濾、歸屬校驗的正式對戰在[對戰平台](https://war3ai.com/zh-tw/arena/)（P6 階段）。

## 支援 Mac／Linux 嗎？

目前只支援 Windows 10／11。

## 採用什麼授權條款？

授權條款會隨正式版一起公布。第三方元件保留各自的授權（例如 MinHook 為 BSD-2）；AMAI 採自訂授權，其衍生資料不隨專案散布，安裝時從 AMAI 的公開儲存庫拉取並產生。

## 遇到問題去哪裡回報？

正式版發布後會開放問題回報管道。回報時請附上實例編號、`python -m openwar3 status` 的輸出和重現步驟。先看看[偵錯與效能](https://war3ai.com/zh-tw/docs/debugging/)能不能解決。
