常见问题
哪些类型的服务器可以从 Folia 中受益?
那些玩家自然分散的服务器类型,比如空岛或生存服务器,将从 Folia 中获得最大收益。 同时,服务器也应该有相当数量的玩家。
Folia 在什么样的硬件上运行最好?
理想情况下,至少需要 16 个物理核心(不是线程)。
如何最好地配置 Folia?
首先,建议预生成世界,这样可以大大减少所需的区块系统工作线程数量。
以下是基于 Folia 发布前在测试服务器上进行的测试的一个非常粗略的估算, 该测试服务器峰值约有 330 名玩家。因此,这并不是精确的配置,需要进一步调整 - 仅将其作为一个起点。
应该考虑机器上可用的总核心数。然后,为以下方面分配线程:
- netty IO:每 200-300 名玩家约 4 个线程
- 区块系统 IO 线程:每 200-300 名玩家约 3 个线程
- 如果预生成了世界,区块系统工作线程:每 200-300 名玩家约 2 个线程
- 如果没有预生成世界,区块系统工作线程没有最佳估计值,因为 在我们运行的测试服务器上,我们分配了 16 个线程,但在约 300 名玩家时区块生成仍然很慢。
- GC 设置:???? 但是,GC 设置确实会分配并发线程,你需要
确切知道有多少。这通常通过
-XX:ConcGCThreads=n标志设置。不要 将此标志与-XX:ParallelGCThreads=n混淆,因为并行 GC 线程仅在 应用程序被 GC 暂停时运行,因此不应考虑在内。
在所有这些分配之后,系统上剩余的核心数直到 80% 的分配
(分配的总线程数 < 可用 CPU 的 80%)可以分配给
tick 线程(在全局配置中的 threaded-regions.threads)。
你不应该分配超过 80% 的核心的原因是因为 插件甚至服务器可能会使用你无法配置甚至无法预测的额外线程。
此外,以上都是基于玩家数量的粗略估计,但 很可能线程分配并不理想,你需要根据最终看到的 线程使用情况进行调整。
Folia 禁用了哪些命令?
Folia 目前禁用了一些命令。这些是:
- Bossbar(Boss 栏)命令
- Clone(克隆)命令
- Data(数据)命令
- Datapack(数据包)
- Debug(调试)
- Function(函数)
- Item(物品)命令
- Loot(战利品)
- Reload(重载)
- Ride(骑乘)
- Schedule(计划)
- Scoreboard(计分板)
- Tag(标签)
- Team(队伍)
- TeamMsg(队伍消息)
- Trigger(触发器)
- WorldBorder(世界边界)
- Perf(性能)
- SaveAll(保存全部)
- Restart(重启)