Jump to content
Toggle menu
  • 3 articles
  • 22 files
  • 3 users
  • 2.5K edits
Shroudforge
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 01:34, 7 November 2026 by Bonsaibauer (talk | contribs) (Importing a new version from external source)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


DLL Manager



在 Modloader 中打開 Compatibility → DLL Manager。本指南顯示在面板頂部。它會列出 ShroudForge 找到的模組 DLL,並顯示它們是否已加載。已知模組已有準備好的配置文件。對於其他 DLL,請在此處選擇並確認。

可以使用多個原生 DLL 模組嗎?

可以。將每個模組安裝在 mods/ 目錄下各自獨立的文件夾中,並保留作者提供的文件和子文件夾。匹配的配置文件可能已經選擇了正確的 DLL。對於沒有匹配配置文件的模組,請在 DLL Manager 中打開 Adjust DLL selection。只選擇作者指定的入口 DLL。選擇加載目標,並確認你信任該 DLL。普通原生庫請使用 Normal DLL。只有當 DLL 用於提供 DirectInput 並導出了 DirectInput8Create 時,才選擇 DirectInput proxy。單擊 Apply selection,然後重啟遊戲。僅被檢測到並不會加載沒有配置文件的 DLL。還需要在 DLL Manager 中確認選擇、在 native-plugin.ini 或 dinput8-chain.ini 中聲明,或由其 Lua 模組註冊。

下載的模組應該如何處理?

  • No DLL included: 按照通常方式安裝模組。為 ShroudForge 或 EML 製作的模組不需要額外的原生 DLL。
  • DLL included: 按照下方所示將模組 DLL 放入其模組文件夾。隨後它會顯示在 DLL Manager 中。已知配置文件會預先設置選擇。否則,請在此處選擇並確認 DLL。
  • Other mod files included: 保留完整的模組文件夾。不要刪除 mod.json、native-plugin.ini 或配置文件等內容。

如果一個模組包含多個 DLL 文件

許多模組文件夾中的 DLL 只是輔助文件。只選擇模組配置文件或作者說明中指定要加載的 DLL。上下按鈕用於設置同一模組文件夾內所選 DLL 的順序。它們不會為不同模組文件夾中的普通 DLL 設置全局手動順序。

安裝模組 DLL

如果 ShroudForge 安裝程序識別下載的模組包,請直接使用它安裝。手動安裝時,為每個模組在 mods/ 下創建獨立文件夾,並將模組 DLL 放入該文件夾。如果壓縮包中的 DLL 與模組文件夾並列,請將它放入模組文件夾。保留原始文件名和軟件包子文件夾。

mods/
  my-mod/
    mod.json        (if included)
    dinput8.dll     (or the mod's DLL)
    config.ini      (if included)

DLL 不會因為放在文件夾中就自動加載。請按照上面的說明在 DLL Manager 中選擇它。

為什麼模組文件也可以命名為 dinput8.dll?

ShroudForge 自身的啟動文件是遊戲文件夾中的 dinput8.dll。模組文件單獨位於 mods/<mod-folder>/dinput8.dll。ShroudForge 會從該完整路徑加載它。匹配的配置文件或 DLL Manager 選擇可以讓 ShroudForge 將 DirectInput 調用轉發給它。兩個文件可以同名。不要重命名模組文件,也不要將它放進遊戲文件夾。不要替換其中的 ShroudForge 啟動文件。

了解配置文件

配置文件是為已知模組準備的設置。它會告知 ShroudForge 要加載哪些文件以及如何加載。ShroudForge 會根據 mod.json 中的模組 ID 進行匹配;如果沒有 ID,則使用文件夾名稱。你也可以在 DLL Manager 中選擇配置文件。配置文件不會修改模組文件。保存的自定義 DLL 選擇會替代配置文件中的文件選擇。

現有 DirectInput 鏈

遊戲文件夾中已有的 dinput8-chain.ini 使用既定格式:

[Chain]
mods\my-mod\dinput8.dll
mods\another-mod\native.dll

條目必須解析到直接模組包內部的文件,例如 mods/<mod-folder>/。遊戲根目錄中的 DLL 和軟件包以外的路徑會被拒絕。其順序優先於自動推導的聲明。此文件設置的是 DirectInput 提供程序鏈的順序,而非不同模組文件夾中普通 DLL 的順序。同一個解析後的文件路徑只會加載一次。第一個導出自身 DirectInput8Create 的有效 DLL 會接收轉發調用。後續 DirectInput 代理 DLL 仍可能加載,但它們的 DirectInput 導出不會在鏈中啟用。不要假設多個代理可以協同工作。ShroudForge 自身的啟動文件會被跳過,遞歸轉發時會回退到原始 Windows 庫。

開關、目標進程和重啟

主開關控制 ShroudForge 執行的所有原生加載,包括 INI、配置文件、鏈和 Lua 註冊。禁用某個選擇會阻止該文件夾自動加載。Client、server 或 both 決定目標進程。文件名排除項會在加載前立即生效。它們不會根據文件名判斷模組功能。

已加載的 DLL 會一直留在內存中,直到進程退出。因此,禁用 DLL、更改順序或選擇其他配置文件都需要重啟遊戲。對同一個文件重複聲明不會創建另一個實例。

出現加載錯誤

檢查模組名稱、文件路徑和報告的原因。Windows 錯誤 126 可能表示主文件或其所需的某個庫缺失。如果缺少 DirectInput 導出,請檢查所選文件及其加載模式。「Loaded」只確認加載步驟完成,並不代表模組的所有功能都正常。

未知的原生插件格式、Vulkan 層、其他完整加載器或外部程序需要使用其預期的集成方式。僅加載一個庫並不能替代相應接口。

安裝軟件包

安裝程序也會在嵌套壓縮文件夾中查找單個模組包。已知配置文件會導入明確命名的配套文件。包含多個模組包的新壓縮包不會自動作為一組安裝。請先解壓,然後一次安裝一個模組文件夾。正常運行時不會打開壓縮包,也不會啟動外部程序。