mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2026-01-04 15:41:40 +00:00
* init Multithreaded Tracker * Rebase & Clean up * Some clean up * Some work * Checked some petal issues * Fix tracker * Unify thread name again * Nitori: Async playerdata Save * Rebase * Fix Citizens player type NPC tracking issue (WIP) Temporary move sendChanges to off-main only. This can fix Citizens's player type NPC visible issue. But still working on making updatePlayer async too, since it also takes big part of performance, and also need to be compat with Citizens. * Drop useless patch * Adjust comments * Optimize tracker, batch processing sendChanges tasks * Clean up and fix * Rebase * Partial update player asynchronously & Fix citizens player type NPC visual issue This made async tracker compat with CItizens, but still need to further optimize * Optimize and update config * Fix realPlayer detect condition & Made more async & Update patch comment * Add compat mode for tracker By isolating Citizens compat logic into compat mode, it can gain more performance if Citizens is not installed. * Update comment
137 lines
6.2 KiB
Markdown
137 lines
6.2 KiB
Markdown
<img src="public/image/leaf_banner.png" alt="Leaf">
|
||
<div align="center">
|
||
|
||
[](https://github.com/Winds-Studio/Leaf/releases)⠀
|
||
[](https://github.com/Winds-Studio/Leaf/actions)⠀
|
||
[](https://discord.gg/gfgAwdSEuM)
|
||
|
||
**Leaf** is a drop-in replacement for [Paper](https://papermc.io/) servers designed to remove some checks, customized and high-performance, built on top of [Gale](https://github.com/GaleMC/Gale) with optimizations and fixes from other forks.
|
||
</div>
|
||
|
||
## 🍃 Features
|
||
- **Fork of [Gale](https://github.com/GaleMC/Gale)** for better performance
|
||
- **Async** pathfinding, mob spawning and entity tracker
|
||
- **Various optimizations** blending from [other forks](https://github.com/Winds-Studio/Leaf#-credits)
|
||
- **Fully compatible** with Bukkit, Spigot and Paper plugins
|
||
- **Latest dependencies**, keeping all dependencies in the newest version
|
||
- **Allows all characters in usernames**, including Chinese and other characters
|
||
- **Ability to disable** useless console messages
|
||
- **Fixes** some Minecraft bugs
|
||
- **Allows** to connect the backend via a proxy server without enabling the bungeecord mode
|
||
- **Configurable UseItem distance** for anarchy servers
|
||
- **Mod Protocols** support
|
||
- **More customized** relying on features of [Purpur](https://github.com/PurpurMC/Purpur)
|
||
- Support for **Linear region file format**
|
||
- **Maintenance friendly**, integrating with [Sentry](https://sentry.io/welcome/) of [Pufferfish](https://github.com/pufferfish-gg/Pufferfish) to easy track all errors coming from your server in excruciating detail
|
||
- And more...
|
||
|
||
## 📈 bStats
|
||
[](https://bstats.org/plugin/server-implementation/Leaf)
|
||
|
||
## 📫 Contact
|
||
- Discord: [`https://discord.com/invite/gfgAwdSEuM`](https://discord.com/invite/gfgAwdSEuM)
|
||
- QQ Group: `715128273`
|
||
|
||
## 📫 Donation
|
||
If you love my work, feel free to donate :)
|
||
- afdian: https://afdian.com/a/Dreeam (For Chinese only)
|
||
|
||
## 📥 Download
|
||
You can find latest successful build in [GitHub Action](https://github.com/Winds-Studio/Leaf/actions) or [Releases](https://github.com/Winds-Studio/Leaf/releases)
|
||
|
||
**Please note Java >= 21 is required.**
|
||
|
||
## 📦 Building
|
||
Building a Paperclip JAR for distribution:
|
||
```bash
|
||
./gradlew applyPatches && ./gradlew createMojmapPaperclipJar
|
||
```
|
||
|
||
## 🧪 API
|
||
|
||
### Maven
|
||
```xml
|
||
<repository>
|
||
<id>leafmc</id>
|
||
<url>https://maven.nostal.ink/repository/maven-snapshots/</url>
|
||
</repository>
|
||
```
|
||
```xml
|
||
<dependency>
|
||
<groupId>cn.dreeam.leaf</groupId>
|
||
<artifactId>leaf-api</artifactId>
|
||
<version>1.21.1-R0.1-SNAPSHOT</version>
|
||
<scope>provided</scope>
|
||
</dependency>
|
||
```
|
||
### Gradle
|
||
```kotlin
|
||
repositories {
|
||
maven {
|
||
url = uri("https://maven.nostal.ink/repository/maven-snapshots/")
|
||
}
|
||
}
|
||
|
||
dependencies {
|
||
compileOnly("cn.dreeam.leaf:leaf-api:1.21.1-R0.1-SNAPSHOT")
|
||
}
|
||
|
||
java {
|
||
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
|
||
}
|
||
```
|
||
|
||
## ⚖️ License
|
||
Paperweight files are licensed under MIT.
|
||
Patches are licensed under MIT, unless indicated differently in their header.
|
||
Binaries are licensed under GPL-3.0.
|
||
|
||
Also see [PaperMC/Paper](https://github.com/PaperMC/Paper) and [PaperMC/Paperweight](https://github.com/PaperMC/paperweight) for the license of some material used by this project.
|
||
|
||
## 📜 Credits
|
||
Thanks to these projects below. Leaf just mix some of their patches together.<br>
|
||
If these excellent projects hadn't appeared, Leaf wouldn't have become great.
|
||
|
||
- [Gale](https://github.com/GaleMC/Gale)
|
||
- [Pufferfish](https://github.com/pufferfish-gg/Pufferfish)
|
||
- [Purpur](https://github.com/PurpurMC/Purpur)
|
||
- <details>
|
||
<summary>🍴 Expand to see forks that Leaf takes patches from.</summary>
|
||
<p>
|
||
• <a href="https://github.com/KeYiMC/KeYi">KeYi</a> (R.I.P.)
|
||
<a href="https://github.com/MikuMC/KeYiBackup">(Backup)</a><br>
|
||
• <a href="https://github.com/etil2jz/Mirai">Mirai</a><br>
|
||
• <a href="https://github.com/Bloom-host/Petal">Petal</a><br>
|
||
• <a href="https://github.com/fxmorin/carpet-fixes">Carpet Fixes</a><br>
|
||
• <a href="https://github.com/Akarin-project/Akarin">Akarin</a><br>
|
||
• <a href="https://github.com/Cryptite/Slice">Slice</a><br>
|
||
• <a href="https://github.com/ProjectEdenGG/Parchment">Parchment</a><br>
|
||
• <a href="https://github.com/LeavesMC/Leaves">Leaves</a><br>
|
||
• <a href="https://github.com/KaiijuMC/Kaiiju">Kaiiju</a><br>
|
||
• <a href="https://github.com/hpfxd/PandaSpigot">PandaSpigot</a><br>
|
||
• <a href="https://github.com/PlazmaMC/PlazmaBukkit">Plazma</a><br>
|
||
• <a href="https://github.com/SparklyPower/SparklyPaper">SparklyPaper</a><br>
|
||
• <a href="https://github.com/HaHaWTH/Polpot">Polpot</a><br>
|
||
• <a href="https://github.com/plasmoapp/matter">Matter</a><br>
|
||
• <a href="https://github.com/LuminolMC/Luminol">Luminol</a><br>
|
||
• <a href="https://github.com/Gensokyo-Reimagined/Nitori">Nitori</a><br>
|
||
</p>
|
||
</details>
|
||
|
||
## 🔥 Special Thanks
|
||
<a href="https://cloud.swordsman.com.cn/"><img src="public/image/JiankeServer.jpg" alt="Jianke Cloud Host" align="left" hspace="8"></a>
|
||
cloud of swordsman | 剑客云
|
||
|
||
If you want to find a cheaper, high performance, stable with lower latency, then cloud of swordsman is a good choice! Registers and purchases in [here](https://cloud.swordsman.com.cn/?i8ab42c).
|
||
|
||
如果你想找一个低价高性能, 低延迟的云服务商,剑客云是个不错的选择! 你可以在[这里](https://cloud.swordsman.com.cn/?i8ab42c)注册.
|
||
|
||
---
|
||

|
||
|
||
YourKit supports open source projects with innovative and intelligent tools
|
||
for monitoring and profiling Java and .NET applications.
|
||
YourKit is the creator of [YourKit Java Profiler](https://www.yourkit.com/java/profiler/),
|
||
[YourKit .NET Profiler](https://www.yourkit.com/dotnet-profiler/),
|
||
and [YourKit YouMonitor](https://www.yourkit.com/youmonitor/).
|