Initialize Infstar Paper-based server core

This commit is contained in:
Coldsmiles
2026-09-13 18:08:00 +08:00
commit 5c27681d1d
22 changed files with 1502 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
# Infstar
Infstar 是一个基于 Paper 的 Minecraft 服务端核心,优先保证原版机制、
技术服和客户端 Mod 的协议兼容性,再逐步加入可控的性能优化。
Paper 是 Infstar 唯一的代码上游。Leaves、Leaf、Purpur 和其他项目只作为
独立补丁的参考来源,不会成为 Infstar 的固定继承链或构建依赖。
## 当前基线
- Minecraft:`26.2`
- Paper commit:`e5fe71723e2ffde7cc9fafc085ac3bb73e63175e`
- Java:`25`
- 品牌标识:`infstarmc:infstar`
- Maven Group:`org.infstarmc.infstar`
- 开发版本:`<Minecraft 版本>-dev-<Git 短提交>`
Paper commit 有意固定在 `gradle.properties` 中。更新基线时应更新 commit、
重新应用补丁、运行兼容性测试,并审查生成的补丁变化后再合并。
## 构建
```bash
./gradlew applyAllPatches
./gradlew createPaperclipJar
```
Paperweight 会创建多层 Git 工作仓库,Linux 下应将项目放在 ext4、btrfs 等
原生 Linux 文件系统中。NTFS、exFAT 或部分 FUSE 挂载可能无法可靠处理 Git
锁文件,不建议直接在这些文件系统中构建。
需要使用 Paper 本地镜像或单独的上游工作目录时,可通过 Gradle 属性覆盖:
```bash
./gradlew applyAllPatches \
-PpaperRepository=/path/to/Paper \
-PpaperweightUpstreamWorkDir=/path/to/infstar-upstreams
```
在发布流程建立前,生成的服务端均视为开发版本。仓库还没有提交时,Git
短提交会临时显示为 `unknown`;首次提交后会自动使用七位短提交值。
## 上游策略
Infstar 直接跟进 Paper。其他下游项目不会作为 Git 子模块或构建必需依赖。
从其他项目移植的补丁必须经过审查、注明来源、完成测试,并在移植后由
Infstar 自行维护。