Skip to content

Repository files navigation

MC 用户面板 MC User Panel

把 PaperMC 服务器上已有插件的数据,聚合成一个浏览器就能访问的统一门户。 单个 JAR 交付 —— 内嵌 Web 服务与前端资源,服务器上不需要 Node,也不需要 Nginx。


English

MC User Panel turns the data already held by your PaperMC plugins into a single web portal. It ships as one JAR with an embedded HTTP server and a pre-built Vue frontend — no Node.js, no reverse proxy, no extra process on the game server.

  • For players — passwordless login from in-game, personal stats, playtime, economy, land claims, inventory snapshots, build/break history, leaderboards, announcements, support tickets, redeem codes.
  • For admins — operations dashboard, player search, permission and punishment management, CoreProtect rollback, inventory rollback, announcements and content pages, rotating broadcasts, redeem-code issuing, entity cleanup, backup triggering, full audit log.
  • For visitors — a public landing page with server status, rules and announcements.

All 15 integrated plugins are softdepend. If one is missing, the matching feature is hidden and the panel still starts — it never brings the server down because a dependency is absent.

Requirements: PaperMC 1.21+ · Java 21 · SQLite (bundled) or MySQL/MariaDB. License: MIT.


功能

玩家端

模块 说明
免密登录 游戏内 /panel login 生成一次性链接,浏览器点开即登录,无需另设密码
个人总览 在线时长、登录记录、经济余额、领地方块、权限组
数据统计 挖掘 / 建造 / 移动 / 死亡等时间序列,ECharts 图表
背包快照 查看自己的背包、末影箱、装备
建造日志 基于 CoreProtect 的个人放置与破坏记录
排行榜 多维度排名
公告与内容页 服务器公告、活动、规则
工单 提交问题、跟进回复、邮件通知
卡密兑换 输入兑换码领取物品 / 权限组 / 金币 / 领地方块

管理端

运营总览 · 玩家检索与详情 · 权限与用户组变更 · 封禁禁言踢出 · 区域回滚与背包回滚 · 公告与内容页管理 · 轮播播报(聊天 / 动作栏 / 标题 / Boss 栏)· 卡密签发与作废 · 实体清理 · 备份触发 · 审计日志

权限按模块细分(mcpanel.admin.ticketmcpanel.admin.rollback …),可精确到人。

游客端

无需登录即可查看的服务器门面:在线状态、公告、规则页。


技术栈

选型
插件本体 Java 21 · PaperMC API 1.21
Web 服务 Javalin 6(内嵌 Jetty),随插件生命周期启停
数据库 HikariCP + SQLite(默认,零配置)/ MySQL·MariaDB(可选),版本化迁移
前端 Vue 3 + Vue Router + ECharts,Vite 构建
邮件 Angus Mail(工单通知)
测试 MockBukkit 4 + JUnit 5

前端构建产物直接输出到 src/main/resources/web/,由 Javalin 从 JAR 内的 classpath 提供服务, 最终交付物只有一个 JAR


集成的插件(全部软依赖)

插件 取用的能力
AuthMe 账号体系与登录态
LuckPerms 权限组读写
CoreProtect 方块日志、区域回滚
Vault / VaultUnlocked 经济接口
EssentialsX 经济、家、传送点、封禁禁言
GriefPrevention 领地与领地方块
PlaceholderAPI 变量解析(含 TAB 前后缀)
spark TPS、内存、性能采样
AnnouncerPlus 播报
ClearLag 实体清理
DriveBackupV2 备份触发
InventoryRollbackPlus 背包回滚
TAB 玩家前后缀(经 PlaceholderAPI 取,不直接依赖)

缺任何一个都不影响启动,对应功能模块自动隐藏。


构建

cd frontend && npm install && npm run build
./gradlew shadowJar

前端必须先构建(产物落到 src/main/resources/web/),再打 JAR。 产物在 build/libs/

前端开发模式(后端跑在 4537 端口,Vite 自动代理 /api/auth):

cd frontend && npm run dev

安装

  1. 把 JAR 丢进 plugins/,启动一次,生成 plugins/MCUserPanel/config.yml
  2. 按需修改配置(见下),/panel reloadconfig 热重载可变部分
  3. 玩家在游戏内输入 /panel login,点开链接即可使用

配置要点

config.yml 分为 web / database / auth / stats / inventory / ticket / mail / display / integrations 等段落。开箱即用,但上线前建议确认:

  • web.host web.port —— 监听地址与端口,公网暴露前请自行加反向代理与 HTTPS
  • database —— 默认 SQLite,切 MySQL 时填 host / username / password
  • mail —— 工单邮件通知,不填则该功能自动关闭
  • auth.login-token-minutes —— 一次性登录链接的有效期

⚠️ config.yml 会包含数据库与 SMTP 口令,不要提交到版本库。 仓库的 .gitignore 已排除 plugins/*.db


命令与权限

/panel               显示面板地址与使用说明
/panel login         生成一次性免密登录链接
/panel logout        注销本人在面板上的全部会话
/panel redeem <码>   兑换卡密
/panel status        查看运行状态与集成清单(管理员)
/panel reloadconfig  重载配置中可热更新的部分(管理员)

别名:/mcpanel/面板

权限 默认 说明
mcpanel.use 所有人 登录面板、查看本人数据、提交工单
mcpanel.admin.view OP 管理后台(只读)
mcpanel.admin.ticket OP 处理工单
mcpanel.admin.announcement OP 公告与内容页
mcpanel.admin.player OP 玩家检索与背包查看
mcpanel.admin.permission OP 权限与用户组
mcpanel.admin.punish OP 封禁 / 禁言 / 踢出
mcpanel.admin.rollback OP 日志查询与回滚
mcpanel.admin.ops OP 运维看板、实体清理、备份
mcpanel.admin.redeem OP 卡密签发
mcpanel.admin.audit OP 审计日志
mcpanel.admin.* OP 以上全部

建议用 LuckPerms 分配,不要直接给 OP。


文档


许可证

MIT © 2026 中软联信(北京)科技服务有限公司 · NoverixStudio · RickyQuan

About

MC 用户面板 · PaperMC 插件:把服务器上已有插件的数据聚合成浏览器可访问的统一门户。单 JAR 交付,内嵌 Javalin Web 服务与 Vue 3 前端,无需 Node 与反向代理。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages