正如其缝合的名字一样,Polymerium 的主要目标是整合 Minecraft 的游戏资源,而非单单启动游戏。其使用与启动器完全不同的思路来管理游戏资源:创建实例元数据,使用部署引擎将游戏本地文件还原到元数据所描述的状态; Polymerium不维护游戏文件,只维护实例元数据。
相比于其他国产的游戏核心概念和版本隔离模式,Polymerium 以更为抽象的“游戏体验”概念和其具象表现“实例”来管理游戏。 这种方式结合了国际主流的现代化管理方式和 a little bit of personal flavor。
有关于 Polymerium 的模式请参阅核心概念。
To introduce the MMC-style of game resource & instance organizing into the domestic ecosystem.
这不是 launcher,也不是压缩毛巾,这是 Polymerium —— 游戏实例管理器。 初衷是在用 PrismLauncher 的时候遇到一些问题并想出一些改进的的方法,不过在写代码、与 forge installer 斗智斗勇的过程中已经忘记哪些改进了(囧)。
Go back read the last section and you get it.
- Windows 10+
- Linux(WIP)
- macOS(Planning)
- 🎨 丰富的界面视觉效果 | Custom UI Styles
- 💾 增量部署,使用软链接节省硬盘空间 | Pooled file objects & Symlink deployment.
- 🎭 支持多账号且账号与实例绑定 | Instance linked multi account support.
- 🎟️ 多种在线仓库,与 Curseforge 和 Modrinth 集成 | Integrated with Curseforge & Modrinth.
- ☕ 手动配置 Java 并在运行时智能选择版本 | No stupid Java auto-detection. Configure Java once, configured every time.
- 📜 实例元数据附件分层管理 | Layered attachment management.
- ✨ 发布所游玩的实例为整合包,自动编写更新日志 | Publish the instance as a modpack with generated changelog.
- 🛁 洁癖友好 | Never touch user's filesystem other than instance folder. Never scan disks for java binaries. Uninstall by clicking DELETE on the program folder and instance folder; boom, they were all gone like they never came.
由于部署采用了 Symbolic Link,该功能需要管理员权限。 Windows 无法直接申请管理员权限,但提供了 开发者模式 来降低创建软连接的特权要求。
设置
👉 更新和安全
👉 开发者选项
👉 开发人员模式
设置
👉 系统
👉 开发者选项
👉 开发人员模式
Due to Windows constraints in symlink, instance deployment requires following additional steps to work.
Google it.
Google it.
开箱即用。
Available out of the box.
Polymerium 没有遥测。
但会在部分保存或导出的数据文件中包含隐私数据,其中包括:
- 你的用户名:被包含在日志和临时文件中,通过 Home 目录暴露
- 你使用的操作系统类型:被包含在日志和临时文件中
上面有提到你的账号信息吗?没有,因为这部分信息不被保存在公共区域。
- 游戏启动流程、Fabric/Quilt 部署: Inside a Minecraft Launcher
- 游戏启动流程: 教程/编写启动器
- Forge: ForgeWrapper
- 微软验证: Microsoft Authentication Scheme
十分感谢以上作者和所著文章。
- Minecraft 官方的 Meta Launcher Api 给出的数据是多态模型
- CurseForge Api V1 不在文档中标注可能为 null 的数据
- Modrinth Api V2 不在文档中标注可能为 null 的数据,且不提供 V3 文档
- PrismLauncher 的 Meta Launcher Api 定义了一系列 "Component",但每个 Component 都有自己独特的数据结构:他们只是看起来相似,在某些地方,例如对 rules[].os 的定义,是不同的
- Modrinth 整合包中的资源清单不一定包含元数据,有些有,有些没有,导致无法提取
- Modrinth Api V2 的 Version.Loaders 字段中存在污染数据需要手动过滤
- CurseForge Api 拉取到的 ModFile 包含的 Dependencies 可能有不兼容的项目,或者单纯就是所有的 ModFile 含有相同的依赖哪怕加载器和游戏版本不支持
- CurseForge Api 用空串代表 null,🐂🍺
- 这游戏的模组依赖仅供参考,不可解析,毕竟有模组的依赖是两个互相冲突的模组
- ATM 10 的 import/mods 里塞了和元数据冲突的模组
- Modrinth Api 中除了搜索其他接口的过滤都在分页后面,导致两个不能一起用,只能本地分页(纯为性能服务了,🚀Blazing fast✨)
Distributed under the MIT License. See LICENSE.txt
for more information.