Polymerium
核心概念

部署流水线

当你点击"部署"时发生了什么——Polymerium 如何将你的模组列表变成可运行的游戏。

Last updated on

部署做什么

部署会把实例元数据——Minecraft 版本、模组加载器和包列表——转换为可运行的运行目录(build/)。实例配置描述需要准备什么,部署后的运行目录才是 Minecraft 实际打开的位置。

如果你不熟悉整合包源、本地保留、运行目录和工作副本这些概念,可以先看术语表 →。

会下载什么

在第一次部署时,Polymerium 会下载运行游戏所需的一切:

  • Minecraft 本身 —— 来自 Mojang 服务器的版本 JAR 和资源
  • 加载器库 —— Fabric、Forge、NeoForge 或 Quilt 等模组加载器所需的文件
  • 包 —— 从 CurseForge 和 Modrinth 解析的模组和其他包类型,包括任何依赖项
  • Java 运行时 —— 存在匹配版本时准备 Mojang 运行时,多个实例共享,启动时选择其他 Java 也不影响这项准备

所有这些都存储在你磁盘上的一个共享缓存中。有效的缓存文件可由任何实例重用,缺失或损坏的文件会重新下载。

哪些包条目生效

一个实例可以在多个分组中保留同一项目。部署会排除禁用条目,再按分组优先级为每个项目选择生效条目,并处理包之间的目标路径冲突。被覆盖的条目仍保留在实例配置中。散装包、保存的组顺序及同优先级冲突,见包分组与覆盖顺序。

符号链接,而不是副本

Polymerium 不会将模组文件复制到每个实例中,而是从共享缓存创建符号链接到你的 build/ 目录。如果你有五个实例都使用 Sodium,你的磁盘上只有一份 Sodium 副本——每个实例只是链接到它。

来自整合包源(import/)与本地保留(persist/)目录的文件也会按优先级分层到运行目录(build/)中。参见目录模型 → 了解其工作原理。

快速部署

新实例的第一次部署会下载所有内容,所以需要一点时间——就像任何启动器一样。在那之后,事情会变得很快:

  • 什么都没变? 部署复用已解析的元数据并检查本地资源,跳过已经满足的文件操作。
  • 只有几个模组改变了? 只有那些模组会被更新。其他一切都保持原位。

实例首页在检查过的文件无需下载或本地操作时显示资源已就绪,仍有本地操作或当前需求需重新判定时显示需要部署,已知需要获取资源时显示需要下载。将鼠标悬停在状态上可查看各类资源是否就绪。这项检查在当前应用会话内缓存,不验证账号或自定义 Java 安装。部署还会在启动前完成本地原生库准备。

缓存的好处

共享缓存意味着你的其他实例也会受益。如果实例 A 已经下载了一个模组,而你向实例 B 添加了相同的模组,就不需要下载任何东西——部署只是创建一个新的符号链接。

了解更多

On this page