Files
2026-08-13 11:05:32 +08:00

2.7 KiB
Raw Permalink Blame History

Shiroha

License MC Upstream

Shiroha 是 Folia 的一个分支。Folia 是基于 Paper 的多线程 Minecraft 服务端,Shiroha 在其基础上跟进最新 Minecraft 版本(当前为 26.2,见 gradle.properties),做一些修正、性能优化和配置化的功能扩展。

本项目为半闭源项目,以本仓库内的内容为准。

构建

需要 Java 25+(构建工具链见 build.gradle.kts)。

./gradlew applyAllPatches
./gradlew createPaperclipJar

产物为 paperclip jar,位于 shiroha-server/build/libs/。构建任务基于 paperweight-patcher,其余任务可通过 ./gradlew tasks 查看。

功能

功能大多带有配置开关,配置项定义集中在 shiroha-server/src/main/java/io/nanachiyo0721/shiroha/config/modules/,各项的说明直接写在配置文件的注释中,建议以生成出的配置文件和源码注释为准。

具体改动以 patch 文件为准:

  • shiroha-server/minecraft-patches/features/ — 对 Minecraft 源码的改动
  • shiroha-server/paper-patches/features/ — 对上游 Paper 的改动
  • shiroha-api/paper-patches/features/ — API 侧改动

主要类别:

  • 修正:Folia 相关的线程与区域化问题、传送与末影珍珠、地狱门 ticket、实体同步等,对应文件名前缀多为 Fix-* / Correct-*
  • 优化:包含部分来自 Leaf、Gale、Purpur、Pufferfish、Lithium 等项目的移植与改写,对应 patch 文件名带有来源前缀;移植的准确性建议对照 patch 内容与原项目确认。
  • 配置系统:自研的注解式配置框架(shiroha-server/src/main/java/io/nanachiyo0721/shiroha/config/),支持热重载与基于 dialog 的图形化配置界面,由 /shirohaconfig 命令操作(shiroha-server/src/main/java/io/nanachiyo0721/shiroha/commands/config/)。
  • 存档格式:除原版 .mca 外支持 b_linear(带缓冲刷写的 Linear)区域格式(shiroha-server/src/main/java/io/nanachiyo0721/shiroha/enums/EnumRegionFormat.java)。
  • 状态栏TPS、内存、区域信息状态栏,由 /bar 命令与配置控制(shiroha-server/src/main/java/io/nanachiyo0721/shiroha/functions/bars/)。
  • 其他:实体唤醒时长、实体数量限制(Kaiiju)、传送门速率限制、CPU 亲和性等,详见对应 patch 与配置模块。

以上列表不保证完整,未列出的改动请自行查阅 patch 目录。

许可

本项目按 GPL-3.0 许可。其中从其他项目移植的代码,其归属与许可情况见各 patch 文件内的说明。