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

## 部署做什么

部署将你的实例元数据——Minecraft 版本、加载器和模组列表——转换为可运行的游戏目录。将其视为从配方构建游戏：元数据是配方，部署的 `build/` 文件夹是成品。

## 会下载什么

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

- **Minecraft 本身** —— 来自 Mojang 服务器的版本 JAR 和资源
- **加载器库** —— Fabric、Forge、NeoForge 或 Quilt 运行时文件
- **模组** —— 从 CurseForge 和 Modrinth 解析，包括任何依赖项

所有这些都存储在你磁盘上的一个**共享缓存**中。一旦下载，它们就不会再被下载——任何实例都可以重用它们。

## 符号链接，而不是副本

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

来自你的 `import/`、`live/` 和 `persist/` 目录的文件也会按优先级顺序分层到 `build/` 中。参见[四层目录 →](/docs/concepts/four-layers) 了解其工作原理。

## 快速部署

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

- **什么都没变？** 完全跳过部署。你的最后一次构建仍然有效。
- **只有几个模组改变了？** 只有那些模组会被更新。其他一切都保持原位。

这就是为什么启动一个你已经部署过的实例感觉是即时的。

## 缓存的好处

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

## 了解更多

- [元数据驱动的实例 →](/docs/concepts/metadata-driven) —— 为什么实例是描述而不是文件夹副本
- [四层目录 →](/docs/concepts/four-layers) —— 文件如何分层到游戏目录中