GMod-MCP-Server 是做什麼的?
Garry's Mod 的模型上下文協定橋接器,讓 AI 助手能在即時遊戲會話中執行 Lua 並檢查狀態。
概述
此專案實作了一個 Model Context Protocol (MCP) 伺服器,作為 AI 助手與 Garry's Mod 遊戲實例之間的通訊橋樑。透過此橋接器,AI 可以傳送 Lua 指令碼給遊戲,遊戲則會回傳執行結果與狀態資訊。
功能
- 執行 Lua 腳本:從 AI 助手傳送任意 Lua 程式碼至 Garry's Mod 並取得結果。
- 檢查遊戲狀態:查詢實體、地圖、伺服器變數等即時資訊。
- 雙向通訊:AI 與遊戲環境之間的低延遲互動。
- 標準 MCP 協定:相容於任何支援 MCP 的 AI 客戶端。
安裝與設定
-
確保已安裝 Node.js(版本 18 或更高)。
-
將此儲存庫複製到本機:
git clone https://github.com/AmyJeanes/GMod-MCP-Server.git cd GMod-MCP-Server -
安裝相依套件:
npm install -
在 Garry's Mod 中啟用
lua_run指令或設置適當的遠端存取權限。 -
啟動 MCP 伺服器:
npm start
使用方法
啟動伺服器
伺服器會在預設連接埠(例如 3000)上監聽。您可以透過環境變數 PORT 自訂連接埠。
透過 MCP 用戶端連接
在您的 MCP 用戶端設定檔案中(例如 mcp.json),加入以下設定:
{
"servers": {
"gmod-mcp": {
"command": "node",
"args": ["/path/to/GMod-MCP-Server/index.js"],
"env": {
"GARRYSMOD_HOST": "localhost",
"GARRYSMOD_PORT": "27015",
"GARRYSMOD_RCON_PASSWORD": "your_password"
}
}
}
}
AI 助手範例提示
- 「執行
lua_run print('Hello from AI')並顯示結果。」 - 「檢查目前地圖上有哪些玩家實體?」
- 「將所有 NPC 的移動速度設定為兩倍。」
技術細節
- 通訊協定:使用標準化 MCP 訊息格式,透過 stdin/stdout 或 WebSocket 進行。
- Lua 執行:透過遊戲的
lua_run控制台指令或 RCON 機制傳送腳本,並解析回傳輸出。 - 錯誤處理:腳本執行失敗或逾時時,伺服器會回傳錯誤訊息以供 AI 處理。
限制
- 需要 Garry's Mod 伺服器端開啟 RCON 或控制台存取。
- 部分 Lua 函式可能受限於遊戲安全設定。
- 確保網路環境安全,避免未經授權的存取。
授權
本專案採用 MIT 授權條款。詳情請參閱 LICENSE 檔案。