NanaChiyo0721 6b7b8863f0
Shiroha CI / build (push) Canceled after 0s
Shiroha CI / Event File (push) Canceled after 0s
Improve "Fix region threading with entity ai data access" patch
2026-08-23 22:59:04 +08:00
2026-07-14 13:29:52 +08:00
2026-07-09 14:36:37 +08:00
2026-07-14 13:29:52 +08:00
2026-08-11 15:18:51 +08:00
2026-07-14 15:09:17 +08:00
2026-07-09 14:51:29 +08:00
2026-07-14 13:29:52 +08:00
2026-08-20 00:13:55 +08:00
2026-07-09 14:36:37 +08:00
2026-07-09 14:36:37 +08:00
2026-07-24 22:07:50 +08:00
2026-08-13 11:05:32 +08:00
2026-08-13 11:05:32 +08:00

Shiroha

License MC Upstream

Shiroha is a fork of Folia, a multithreaded Minecraft server based on Paper. It tracks recent Minecraft versions (currently 26.2, see gradle.properties) and applies fixes, performance optimizations, and configurable features on top of upstream.

This is a partially closed-source project; the contents of this repository are the reference.

Building

Requires Java 25+ (build toolchain configuration is in build.gradle.kts).

./gradlew applyAllPatches
./gradlew createPaperclipJar

The output is a paperclip jar in shiroha-server/build/libs/. The build is based on paperweight-patcher; other tasks can be listed with ./gradlew tasks.

Features

Most features are behind configuration switches. Config definitions live in shiroha-server/src/main/java/io/nanachiyo0721/shiroha/config/modules/, with per-option documentation written directly into the generated config file comments — treat the generated config and the source annotations as the authoritative description.

The actual changes are tracked as patch files:

  • shiroha-server/minecraft-patches/features/ — changes to Minecraft sources
  • shiroha-server/paper-patches/features/ — changes to upstream Paper
  • shiroha-api/paper-patches/features/ — API-side changes

Main categories:

  • Fixes: Folia threading and regionization issues, teleport and ender pearl behavior, nether portal tickets, entity desync, etc. — patch filenames mostly use the Fix-* / Correct-* prefixes.
  • Optimizations: includes ports and reworkings taken from projects such as Leaf, Gale, Purpur, Pufferfish, and Lithium; these are marked with their source prefixes in patch filenames. Verify the patch contents against the original projects for attribution and accuracy.
  • Config system: a custom annotation-based configuration framework (shiroha-server/src/main/java/io/nanachiyo0721/shiroha/config/) with hot reload and a dialog-based GUI editor, operated through the /shirohaconfig command (shiroha-server/src/main/java/io/nanachiyo0721/shiroha/commands/config/).
  • Region formats: supports b_linear (buffered-flush Linear) region format in addition to vanilla .mca (shiroha-server/src/main/java/io/nanachiyo0721/shiroha/enums/EnumRegionFormat.java).
  • Status bars: TPS, memory, and region info bars, controlled via the /bar command and config (shiroha-server/src/main/java/io/nanachiyo0721/shiroha/functions/bars/).
  • Miscellaneous: entity wake-up duration, entity limits (Kaiiju), portal rate limiting, CPU affinity, and more — see the corresponding patches and config modules.

This list is not guaranteed to be complete; for anything not listed here, check the patch directories yourself.

License

Licensed under GPL-3.0. Code ported from other projects retains its own attribution and licensing terms as documented in the respective patch files.

S
Description
No description provided
Readme GPL-3.0
2.1 MiB
Languages
Java 99.7%
Shell 0.3%