自定义数据目录
将 Polymerium 的全部数据——设置、缓存和实例——迁移到其他磁盘或自定义位置。
Last updated on
为什么要移动数据目录?
默认情况下,Polymerium 会把数据放在各平台约定的位置——设置与数据库放在应用数据目录,共享的模组/资源/运行时缓存放在缓存目录,实例放在数据目录。具体路径见安装内容在哪里。
共享缓存会随时间变得很大;在 Windows 上它还位于 %TEMP%,既占用 C 盘空间,又可能被磁盘清理工具清掉。把整个数据根目录迁移到其他磁盘可以:
- 释放 C 盘空间。
- 让缓存落到一个持久的目录,而不是临时的
%TEMP%。 - 用外接 SSD 或 U 盘实现完全便携的运行环境。
当你设置了自定义数据根目录时,Polymerium 会切回经典的单根目录布局——配置、数据、缓存和实例全部集中放在同一个根目录下,也就是 1.10.0 之前一直使用的布局。
工作原理
Polymerium 在启动时按以下优先级确定数据根目录:
TRIDENT_HOME环境变量 —— 若指向一个已存在的目录,则该目录成为根目录。(优先级最高).trident工作目录标记 —— Polymerium 从当前工作目录向上逐级查找,第一个包含.trident/文件夹的祖先目录会让该.trident/文件夹成为根目录。适合便携场景。~/.trident.home文件 —— 位于用户主目录下的一个文件,第一行是新根目录的绝对路径。
如果以上都没有设置:
- 若已存在
~/.trident/目录(来自旧版本),Polymerium 会继续使用它。 - 否则使用各平台的标准位置。
当自定义根目录生效时,其下的布局为:
| 内容 | 位置 |
|---|---|
| 设置、HTTP 缓存、持久化数据库 | <根目录>/.polymerium/ |
| 共享缓存(模组、资源、运行时) | <根目录>/cache/ |
| 实例 | <根目录>/instances/ |
你指定的根目录在启动时被解析;子目录(
.polymerium/、cache/、instances/)会在首次启动时自动创建。即便你指向的目录尚不存在,Polymerium 也会在首次写入时创建整个目录树——只要该路径尚未被文件占用即可。
设置步骤
第一步:关闭 Polymerium
数据根目录只在启动时解析一次,因此请确保 Polymerium 没有在运行。
第二步:创建目标目录
在目标磁盘上新建一个空文件夹(或指向一个尚不存在的路径——Polymerium 会在首次启动时创建它)。
| 平台 | 示例路径 |
|---|---|
| Windows | D:\PolymeriumData |
| Linux | /mnt/games/polymerium |
| macOS | /Volumes/External/polymerium |
第三步:让 Polymerium 指向它
从三种方式中任选其一。
方式 A —— .trident.home 文件(桌面使用推荐)
在用户主目录下创建一个名为 .trident.home 的文件,内容为根目录的绝对路径(该目录无需预先存在——Polymerium 会在首次启动时创建)。
Windows(PowerShell):
New-Item -Path "D:\PolymeriumData" -ItemType Directory -Force
New-Item -Path "$env:USERPROFILE\.trident.home" -ItemType File -Force
Set-Content -Path "$env:USERPROFILE\.trident.home" -Value "D:\PolymeriumData"Linux / macOS(终端):
mkdir -p /mnt/games/polymerium
echo "/mnt/games/polymerium" > ~/.trident.home在 Windows 上,~/.trident.home 即 C:\Users\<用户名>\.trident.home。
方式 B —— TRIDENT_HOME 环境变量
将该变量设为目标目录。它的优先级高于其他所有方式,适合脚本、快捷方式和 CI 场景:
# Windows(当前会话)
$env:TRIDENT_HOME = "D:\PolymeriumData"# Linux / macOS
export TRIDENT_HOME=/mnt/games/polymerium通过 shell 配置或系统环境变量使其持久生效。
方式 C —— .trident 便携标记
在目标目录内创建一个 .trident/ 文件夹,并以该目录(或其任意子目录)作为工作目录启动 Polymerium。.trident/ 文件夹本身就是根目录,因此数据最终落在 <目标>/.trident/ 下。
mkdir -p /mnt/games/polymerium/.trident
cd /mnt/games/polymerium
polymerium第四步:启动 Polymerium
启动 Polymerium。它会检测到覆盖配置,切换到自定义根目录,并自动创建 .polymerium/、cache/、instances/ 等子目录。
验证规则
覆盖路径(.trident.home 或 TRIDENT_HOME)必须满足:
- 是绝对路径(例如
D:\Data,不能是..\Data)。 - 不能指向一个已存在的文件(可以指向尚不存在的目录——Polymerium 会在首次启动时创建——也可以指向已存在的目录)。
如果 .trident.home 存在但路径是相对的,或指向一个已存在的文件,Polymerium 会忽略它并回退到默认解析。
首次使用新根目录启动时,Polymerium 会从头开始——设置恢复默认,共享缓存为空。原位置的数据不会被自动删除或迁移。
迁移已有数据
如果你已有实例和设置(位于 ~/.trident/ 或各平台位置)并想迁移:
- 关闭 Polymerium。
- 创建目标目录并设置覆盖(见上文)。
- 把现有数据复制到新根目录:
- 设置与数据库 →
<根目录>/.polymerium/ - 共享缓存 →
<根目录>/cache/ - 实例 →
<根目录>/instances/
- 设置与数据库 →
- 启动 Polymerium——实例、设置和缓存都会被识别。
如何切换回来
要恢复到默认位置:
- 关闭 Polymerium。
- 移除覆盖配置——删除
~/.trident.home、取消设置TRIDENT_HOME,或不再从带标记的目录启动。 - 启动 Polymerium——它会重新按默认方式解析。
切换或移除覆盖配置时不会删除任何数据。自定义路径下的数据保持原样,需要时手动复制回来即可。
1.10.0 之前
本指南描述的是 1.10.0 及以后的行为。早期版本有所不同:
- 所有平台共用同一个根目录。 全部数据都放在
~/.trident/下——设置在~/.trident/.polymerium/,共享缓存在~/.trident/cache/,实例在~/.trident/instances/。没有按平台拆分。 - 没有
TRIDENT_HOME环境变量。 只有.trident.home文件和.trident工作目录标记两种覆盖方式。
已经存在 ~/.trident/ 目录的旧安装会保持原样运行——Polymerium 检测到遗留根目录就会继续使用它,因此除非你想迁移,否则无需动它。
使用场景
| 场景 | 好处 |
|---|---|
| Windows C 盘空间不足 | 将大体积缓存迁移到 D 盘或外接 SSD |
避开 Windows 的 %TEMP% | 让共享缓存落在持久目录中 |
| 多套 Polymerium 配置 | 用不同的覆盖指向不同的数据根目录,分别管理 |
| 将游戏数据与系统盘分离 | 适合双系统或系统重装场景 |
| 外接硬盘便携使用 | 数据随身携带——在任何装有 Polymerium 的电脑上插盘即玩 |
限制
- 覆盖配置是全局生效的——它重定位的是整个数据根目录,而不是单个实例。
- Polymerium 不会自动迁移旧数据。你需要手动复制。
- 覆盖路径必须是绝对路径,且不能指向一个已存在的文件。
.trident.home内不支持相对路径和环境变量展开;目标目录若不存在会在首次写入时自动创建。 .trident便携标记会把.trident/文件夹作为根目录,因此数据落在<目标>/.trident/下。