BG3ModManager 不支持 Linux,Lampray 在我的环境下也没有正常工作,于是只能手动安装模组了。(前者似乎可以通过 Wine 运行,见 issues#12

我的 Steam 是 Flatpak 安装的,游戏数据的目录(对应%LOCALAPPDATA%\Larian Studios\Baldur's Gate 3)藏得比较深:

~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/compatdata/1086940/pfx/drive_c/users/steamuser/Local Settings/Application Data/Larian Studios/Baldur's Gate 3/

转码之后为:

~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/compatdata/1086940/pfx/drive_c/users/steamuser/Local\ Settings/Application\ Data/Larian\ Studios/Baldur\'s\ Gate\ 3/

这是里面比较重要的一些内容:

.
├── Mods # 存放 .pak 文件
└── PlayerProfiles
    └── Public
        ├── modsettings.lsx # mod 排序
        └── Savegames # 存档目录

安装流程

Baldur’s Gate 3 Mod Fixer

基础前置,允许游戏加载 mods。

解压 .pak 文件至 Mods 文件夹即可。

Norbyte’s Baldur’s Gate 3 Script Extender

脚本加载器,这里的主要作用是在加载 Mods 的情况下启用成就。

解压 DWrite.dll 至游戏目录下 bin 文件夹。

Steam 启动参数前加上 WINEDLLOVERRIDES="DWrite.dll=n,b" PROTON_NO_ESYNC=1 使 Proton 加载 DLL。

我还用了 Gamemode,启动参数变为:

WINEDLLOVERRIDES="DWrite.dll=n,b" PROTON_NO_ESYNC=1 gamemoderun %command%

ImprovedUI ReleaseReady

前置,改进的捏脸 UI。

解压 .pak 文件至 Mods 文件夹即可。

Vemperen’s Other Heads Repaired

增加了若干新的脸模。

为了这叠醋包了这顿饺子美少女是第一生产力!

首先解压 .pak 文件至 Mods 文件夹,接下来编辑 modsettings.lsx

<node id="Mods"> 下定义了要加载的 mods,<node id="ModOrder"> 则规定它们的顺序。这个名为 GustavDev 的模组是文件中自带的,推测是类似 Skyrim.esm 的东西。被注释部分即为我们即将添加的内容。

对于一个 mod,我们需要知道它的 Folder Name UUID,而 MD5 Version64 似乎不太重要。作者一般会在压缩包中的 info.json 提供这些信息供安装器使用。

<?xml version="1.0" encoding="UTF-8"?>
<save>
    <version major="4" minor="6" revision="0" build="700" />
    <region id="ModuleSettings">
        <node id="root">
            <children>
                <node id="ModOrder">
                    <children>

                        <node id="Module">
                            <attribute id="UUID" value="28ac9ce2-2aba-8cda-b3b5-6e922f71b6b8"
                                type="FixedString" />
                        </node>

                        <!-- <node id="Module">
                            <attribute id="UUID" value="ef0fb0e3-a4e1-4672-84b3-bc63260e12af"
                                type="FixedString" />
                        </node> -->

                    </children>
                </node>
                <node id="Mods">
                    <children>

                        <node id="ModuleShortDesc">
                            <attribute id="Folder" value="GustavDev" type="LSString" />
                            <attribute id="MD5" value="" type="LSString" />
                            <attribute id="Name" value="GustavDev" type="LSString" />
                            <attribute id="UUID" value="28ac9ce2-2aba-8cda-b3b5-6e922f71b6b8"
                                type="FixedString" />
                            <attribute id="Version64" value="36028797018963968" type="int64" />
                        </node>

                        <!-- <node id="ModuleShortDesc">
                            <attribute id="Folder" value="vemperens_heads" type="LSString" />
                            <attribute id="MD5" value="" type="LSString" />
                            <attribute id="Name" value="vemperens_heads" type="LSString" />
                            <attribute id="UUID" value="ef0fb0e3-a4e1-4672-84b3-bc63260e12af"
                                type="FixedString" />
                            <attribute id="Version64" value="0" type="int64" />
                        </node> -->

                    </children>
                </node>
            </children>
        </node>
    </region>
</save>

这个文件不对的话可能导致游戏无法启动,一定注意语法。XML 实在太挫了。

Less Wrinkled Expression and Forehead for Face

上个 mod 的可选依赖,减少一些奇怪的皱纹。

安装方法同上。留作习题答案略。