Polymerium
指南

自定义数据目录

将 Polymerium 的全部数据——设置、缓存和实例——迁移到其他磁盘或自定义位置。

Last updated on

为什么要移动数据目录?

默认情况下,Polymerium 会把数据放在各平台约定的位置——设置与数据库放在应用数据目录,共享的模组/资源/运行时缓存放在缓存目录,实例放在数据目录。具体路径见安装内容在哪里

共享缓存会随时间变得很大;在 Windows 上它还位于 %TEMP%,既占用 C 盘空间,又可能被磁盘清理工具清掉。把整个数据根目录迁移到其他磁盘可以:

  • 释放 C 盘空间。
  • 让缓存落到一个持久的目录,而不是临时的 %TEMP%
  • 用外接 SSD 或 U 盘实现完全便携的运行环境。

当你设置了自定义数据根目录时,Polymerium 会切回经典的单根目录布局——配置、数据、缓存和实例全部集中放在同一个根目录下,也就是 1.10.0 之前一直使用的布局。

工作原理

Polymerium 在启动时按以下优先级确定数据根目录:

  1. TRIDENT_HOME 环境变量 —— 若指向一个已存在的目录,则该目录成为根目录。(优先级最高)
  2. .trident 工作目录标记 —— Polymerium 从当前工作目录向上逐级查找,第一个包含 .trident/ 文件夹的祖先目录会让该 .trident/ 文件夹成为根目录。适合便携场景。
  3. ~/.trident.home 文件 —— 位于用户主目录下的一个文件,第一行是新根目录的绝对路径。

如果以上都没有设置:

  • 若已存在 ~/.trident/ 目录(来自旧版本),Polymerium 会继续使用它
  • 否则使用各平台的标准位置。

当自定义根目录生效时,其下的布局为:

内容位置
设置、HTTP 缓存、持久化数据库<根目录>/.polymerium/
共享缓存(模组、资源、运行时)<根目录>/cache/
实例<根目录>/instances/

你指定的根目录在启动时被解析;子目录(.polymerium/cache/instances/)会在首次启动时自动创建。即便你指向的目录尚不存在,Polymerium 也会在首次写入时创建整个目录树——只要该路径尚未被文件占用即可。

设置步骤

第一步:关闭 Polymerium

数据根目录只在启动时解析一次,因此请确保 Polymerium 没有在运行。

第二步:创建目标目录

在目标磁盘上新建一个空文件夹(或指向一个尚不存在的路径——Polymerium 会在首次启动时创建它)。

平台示例路径
WindowsD:\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.homeC:\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.homeTRIDENT_HOME)必须满足:

  • 绝对路径(例如 D:\Data,不能是 ..\Data)。
  • 不能指向一个已存在的文件(可以指向尚不存在的目录——Polymerium 会在首次启动时创建——也可以指向已存在的目录)。

如果 .trident.home 存在但路径是相对的,或指向一个已存在的文件,Polymerium 会忽略它并回退到默认解析。

首次使用新根目录启动时,Polymerium 会从头开始——设置恢复默认,共享缓存为空。原位置的数据不会被自动删除或迁移

迁移已有数据

如果你已有实例和设置(位于 ~/.trident/ 或各平台位置)并想迁移:

  1. 关闭 Polymerium。
  2. 创建目标目录并设置覆盖(见上文)。
  3. 把现有数据复制到新根目录:
    • 设置与数据库 → <根目录>/.polymerium/
    • 共享缓存 → <根目录>/cache/
    • 实例 → <根目录>/instances/
  4. 启动 Polymerium——实例、设置和缓存都会被识别。

如何切换回来

要恢复到默认位置:

  1. 关闭 Polymerium。
  2. 移除覆盖配置——删除 ~/.trident.home、取消设置 TRIDENT_HOME,或不再从带标记的目录启动。
  3. 启动 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/ 下。

On this page