一款轻量的Minecraft服务器管理面板 · 由 JBerrors 制作团队和AI辅助开发
JAB Panel 是一个基于 Node.js + Express + WebSocket 的 Minecraft 服务器管理面板,采用前后端分离架构,零原生依赖(纯 JS 实现),可在 Windows / Linux / Android(Termux) 上无缝运行,支持 Java 版与基岩版(Bedrock)服务器的完整管理。
- 一键 启动 / 停止 / 重启 Minecraft 服务器
- 心跳检测(5 秒轮询,10 秒超时强制重启)
- 崩溃自愈:异常退出后 3 秒自动重启(可区分主动停止)
- 实时展示 CPU 占用率 / 内存占用率 / 在线人数 / 延迟
- 自动生成并同意
eula.txt,自动检测 Java 环境
- WebSocket 实时通信,双向收发指令
- ANSI 颜色渲染(内置解析器,零依赖)
- 历史持久化:切换页面不丢失,重启面板可恢复(最多保留 3000 条)
- 连接 IP / 端口 / 人数上限 / 正版验证 修改
- 服务器封面图标上传(64×64 PNG)
- MOTD 简介编辑(支持 § 颜色符号)
server.properties热修改(无需重启)
- 43 项游戏规则 可视化配置(开关 + 数值,含范围校验)
- 维度管理:主世界 / 地狱 / 末地 统一或单独设置(默认 / 超平坦)
- 天气控制(晴天 / 雨天 / 雷暴)、时间控制(白天 / 正午 / 夜晚 / 午夜)
- 世界与维度 备份 / 导入 / 删除
- 在线玩家实时列表、历史玩家记录(首次/最后加入时间)
- 白名单 / 黑名单 管理
- OP 管理(互斥按钮)、封禁 / 封禁 IP / 踢出
- 游戏模式切换(全服 / 单人,生存 / 创造 / 冒险 / 旁观)
- 给予 / 删除物品、给予 / 清除效果
- 查看背包、查看 UUID(弹窗展示 NBT 数据)
- 清除玩家进度 / 效果 / 背包
- 模组列表查看、启用 / 禁用、删除、上传(
mods/目录)
- 目录浏览(面包屑导航)、创建文件 / 目录
- 全选 / 批量操作(复制 / 移动 / 压缩 / 删除)
- zip 压缩 / 解压、上传 / 下载
- 严格路径校验,防止越权访问系统目录
- Java 原版(Mojang launchermeta 官方源)
- Forge(Maven Metadata API 官方源)
- Fabric(Fabric Meta API 官方源)
- 基岩版 Bedrock(Microsoft Azure CDN 官方源,自动解压)
- Modrinth / CurseForge 整合包与模组
- 下载后自动生成完整
server.propertieseula.txtmods/config/
- 修改用户名 / 密码(bcryptjs 哈希存储)
- 定时备份(最多保留 3 份 zip)
- 日志查看 / 下载 / 删除
- JWT 会话认证
| 分类 | 技术 |
|---|---|
| 后端框架 | Express |
| 实时通信 | ws(WebSocket) |
| 认证 | JWT(jsonwebtoken)+ bcryptjs |
| 文件上传 | busboy |
| 数据持久化 | JSON 文件存储(data/database.json) |
| 前端 | 原生 HTML + CSS + JavaScript(SPA 单页应用) |
为什么没有原生依赖? 为保证在 Android FAT/exFAT 文件系统上 npm install 不报符号链接错误(EPERM),所有依赖均为纯 JS 实现,无需 node-gyp 编译。
- Node.js 18+(建议 18.20 LTS 或更高)
- Java 17+(运行 Java 版服务器,基岩版无需)
- 系统需安装
zip/unzip命令(压缩/解压功能)
git clone https://github.com/qichengeca/JABPanel.git
cd JABPanelnpm installnode server.js首次启动输出:
=========================================
JAB Panel 已启动,端口: 25580
访问地址: http://localhost:25580
管理员账号: admin
初始密码: xxxxxxxx (随机生成)
=========================================
请立即登录并修改默认密码!
浏览器访问 http://localhost:25580,使用终端显示的账号密码登录。
pkg update && pkg upgrade
pkg install nodejs openjdk-17 zip unzip
cd /sdcard/你的路径/JABPanel
npm install
node server.js注意:Node.js 子进程管理需要从 同一环境 启动面板与 Java。若在 Termux 中运行面板,请确保 Java 也安装在 Termux 中(
pkg install openjdk-17),否则无法启动服务器。
- 密码使用 bcryptjs 哈希存储,不保存明文
- 会话使用 JWT 无状态认证,token 存于 localStorage
- 首次启动生成 随机管理员密码,终端显示仅此一次
- 文件操作严格限制在
config.serverDir内,防止路径穿越 - 上传文件通过
busboy流式处理
npm install 报 EPERM 符号链接错误?
项目已内置 .npmrc(bin-links=false)。若仍报错,请手动执行:
npm install --no-bin-links启动服务器提示"未检测到 Java"?
# Termux / Android
pkg install openjdk-17
# Debian / Ubuntu
sudo apt install openjdk-17-jre-headless压缩/解压功能不可用?
需要系统安装 zip / unzip:
pkg install zip unzip # Termux
sudo apt install zip unzip # Debian/Ubuntu登录按钮无反应?
面板已内置错误提示。若显示"无法连接服务器",请确认面板进程是否在运行;若密码错误,登录框下方会显示红色错误提示。
MIT License © 2025 JBerrors
JBerrors 制作团队 · 持续开发中,欢迎提交 Issue 与 PR
QQ:2020684510