-
Notifications
You must be signed in to change notification settings - Fork 6
Proxy Deploy zh TW
Proxy Deploy 分頁讓你掃描透過 Steam 安裝的 UE 遊戲、為每個遊戲資料夾部署代理 DLL,並在多個遊戲中管理代理更新。這是在不使用 Cheat Engine 的情況下將 UE5CEDumper 注入遊戲的推薦方法 — 只需將代理 DLL 放置、正常啟動遊戲,然後連接 UI。
請參閱 Quick-Start-zh-TW 以瞭解建置和安裝的基礎知識。本頁涵蓋在你建置代理 DLL 之後的部署步驟。
在 Proxy Deploy 分頁的頂部,選擇要部署的 DLL:
| 代理類型 | 何時使用 |
|---|---|
| version.dll(推薦) | 從這裡開始。 幾乎所有 Windows 進程在正常運作期間都會載入,遊戲相容性最廣。代理在安全的時間載入(在 GetFileVersionInfo / COM / manifest 解析下),不是在早期加載鎖定期間。預設選擇。 |
| dinput8.dll | 當 version.dll 與安裝程式檢查或反竄改 shim 衝突時的備用方案。某些遊戲會檢查 version.dll 是否為「真正的」Windows 版本,然後才允許載入存檔 — 如果部署 version.dll 導致遊戲拒絕載入存檔或運行,請嘗試 dinput8.dll。 |
| dxgi.dll | 少見的 D3D11/D3D12 遊戲備用方案,這些遊戲在其主 EXE 中既不匯入 version.dll 也不匯入 dinput8.dll(例如,某些 SQUARE ENIX 或 Bandai Namco 遊戲)。由於每個 D3D11/D3D12 UE 遊戲都匯入 dxgi.dll,當其他兩個不工作時,此代理會可靠地載入。 |
UI 會顯示工具提示,解釋每個選擇;將滑鼠懸停以閱讀更多資訊。
按一下 Scan Steam 按鈕。UI 將會:
- 透過登錄表或預設路徑定位你的 Steam 安裝。
- 解析
libraryfolders.vdf以找到所有已設定的 Steam 程式庫資料夾。 - 遍歷
SteamApps/common/以找到 UE 遊戲資料夾。 - 識別遊戲可執行檔及其
Binaries/Win64/目錄。
掃描完成後,掃描會在表格中顯示所有檢測到的遊戲。Status 欄會顯示所選代理類型是否為 NotDeployed、DeployedCurrent、DeployedOutdated、DeployedOtherType 或 OtherProxy。
預設情況下,沒有遊戲被選擇。使用按鈕或核取方塊來選擇要部署到哪些遊戲:
- All — 選擇清單中的所有遊戲。
- None — 清除所有選擇。
- Invert — 切換所有遊戲的選擇狀態。
- 按一下最左邊欄中的個別核取方塊以一次選擇一個遊戲。
選擇遊戲後,按一下 Deploy 將代理 DLL 複製到每個遊戲的 Binaries/Win64/ 資料夾。UI 完成後將顯示摘要(例如,「Deployed: 5 success, 0 failed」)。
部署後,遊戲的 Status 欄會顯示 DeployedCurrent 以及已安裝的代理版本。代理 DLL 將在下次執行遊戲時自動載入。
如果你重建代理 DLL(透過 build.ps1),使用 Deploy 且不勾選 Force Overwrite 以跳過已有相同版本的遊戲。勾選 Force Overwrite 以無論如何都替換它們,即使版本相符。
按一下 Update All 以掃描每個遊戲的 Binaries/Win64/ 資料夾,並將已部署到 UI 的 proxy/ 目錄中建置的最新版本的任何代理 DLL(version.dll、dinput8.dll、dxgi.dll)更新。當你已重建新版本並希望一次性將其推出到所有遊戲而無需逐個選擇時,這很有用。
Update All 工作流程:
- 找到 UI
proxy/資料夾中你擁有的每個代理類型的最新版本。 - 對於每個遊戲,檢查你的哪些代理 DLL 已經部署。
- 僅更新每個遊戲的已部署代理(例如,如果遊戲有 version.dll 和 dinput8.dll,它會獨立更新兩者)。更新與目前選擇的代理類型無關。
- 報告已更新、已最新,及失敗的數量。
注意:單一代理部署(任何類型)是正常的,且不會警告。如果你意外將多個代理(例如 version.dll 和 dinput8.dll)部署到同一個遊戲,Status 欄將顯示警告 — 只有一個代理在執行時啟動,所以這可能是一個錯誤。使用 Undeploy 移除不想要的代理。
選擇遊戲並按一下 Undeploy 從所選遊戲的資料夾刪除代理 DLL。UI 將只刪除它識別為自己的 DLL(透過 PE 標頭中的 ProductName);如果存在另一個程式的代理 DLL,Undeploy 將拒絕接觸它。
如果部署代理後 UI 無法連接到遊戲(或遊戲在啟動時崩潰):
-
檢查遊戲日誌:在遊戲資料夾中查詢診斷日誌輸出。代理透過日誌記錄呼叫進行寫入,但確切的日誌檔案位置和格式取決於你的建置組態。
-
切換代理類型:
- 如果 version.dll 無法連接或崩潰 → 嘗試 dinput8.dll。
- 如果 dinput8.dll 無法連接或崩潰 → 嘗試 dxgi.dll。
- 如果 dxgi.dll 無法連接或崩潰 → 嘗試下一個可用的代理。
每個代理在 Windows 加載程式序列中的不同點載入,所以一個失敗的代理可能成功。該分頁讓你可以透過簡單地選擇不同的無線電按鈕、再次選擇相同的遊戲,然後按一下 Deploy(如果舊代理仍在那裡,勾選 Force Overwrite)來重新部署。
-
如果沒有代理工作(EA 啟動程式、Epic Games 啟動程式、具有積極反竄改保護的遊戲):
- 遊戲的啟動程式或反作弊可能會完全阻止代理 DLL。
- 回退到 Cheat Engine DLL 注入:使用 Cheat Engine 在遊戲運行後載入和注入
UE5CEDumper.dll。DLL 仍會檢測 UE 版本並公開相同的基於管道的 UI 連接。 - 參閱 Quick-Start-zh-TW 以了解 CE 注入工作流程(選項 A)。
UI 的 proxy/ 子資料夾包含已建置的代理 DLL:
-
proxy/version.dll— 如果選擇,則部署。 -
proxy/dinput8.dll— 如果選擇,則部署。 -
proxy/dxgi.dll— 如果選擇,則部署。
當你按一下 Deploy 時,代理會複製到目標遊戲的 Binaries/Win64/ 目錄(Binaries Path 欄會顯示確切的位置)。服務會處理模組化建置放置;你無需手動瀏覽到那裡。
如果你使用模組化 UE 建置(例如,Satisfactory 有單獨的 CoreUObject-Win64-Shipping.dll),代理仍會放置在遊戲的主 Binaries/Win64/ 資料夾中,並從那裡載入相依性。
| 問題 | 解決方案 |
|---|---|
| 掃描後找不到遊戲 | Steam 未安裝,或你的 Steam 程式庫中沒有 UE 遊戲。驗證 Steam 正在運行,並檢查 SteamApps/common/ 是否至少包含一個 UE 遊戲資料夾。 |
| 「Source DLL not found」錯誤 | 代理 DLL 未建置。執行 build.ps1 -Target ProxyDLL(或 -Target All 以建置所有內容)以建立 DLL。 |
| 部署時「File locked」 | 遊戲仍在運行或檔案已打開。關閉遊戲和任何使用該資料夾的編輯器,然後重試。 |
| 部署後 UI 無法連接 | 參閱上方的「當代理未載入或導致遊戲崩潰時」。嘗試切換代理類型並重新部署。 |
| Status 中的多個代理 DLL 警告 | 你意外將兩個或更多代理(例如 version.dll 及 dinput8.dll)部署到同一個遊戲。按一下 Undeploy 移除不想要的代理,然後僅重新部署你想要的代理。 |
| 已部署代理的遊戲崩潰 | 代理類型可能與遊戲的加載程式衝突。切換到不同的代理類型並重新部署(勾選 Force Overwrite)。 |
- Quick-Start-zh-TW — 建置代理 DLL 並設定 UI。
- Home-zh-TW — 概述和功能指南。
- Live-Walker-zh-TW — 即時瀏覽運行中的遊戲物件。
- Object-Tree-zh-TW — 瀏覽遊戲的類別階層。
- Instances-zh-TW — 查找特定類別的所有實例。