又一个BG3原生Mod加载器这是一个用于《博德之门3》的DLL插件模组加载器。
共有3种类型:
- (守望者)后台进程,监测BG3启动后自动透明注入插件。
- (注入器)一次性的独立注入工具,可将插件注入到已运行的游戏实例中。(适合不希望常驻后台程序的用户)
- (自动启动)功能与原生模组加载器完全一致。游戏正常启动时将自动运行并修补《博德之门3》。但需对注册表进行(少量)修改方可实现。
此模组加载器的主要功能如下:
- 无需手动安装!*
- 不修改任何游戏文件,亦不触及安装目录。
- 因为不需要修改/替换/添加游戏目录中的文件,所以维护成本为零
- 0维护机制意味着,当你更新游戏时无需修复任何内容,模组加载器始终正常运行。
- 你可以保留所有游戏文件,保持其原始纯净状态。
- 它与任何设备完全兼容。 原生模组加载器插件
- 兼容Steam和GoG
- 将插件存储在拉瑞安本地数据文件夹中,与模组文件夹同级
- 不安装任何内容。删除该工具即等同于“卸载”*
* 注射器与监视器无需(卸载)安装,但自动启动工具需要(卸载)安装。
此工具仅支持 Windows 系统,暂不支持 Mac/Linux/WINE/Proton,但未来可能会考虑支持 WINE。自启动功能目前尚无法与 WINE 兼容,不过注入器/监视程序或可运行,但尚未经过测试。源代码
https://github.com/MolotovCherry/Yet-Another-BG3-Native-Mod-Loader开始游戏
手册
- 下载以下3种类型之一(强烈推荐自动启动)
- 将工具放在你想要的位置*。对于观察器/注入器,你还可以为它们创建快捷方式。
* 确保你留着
loader.dll 与他们同行。他们依赖此文件。
. 禁止 位置 loader.dll 在插件文件夹内。 不是 一个插件。因此,将其放入插件文件夹可能会引发问题,因为它并非为放置在此处而设计。
漩涡
工具的正常运行无需依赖Mod管理器安装,提供该功能仅为方便安装操作。- 通过“模组管理器下载”按钮下载
- 以「引擎注入器」模组类型安装。*
如果这是你第一次首次运行时,工具将为您完成初始设置并显示设置完成信息;请阅读并按提示操作。
步骤可能略有不同,因为不同版本的Vortex界面可能有所调整。我在最新版Vortex上测试过,如果游戏已设置为「已管理」状态,且你已下载模组,那么模组会自动安装并默认启用。此时文件已直接存入bin文件夹,无需额外执行「通过引擎注入器安装」或「作为替换文件安装」等步骤。如有疑问,请检查你的bin文件夹——若在其中看到相关文件,说明安装已完成。
使用方法:- (若尚未安装工具)运行 安装.bat 或 自动安装器.exe
安装后请勿移动工具文件。如需移动,请先卸载,移动文件,再重新安装。
如果删除工具,请先将其卸载,否则游戏将无法启动。 - 正常启动游戏
- 启动监视工具。它将保持后台运行,并在游戏加载时持续进行修补*
首次启动工具时,将自动创建插件文件夹和配置文件。请仔细核对。 安装根目录 密钥(请参见下方“配置选项”部分),并确保其正确无误。 - 像平时一样启动游戏即可
- 若需停止使用此工具,请在系统托盘右键点击模组加载器图标,选择“退出”。
- 启动游戏前10秒内,运行注入工具一次。
首次启动工具时,将自动创建插件文件夹和配置文件。请务必确认。 安装根目录 密钥(参见下方“配置选项”部分)并确保其正确无误。 - 正常启动游戏即可*
- 工具在成功后会自动关闭(若找不到进程,10秒后超时关闭)
允许在游戏进程启动后运行注入工具,但请在加载实际存档前完成此操作。请注意,插件通常需要在游戏启动时加载。若未按此流程操作,可能导致插件无法正常运行。因此建议在启动游戏前立即运行该工具,以避免出现问题。重要提示:使用这些工具时,请务必不要安装NativeModLoader,否则两者会产生冲突。
* 如果工具未能检测到游戏,但您已确认游戏无误
安装根目录你可能需要以管理员身份运行此工具。通常情况下无需如此,但极少数情况下,工具可能没有权限检测游戏进程。
配置选项配置文件位于
%LocalAppData%\Larian Studios\Baldur's Gate 3\Plugins\config.toml默认配置如下:
[核心]快速切换以全局启用或禁用插件加载
当你需要暂时禁用某个功能时,这个选项非常实用。
# 自动启动工具已启用
真# bg3 的根安装目录;请将其改为 bg3 正确的根目录install_root = 安装目录
'C:\Program Files (x86)\Steam\steamapps\common\Baldurs Gate 3'# 按文件名(无扩展名)列出需要选择性禁用的 DLL 插件列表
例如,若要禁用 FooBar.dll 和 BarBaz.dll,请执行以下操作:
["福巴", "巴兹"]disabled_plugins = []
# 是否显示控制台窗口cli =
假[日志]# 提高日志详细程度。调试时有用。请设置为“trace”
如果你在提交错误报告时附带日志level =
"信息"target =
假正在安装插件
通常存放插件和文件的文件夹
C:\Program Files (x86)\Steam\steamapps\common\Baldurs Gate 3\bin\NativeMods应置于此处
%LocalAppData%\Larian Studios\Baldur's Gate 3\Plugins某些插件会直接修改游戏dll文件。若插件修改了游戏dll,则必须按照其说明安装修改后的dll——即将其放入游戏bin目录并替换原文件。这是因为修改后的游戏dll不属于普通插件范畴,而是游戏运行所必需的组件。此规则仅适用于被修改的dll本身,插件仍按上述标准安装指南正常使用即可。请注意,许多原生DLL插件尚未适配此新路径,可能仍会尝试将配置或日志读取/保存至 <game_dir>\bin\NativeMods,如果你在插件文件夹中保存或编辑了插件配置,插件将无法识别你的更改,因为它会读取不同路径下的另一个文件。一个快速的临时解决方案是创建路径的符号链接,使它们指向同一份配置文件。请提供需要翻译的具体文本内容,我尚未看到"see below instructions"下方的文本。。) 建议联系相关插件的开发者,告知他们需要修复此问题。这是插件本身的疏忽,因为插件不应该从绝对路径读取配置。
如何创建符号链接来修复配置文件错误?- 搜索 抱歉,你似乎没有附上需要翻译的文本。请提供具体内容,我会按照要求进行游戏本地化翻译。 开启 命令提示符 (注意:你可能需要以管理员身份运行。右键点击搜索结果中的项目,然后 以管理员身份运行,然后点击 是)
- 输入 cd "<my_game_dir>\bin"请确保替换 <my_game_dir>\bin 请填写您游戏安装目录的完整路径,例如: C:\Program Files (x86)\Steam\steamapps\common\Baldurs Gate 3\bin如果您的游戏安装在不同于 C:那么命令应为 cd /D "<my_game_dir>\bin"
- 如果 <my_game_dir>\bin\原生模组 已存在,请先删除(如需保留内容,建议先进行备份。). 你可以将内容移动到 %LocalAppData%\Larian Studios\Baldur's Gate 3\Plugins, 或者随便你怎么处置备份。
- 输入 mklink /D NativeMods "%LocalAppData%\Larian Studios\Baldur's Gate 3\Plugins"
- 搞定了!
如果你想要 原生模组 成为插件所在的文件夹,你可以反向操作。在以下位置创建一个文件夹: <my_game_dir>\bin\原生模组移动其中的内容 %LocalAppData%\Larian Studios\Baldur's Gate 3\Plugins 对它所做修改后,再将其删除 插件 文件夹,运行 cd "%LocalAppData%\Larian Studios\Baldur's Gate 3" 然后 mklink /D 插件 "<my_game_dir>\bin\原生模组"制作插件你可以用我的
Rust 原生插件模板 或
本地模组加载器's
BG3 插件模板只要是个 DLL,用什么都差不多。
DLL主入口 该钩子是在运行时执行的。
支援如果你需要帮助,可以在评论区留言。
加入我的Discord服务器 并在那里寻求帮助(
# 又一个《博德之门3》Mod加载器 频道已关闭
支援 分类)
常见问题我收到了智能屏警告,怎么才能关掉它?如果文件尚未广泛分发,你在Windows上运行时可能还会收到SmartScreen弹窗。按以下步骤操作即可消除: 这些说明.能否安装原生模组加载器?
请勿在安装其他模组加载器时使用本工具。若两者同时存在,dll插件(如果放在两处)可能会被重复加载,而它们本应只加载一次。具体会导致什么后果,我无法预判。
DLL插件可能存在风险
DLL插件会执行可执行代码。此加载器会运行*任何*DLL文件,无论是否为游戏专用插件。请务必确保你所使用的插件值得信赖!
为什么选择这个工具而非原生模组加载器?
加载本地模组需修改游戏核心文件。原版游戏仅适配其原始文件运行。若核心DLL文件被修改,可能引发难以预料的异常问题(我已收到大量相关错误报告)。
我制作这个工具的主要原因,是看到那些情况确实让我有点后怕,不想拿自己的游戏去冒险。我只想要一个安全又简单、能用就好的东西。
因此,此模组加载器完全不修改任何游戏文件!使用起来更安全,不会出现那些奇怪的错误,同时能达到完全相同的效果。不仅更安全,而且由于不改动任何核心游戏文件,您在更新游戏时也无需替换任何游戏DLL文件!
这种设计还有个让人开心的额外效果。
更容易,
更快,与
刚刚好 只需极简设置即可!
干净 = 更好 😁
游戏更新后,这些工具还能用吗?
游戏更新不会导致此工具失效。本工具基于设计原理将始终与游戏保持兼容。但您使用的插件可能需要更新才能恢复功能。若插件停止运行,请前往对应作者的插件页面查看更新。
你用“打补丁”来形容这事儿?可补丁打上就改不了了吧?
我在提及游戏实例时用了“补丁”这个词,是为了让术语尽量简单易懂。游戏实例只会被打上补丁。
追忆不会修改任何核心文件。这意味着,当你再次启动游戏且未使用工具时,游戏依然是你熟悉的原版安装状态。换句话说,“补丁”一词指的是你已经注入插件的游戏实例。
如何禁用插件?要禁用原生DLL插件,请执行以下任一操作:
- 将文件移出plugins文件夹(或放入子文件夹,只要不直接放在plugins文件夹内即可)
- 设定 已启用 配置中设置为假
- 将插件名称添加至 禁用插件 配置中的字段(%LocalAppData%\Larian Studios\Baldur's Gate 3\Plugins\config.toml)
- 如果你正在使用监视工具,请先退出。或者,不要打开注入器。如果使用了自动启动工具,请将其卸载。
如何卸载?观察者与注射器,它们
不自安装要“卸载”它,只需删除你下载的工具即可。
若要自动启动,请运行
uninstall.bat这是否兼容NativeModLoader插件完全兼容!只要该模组不依赖任何原生模组加载器的特定功能(若依赖,请向插件作者提交问题反馈!)
请注意,许多原生 DLL 插件尚未识别此新路径,可能会尝试将配置/日志读取或保存至 <游戏目录>\bin\NativeMods\快速临时的解决方案是创建符号链接 <game_dir>\bin\NativeMods\ 放入你的本地插件文件夹我的路径里含有单引号/双引号,该如何处理?
通常你可以这样在 toml 中使用带字面字符串的常规路径:
install_root = 'C:\Program Files (x86)\Steam\steamapps\common\Baldurs Gate 3'
但如果路径中包含单引号,则无法用三个单引号解析字符串,因为程序无法判断字符串的起始和结束位置。
请改用双引号,如下所示:
安装路径 = "C:\\Program Files (x86)\\Steam\\steamapps\\common\\Baldur's Gate 3"
注意此处,所有
\ 现在源字符串中需要使用额外的转义符
\如果路径中包含双引号,请同样使用反斜杠进行转义。
\ 就这样
install_root = "C:\\Program Files (x86)\\Steam\\steamapps\\common\\Baldur's \"Gate\" 3"工具文件总是不见!我的杀毒软件在拦截它们!这很可能是您的杀毒软件隔离了相关文件导致的。如果遇到这种情况,请检查您使用的所有杀毒软件。
拥有并创造
异常 为
每个单独文件 (全部)
前任 以及
dll)
要为Windows安全中心(系统自带的Windows安全解决方案)添加例外,请
点此查看 在
病毒与威胁防护设置 章节与
排除项 下拉菜单
对于其他杀毒软件,请查阅您所使用产品的具体手册。
注意: 如果文件被放置在与初始位置不同的地方(比如重新下载了),请务必卸载并重新安装。
我的插件没有加载进游戏!请先查看日志,确认启动游戏时该插件是否被加载。
如果插件无法加载,请先检查其是否与当前游戏版本兼容。若不兼容,需更新插件至兼容版本。若已兼容但仍无法运行,说明插件存在故障,请向开发者提交错误报告。若插件正常运行,而
正在运行注入器这可能是你
开始得太晚了.
在开始游戏前先运行它。如果您在日志中未看到插件加载信息,
你可能需要以管理员身份运行该程序.
非常稀有 且几乎不应使用,仅作为最后手段尝试。此情况仅发生在加载器运行用户缺乏对游戏的`OpenProcess`权限时(此时加载器将直接跳过该进程,因无法判断是否为游戏进程。最终导致游戏进程未被识别——即便游戏处于运行状态,插件也不会被加载)
能用,但插件没加载配置!
许多原生模组加载器插件未识别本地Plugins文件夹的新路径,其配置文件路径仍为硬编码指向:
<game_dir>\bin\NativeMods你可以通过符号链接来解决这个问题
<game_dir>\bin\NativeMods 到
%LocalAppData%\Larian Studios\Baldur's Gate 3\Plugins我的插件不好使/坏了!如果出现这种情况,可能是插件存在问题、存在漏洞、未正确设置,或需要更新插件(请查看作者页面获取更新)。若是插件本身的问题,请将错误/问题报告给插件的作者或相关页面。
我收到了一个奇怪的弹窗警告,该怎么办?
除非你持续收到该警告,否则警告仅仅只是提醒。WinAPI 在极少数情况下可能会出错,导致程序进入无法处理的状态。此警告只是告知你:由于罕见的异常情况,注入失败了。如果这种罕见警告发生在你身上,请直接点击
好的,没问题。以下是翻译结果:
确定 在消息框上,重启你的游戏,之后大概率再也不会看到这条警告了。
除非你反复看到同一个警告,否则偶尔出现的单次警告完全可以忽略。真正需要重视的问题,系统会直接弹出错误提示。
我收到了“游戏进程异常,注入终止”的警告?
"脏"指该进程已被修补,意味着你正尝试向已修补的游戏实例注入插件。此警告无实际影响。
另请参见下方回答。
如果对已打过补丁的游戏实例使用这个,会怎么样?
此模组加载器会检测游戏是否已被修补,若已修补则终止操作,以避免对游戏文件造成损坏。若要重新修补,请重启游戏以重置游戏实例,工具将自动进行全新修补。
我为什么被踢出多人游戏了?
原因可能是内容模组、DLL插件不兼容,或者你对游戏文件进行了任何修改。请尝试禁用所有模组,再逐个重新启用,以找出问题所在。
我该如何进行调试/向你提交调试报告?
请在设置中配置
[日志]等级 至
追踪尝试重现你的bug或崩溃。之后日志会提供很多信息。
若出现工具崩溃(非游戏崩溃),请一并下载可选文件“Dbg Symbols”,并将文件放置于exe程序同目录下。这将帮助我获取更清晰的堆栈追踪信息。
能否支持从 `<gamefolder>/bin/NativeMods` 加载插件?此功能不会被加入,因为本模组加载器的核心目标之一,是绝不、在任何情况下,触碰或干扰游戏的本体安装。即便只是支持一个文件夹,也与这一目标相悖。不过,你可以将插件移动到对应的插件文件夹中。
注意,仍有办法做到,请看下方说明!如果你想的话,依然可以这样做!只需创建符号链接即可。 <gamedir>/bin/NativeMods 前往你的本地 插件 文件夹!如果您更喜欢 本地模组 将文件夹设为“真相之源”即可反向操作,建立本地符号链接。 插件 文件夹路径至 <游戏目录>/bin/NativeMods.这个模组加载器都有哪些功能?
此模组加载器:
- 检查/创建插件文件夹及文件。 %LocalAppData%\Larian Studios\Baldur's Gate 3\Plugins, 抱歉,您提供的文本似乎只有文件名“config.toml”,没有实际需要翻译的内容。请提供具体文本,我会按您的要求进行专业游戏本地化翻译。 文件、插件文件夹下的日志文件夹,以及日志文件夹内的日志文件
- (守望者)始终在后台运行,监视着游戏进程。
- (注射器)将执行上述操作,但仅限一次(10秒内失效)。
- (自动启动)利用注册表项劫持游戏进程启动;当你通过正常方式启动游戏时,它将代替《博德之门3》自动运行,并以调试模式启动游戏(防止Windows再次启动我们的工具),随后取消调试模式(我们并不需要它)。
- (全部)一旦找到,立即注入 loader.dll 进入游戏进程,负责加载所有已启用的插件。 %LocalAppData%\Larian Studios\Baldur's Gate 3\Plugins
- 注射器: 已完成,现已关闭。 守望者: 保持开启,直至手动关闭。 自动开始: 保持开启直至游戏关闭
这就是程序运行的全部内容。读到这里的你,看来还挺好奇的嘛!要不要试试看?
阅读源代码 也是?
这个功能的更深层技术细节是什么?
简单来说,这个模组加载器采用了一种名为DLL注入的技术,将自己特有的代码注入到游戏中。
loader.dll 在运行时注入游戏。该专用加载器 DLL 会负责将所有实际插件载入游戏中。所有对游戏进行的修改都
仅此追忆 且任何改动都不会影响其他位置。这使得该方案极为干净高效,无需触碰游戏本体安装文件。
这个工具把我的游戏搞坏了!
在上方查看答案
“这个模组加载器都能做些什么?”答案详细列出了该模组加载器所涉及的所有内容,如你所见,涉及范围并不多。该模组加载器仅执行列表中明确列出的操作,不会额外添加任何功能。
因此,凡与此模组加载器功能无关的任何问题,例如游戏、启动器、安装等方面的故障,皆由插件、内容模组(pak模组)、覆盖游戏文件的模组(无论dll还是内容文件),或与操作系统、硬件、游戏及/或特定游戏平台启动器(steam/larian/gog)相关的独立问题所导致;建议从上述方面着手排查您所遇问题的根源。
当然,如果你愿意的话
做 请在模组加载器中发现问题后,及时反馈!
支持 Mac/Linux/WINE/Proton/CrossOver 吗?
此工具暂不支持Mac/Linux/WINE/Proton,但未来可能考虑支持WINE。
我有个功能建议,能提吗?
欢迎提出功能建议!虽然无法保证一定实现,但我会认真考虑。若需求足够,我会尽力将其变为现实。
免责声明
本软件为个人兴趣项目。虽已尽最大努力确保各项功能正常运行,但理论上仍存在极低概率的故障风险。若出现问题,多数情况下源于DLL插件而非工具本身。使用本软件即表示您同意以下许可条款,确认已阅读并遵循页面所有操作说明及警告,且不会因任何故障追究模组作者的责任。
本软件按“原样”提供,不作任何明示或暗示的担保,包括但不限于适销性、特定用途适用性及不侵权的保证。在任何情况下,作者或版权持有人均不对因本软件、使用本软件或因本软件相关事宜引起的任何索赔、损害赔偿或其他法律责任(无论是合同、侵权或其他行为)负责。