Minecraft 26.2 · Stable

让区域多线程核心更好用

基于 Folia,继承 Luminol 特性与配置框架
专注 Bukkit 插件兼容、原版行为修复与高性能服务端体验

Actions Build Status GitHub Issues Last Commit License
GPL-3.0Java 21+Windows CI
ABOUT

LightingLuminol 是什么?

BakaFork 是面向新版本 Minecraft 的非官方 LightingLuminol 延续分支,在 Folia 区域化架构之上迁移老特性并持续修复。

01

区域化性能

沿用 Folia 的区域线程调度模型,让彼此独立的世界区域并行处理,释放多核心处理器性能。

02

面向实际服主

保留 Luminol 配置体验,补充 Bukkit 调度兼容、品牌自定义与命令方块开关等生产所需能力。

FEATURES

核心特性

稳定、兼容、可观测

完整配置框架

从 luminol_global_config.toml 加载品牌名称、实验功能、修复项与性能优化参数。

区域架构增强

包含登录队列限制、方块更新保护、载具同步及区域化世界数据管理。

性能监控

提供 TPS Bar、Region Profiler、Watchdog 与区块系统吞吐计数器。

原版行为修复

处理区域线程下的方块更新、实体传送和线程安全问题,尽可能保持原版体验。

自动化构建

GitHub Actions 使用 Windows 环境自动应用补丁、构建 Paperclip,并上传可运行 JAR。

性能深度优化

SIMD 向量化、CPU 亲和性绑定、村民呆滞化、传感器节流、投射物限制等多项优化。

原版行为修复

碰撞行为模式、寻路修复、高速度修复、记忆清理、传送门限流等 12 项修复。

MORE CAPABILITIES

更多已集成能力

调度与兼容Bukkit Scheduler 兼容层Folia 插件元数据恢复异步协议切换插件兼容策略覆盖
世界与区块并行世界生成区块系统吞吐计数方块更新长度限制区域数据安全保存
实体与游戏性可配置命令方块载具移动同步修复村民呆滞化优化绊线钩复制控制
性能优化SIMD 向量化运算CPU 亲和性绑定传感器工作节流投射物区块限制
稳定性修复碰撞行为模式寻路跨区域修复高速度移动修复记忆自动清理
管理与诊断区域 TPS 查询Region ProfilerWatchdog 线程可自定义服务端品牌
WHY FOLIA

同一个世界,不同的处理方式

玩家、实体和区块都在同一个 Minecraft 世界中。传统核心把整个世界的工作压在一个主线程上;Folia 将相距较远的区域拆开,让多个 CPU 线程同时处理。

传统核心

整个世界,共用一个线程

负载集中
同一个世界
P1
P2
P3
MAIN THREADCPU 线程 1
世界全部负载 100%

无论玩家分散得多远,所有区域都要等待同一个主线程。某一区域任务过多时,整个世界都会一起卡顿。

Folia / LightingLuminol

一个世界,多个区域线程

负载分散
同一个世界
P1
P2
P3
REGION ACPU 线程 1
REGION BCPU 线程 2
REGION CCPU 线程 3

相距较远的区域分别运行。一个区域繁忙时,其他区域仍可由各自线程正常处理,充分利用多核心 CPU。

玩家位置独立区域CPU 线程
BUILD

从源码构建

JDK、Git 与两条 Gradle 命令

PowerShell

PS git clone https://github.com/Baka-Sky/LightingLuminol-Fork.git

PS cd LightingLuminol-Fork

PS .\gradlew.bat applyAllPatches

PS .\gradlew.bat createPaperclipJar

环境要求

  • 01
    JavaJDK 21 或更高版本
  • 02
    GitGit 2.x,补丁系统必需
  • 03
    网络可访问 Mojang、GitHub 与 PaperMC Maven
  • 04
    GradleWrapper 已内置,无需安装
CONFIGURATION

一个文件,集中控制

首次启动后读取 luminol_config/luminol_global_config.toml

熟悉的 Luminol 配置

配置加载器在插件启动前完成读取,实验功能、性能优化和修复项均通过清晰的 TOML 分区管理。

自定义服务端品牌命令方块开关调度器兼容性能参数
[misc]
server_mod_name = "BakaCore"

[experiment.command]
enable_command_block = true
enable_tick_command = true

[unsupported.folia_scheduler_compatibility]
enabled = true
# luminol_config/luminol_global_config.toml
[misc]
server_mod_name = "LightingLuminol"

[experiment.command]
enable_command_block = true
enable_tick_command = true
# Windows Server 2025 / Windows 11
java -Xms4G -Xmx4G -XX:+UseG1GC \
  -jar lightingluminol-26.2.jar nogui
# 兼容不支持 Folia 的 Bukkit 插件
[unsupported.folia_scheduler_compatibility]
enabled = true

# 修改后完整重启服务器
USE CASES

它适合怎样的服务器?

LightingLuminol 面向需要多核心扩展能力,同时希望保留 Luminol 功能与配置体验的服务端。

01

大型生存服

玩家分散在不同区域探索、建造时,让相距较远的区域并行运行。

多区域负载
02

高并发大厅

面对大量实体、玩家移动与插件任务,减少单主线程成为瓶颈的概率。

高玩家密度
03

红石与机械服

把不同位置的复杂运算分散到区域线程,避免所有区块争抢一个线程。

复杂区块运算
04

希望迁移到 Folia

为正在使用 Paper 系核心的服主提供清晰的迁移入口与兼容配置。

Paper 生态迁移
上游生态Paper

成熟的 Bukkit API 与服务端基础

区域化调度Folia

将独立区域交给多个线程处理

功能增强Luminol

性能配置、修复与实用特性

二次开发Arbor

基于 Luminol 的特性参考与代码移植

本项目LightingLuminol

面向实际部署维护的 BakaFork

DEPLOYMENT

从下载到开服

Windows 11 与 Windows Server 2025 均可运行,已有服务器迁移前请先完整备份。

  1. 01

    准备 Java 21+

    安装 64 位 JDK,并确认 PowerShell 中 java -version 可用。

  2. 02

    获取核心

    从 GitHub Actions 下载最新成功构建,将 Paperclip JAR 放进服务器目录。

  3. 03

    首次启动

    同意 EULA 后启动一次,生成 Paper、Folia 与 Luminol 配置文件。

  4. 04

    迁移并检查插件

    复制世界、插件和配置;逐个确认插件是否原生支持 Folia 调度器。

  5. 05

    调整后完整重启

    修改 luminol_global_config.toml 后停止并重新启动,不要使用热重载。

COMPATIBILITY

插件兼容,不只看能否加载

插件显示绿色启用不代表所有功能都线程安全。优先选择明确标注 Folia 支持的版本。

插件类型建议说明
原生支持 Folia推荐

使用区域、全局和异步调度器,最适合生产环境。

仅声明 Paper 支持需测试

可能可以加载,但传送、实体和区块操作仍可能失败。

依赖主线程操作不建议

在区域线程模型下可能出现异常、数据竞争或服务端崩溃。

协议与代理类插件逐项确认

查看作者说明,并在与生产服一致的环境中测试。

正常启动java -Xms4G -Xmx4G -jar lightingluminol-26.2.jar nogui
应用全部补丁.\gradlew.bat applyAllPatches
构建 Paperclip.\gradlew.bat createPaperclipJar
正常停止服务器stop
FAQ

常见问题

部署前最常遇到的几个问题

LightingLuminol 与 Paper 有什么区别?+

它基于 Folia 的区域化多线程架构,并迁移 Luminol 的配置与增强功能。它仍保留 Paper 生态基础,但线程模型与普通 Paper 不同。

配置文件为什么修改后没有立即生效?+

Luminol 全局配置在服务端启动阶段读取。保存文件后需要输入 stop 正常停服,再完整启动服务器。

所有 Bukkit / Paper 插件都能直接使用吗?+

不能保证。插件必须正确适配 Folia 的区域调度模型。兼容开关只能辅助部分插件运行,不能把线程不安全的插件自动变安全。

为什么推荐使用 stop,而不是直接关闭窗口?+

stop 会依次保存玩家、世界与区块数据。直接终止 Java 或批处理窗口可能造成未保存数据丢失。

命令方块开关在哪里?+

在 luminol_config/luminol_global_config.toml 的 experiment.command 分区中修改 enable_command_block,并完整重启。

应该从哪里下载最新构建?+

打开 GitHub Actions,选择最新一次成功的 Build LightingLuminol 工作流,并下载其中的构建产物。

GET STARTED

准备好启动你的服务器了吗?

从 GitHub Actions 获取最新构建产物,或前往 Releases 查看已发布版本。

SkyServer Teams 使用BakaFork版本核心强力驱动 SkyServer