NitWikit/docs-java/advance/folia.md
SB-Reborn 9b3c93adb2
回退了那些破坏ci的更改并重新配置markdownlint (#286)
* markdownlint

* try to format docs

* 修复了format脚本并添加了markdownlint配置文件

* 重新自动格式化

* revert了自动格式化的部分因为它们貌似破坏了ci

This reverts commit 874a7ec3c84c73b9da329a36974322d7ad1e3b39.

Revert "try to format docs"

This reverts commit 003da71931dafbf4063824fbc0b2e8830d2f1bee.

* Revert "try to format docs"

This reverts commit 003da71931dafbf4063824fbc0b2e8830d2f1bee.

* 尝试修复

* 重新格式化

* changed markdownlint config

* 手动对文档进行了格式化

* fixed markdownlint script

* fixed link

* 尝试格式化
2024-10-01 05:16:42 +08:00

2.9 KiB
Raw Permalink Blame History

title sidebar_position
Folia 3

Folia

Folia 是 Paper 的一个分支,由 Minecraft 优化 BOSS Spottedleaf 开发。

简介

好处

Folia 与 Vanilla 最大的不同在于 Tick 不再有主线程,而是将区块进行分组,每个独立的区域都有自己的 Tick Loop

如果你无法理解这段话,你可以看这样子做的好处:

现在有一个地图有四个区块分别是ABCD

小明在A处建造了一个卡服机能把服务器TPS干到10一下的那种

如果是Paper(或者Purpur及其分支)那么ABCD四处的TPS都会掉到10以下但如果我们用Folia(假设ABCD分在不同的Region)那么只有A处的TPS会掉到10以下BCD的TPS仍然不受影响

并且Folia可以更好的利用CPU多核

坏处

Folia 完全破坏了 Bukkit 插件的兼容性,每个 Bukkit 插件都必须为 Folia 做兼容(有专门的 Fork 为 Folia 做 Bukkit 插件兼容,后面会讲)所以Folia 目前只支持很少插件

要求

Folia这么好但并不是每个服务器都可以体验的你需要确保你的服务器符合以下条件这样才可以从Folia中受益

  • 16个物理CPU核心
  • 玩家较为分散(生存多人游戏、无政府、空岛或一些迷你游戏服务器)
  • 你需要的插件支持 Folia

如果你不符合去用Leaf吧符合的话继续看下去!

安装

我们不推荐直接使用Folia因为这需要自己去构建Luminol是一个非常棒的选择如果你需要1.20.1/2你可以使用Molia

请选择Luminol我们后面会讲LightLuminol下载到本地后替换原来的核心就可以了

LightLuminol

LightingLuminol 是 Luminol 的分支,旨在修复对 BukkitAPI 的破坏,最大程度保证 Bukkit 插件的兼容性。但是虽然LightLuminol对于Bukkit插兼容性较好但是会有许多问题包括不定时的NullPointerErrorThread不安全内存泄露数据丢失(一天崩个几十次,挺正常的)

所以在开始使用LightingLuminol请想想Leaf是不是更好

如果你需要1.20.1/2你可以使用DirtyMolia

(Molia和Luminol其实是同一个作者~~)

调配置

安装完 Luminol 后你还需要一点小小的配置让你的Luminol更好

分配线程数

众所周知 Folia 默认的分配线程数非常脑瘫,会出现一核有难,八核围观的场景

打开Paper的全局配置找到threaded-regions.threads,通常情况下,分配给区块 Tick 线程数应该是 80% 乘上你物理CPU核数

生电配置

Luminol 另一个好处就是可以开启生电配置

打开 Luminol 的配置文件

  • fixes.allow_void_trading 虚空交易
  • fixes.allow_unsafe_teleportation 刷沙
  • fixes.use_vanilla_random_source RNG操作

其它特性请阅读 Paper 文档