遊戲偵查 (Game recon)
目標:在約五分鐘內,了解你面對的是什麼,並選定要採取的途徑。將答案寫下來,以便後續每個步驟都能依賴它。
0. 是否有其他代理者來過這裡?
um kb search "<遊戲名稱>"(以及引擎名稱)。共享知識庫中的田野筆記會在你動手之前提供可用版本、途徑和注意事項。請參閱 share-field-notes 技能。
1. 找到它並取得指紋
um scan --list # Steam、Epic 和 Xbox 安裝(Windows、WSL、Linux、macOS)
um scan "<名稱或資料夾>" # 引擎、版本、可執行檔(.NET?)、反作弊、載入器、模組資料夾、存檔、途徑
um scan "<遊戲>" --json # 同上,機器可讀格式
um 位於 universal-modder 儲存庫的 bin/um(外掛與複製會將其加入 PATH)。其他地方:
uv tool install git+https://github.com/rehan-remade/universal-modder。
um scan 只讀取檔案。它會索引安裝目錄(有限制)、嗅探 PE 標頭、Unity/Godot/GameMaker 標頭與 Unreal 版本字串,將已知遊戲對應到社群載入器,並指向應閱讀的劇本:skills/mod-any-game/references/engines/<engine>.md。
掃描無法涵蓋所有項目,請手動檢查下列情況:
- 遊戲不在商店庫中(GOG、itch、獨立資料夾):傳入資料夾路徑。
- **多個引擎訊號:**啟動器和網頁輔助工具很常見。最高分數勝出,但請閱讀「also」行。
- **反作弊安裝在其他位置:**核心驅動程式(Vanguard 的
vgk.sys)和啟動器層級的防護不在遊戲資料夾內。搜尋 "<遊戲名稱> anti-cheat"。 - **純線上或即時服務遊戲:**即使未偵測到任何保護,也將其視為受保護。
2. 研究現有社群(務必進行;版本會移動)
依序搜尋:
- "<遊戲名稱> modding" / "<遊戲名稱> mod loader" / "<遊戲名稱> modding wiki"。遊戲的維基百科通常有模組頁面。
- Nexus Mods(最受歡迎的模組會顯示它們依賴哪些框架)、Thunderstore(Unity 遊戲:BepInEx 套件)、mod.io、Steam 工作坊(遊戲是否有工作坊?
um scan會顯示已安裝的工作坊內容)。 - GitHub:"<遊戲名稱> mod"、"<遊戲名稱> modding api"、"<遊戲名稱> decompile"、"<遊戲名稱> sdk"、"<引擎名稱> mod loader"。
- 近期文章(X/Reddit/Discord 公告)以尋找新框架。載入器可能才發布幾天。
記錄:載入器名稱、儲存庫、目前版本與安裝步驟、支援的遊戲版本、「Hello World」範例模組,以及日誌存放位置。
3. 決定
- **能否安全地進行模組化?**查看反作弊、純線上部分、EULA 或模組政策,以及載入器依賴的所有權檢查(請參閱
skills/mod-any-game/references/safety.md)。如果不能:請說明,並提供可行的方案(官方工具、離線模式、具有相同概念的不同遊戲)。 - **途徑:**載入器 API > 資料/素材模組 > 受控修補 > 原生掛鉤 > 重新實作/混搭。選取第一個能達成使用者構想的途徑。
4. 撰寫 MODDING_PLAN.md
# <遊戲名稱> 模組化計畫
- 安裝位置:<路徑>(<商店> <AppID>),版本 <x>
- 引擎:<引擎 + 版本>,程式碼:受控 .NET / IL2CPP / 原生,64 位元
- 反作弊 / 線上:<無 | 內容 + 裁決>
- 存檔:<路徑> 設定檔:<路徑> 日誌:<路徑>
- 社群途徑:<載入器 vX.Y(儲存庫)>,安裝:<步驟>,範例模組:<連結>
- 針對「<構想>」選定的途徑:<途徑>,原因:<理由>
- 實驗室計畫:備份 <資料夾>(um backup),實驗室設定檔 <方式>,視窗模式 <方式>
- 需優先解決的未知事項:<清單>
然後繼續執行 mod-any-game 循環(設定實驗室 → 事實來源 → 垂直切片)。