Files
Infstar/README.md
T

1.8 KiB
Raw Blame History

Infstar

Infstar 是一个基于 Paper 的 Minecraft 服务端核心,优先保证原版机制、 技术服和客户端 Mod 的协议兼容性,再逐步加入可控的性能优化。

Paper 是 Infstar 唯一的代码上游。Leaves、Leaf、Purpur 和其他项目只作为 独立补丁的参考来源,不会成为 Infstar 的固定继承链或构建依赖。

当前基线

  • Minecraft:26.3
  • Paper 分支:main
  • Paper commit:cc7ee9aebdfc9e4acc3ef8f38c35944872fd1f87
  • Java:25
  • 品牌标识:infstarmc:infstar
  • Maven Group:org.infstarmc.infstar
  • 开发版本:<Minecraft 版本>-dev-<Git 短提交>

Paper commit 有意固定在 gradle.properties 中。更新基线时应更新 commit、 重新应用补丁、运行兼容性测试,并审查生成的补丁变化后再合并。

构建

./gradlew applyAllPatches
./gradlew createPaperclipJar

Paperweight 会创建多层 Git 工作仓库,Linux 下应将项目放在 ext4、btrfs 等 原生 Linux 文件系统中。NTFS、exFAT 或部分 FUSE 挂载可能无法可靠处理 Git 锁文件,不建议直接在这些文件系统中构建。

需要使用 Paper 本地镜像或单独的上游工作目录时,可通过 Gradle 属性覆盖:

./gradlew applyAllPatches \
  -PpaperRepository=/path/to/Paper \
  -PpaperweightUpstreamWorkDir=/path/to/infstar-upstreams

在发布流程建立前,生成的服务端均视为开发版本。仓库还没有提交时,Git 短提交会临时显示为 unknown;首次提交后会自动使用七位短提交值。

上游策略

Infstar 直接跟进 Paper。其他下游项目不会作为 Git 子模块或构建必需依赖。 从其他项目移植的补丁必须经过审查、注明来源、完成测试,并在移植后由 Infstar 自行维护。