Skip to content
qichengecaPublic

About

An AI-assisted Minecraft server panel

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

MC JAB Panel

一款轻量的Minecraft服务器管理面板 · 由 JBerrors 制作团队和AI辅助开发

Node.js License Platform

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.properties eula.txt mods/ 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 命令(压缩/解压功能)

快速开始

1. 获取项目

git clone https://github.com/qichengeca/JABPanel.git
cd JABPanel

2. 安装依赖(此操作前切勿忘记安装JDK)

npm install

3. 启动面板

node server.js

首次启动输出:

=========================================
  JAB Panel 已启动,端口: 25580
  访问地址: http://localhost:25580
  管理员账号: admin
  初始密码: xxxxxxxx   (随机生成)
=========================================

请立即登录并修改默认密码!

4. 登录使用

浏览器访问 http://localhost:25580,使用终端显示的账号密码登录。


Android / Termux 部署

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
登录按钮无反应?

面板已内置错误提示。若显示"无法连接服务器",请确认面板进程是否在运行;若密码错误,登录框下方会显示红色错误提示。


License

MIT License © 2025 JBerrors


JBerrors 制作团队 · 持续开发中,欢迎提交 Issue 与 PR


联系我们

邮箱:qichengeca@163.com

QQ:2020684510

About

An AI-assisted Minecraft server panel

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages