PF-MCDR-WebUI
为 MCDR 开发的在线 WebUI 插件
Note
由于 GUGUbot 和 WebUI 项目庞大,但迄今为止仅有开发者一名,所以我们从现在开始招募有志者加入我们!
有意者请加 QQ1377820366 或 QQ群726741344
插件说明
WebUI 文档:WebUI 文档
演示站
Note
演示站地址: https://looseprince.github.io/PF-MCDR-WebUI/
重要说明: 该演示站仅为UI界面和功能演示,没有实际功能。所有操作均为模拟演示,不会对真实的MCDR服务器产生任何影响。如需体验完整功能,请按照下方说明安装到您的MCDR服务器中。
主要功能
为MCDR提供一个
在线WebUI管理界面
和MCDR插件管理
及表单配置功能
(可选使用在线编辑器)。
pip包管理
本地插件管理
- 列出全部插件
- 一键更新
- 启动插件
- 停止插件
- 重载插件
- 切换插件版本(第三方仓库于1.4.3起支持)
- 插件配置文件的在线编辑器
- 插件配置文件的在线表单
表单配置功能
- 配置修改: 使用在线表单 或 在线编辑器进行配置文件的修改(在
所有插件
选项卡处修改)。 - 支持的配置:
yaml
、json
、html
服务器终端
- 提供服务器命令执行界面
- 支持RCON实时反馈和命令历史记录。
AI辅助
- 终端集成DeepSeek AI接口
- 支持日志分析和问题解答,减少您的反复横跳。
主题切换
- 支持
浅色主题
、深色主题
,默认为浅色,您可以在右上角切换显示模式
在线插件安装仓库
- 提供一个插件安装管理器
- 插件搜索、安装、卸载、更新、查看插件信息。
- 多仓库支持,您可以添加多个仓库,并选择不同的仓库进行插件安装,不过请您注意风险。(v1.3.4)
公开聊天页
- 提供一个页面,这样页面会与游戏中的聊天消息同步,并且可以发送消息到游戏内
- 需要独立登录,与后端管理登录不互通
- 端点:
/chat
- 想要使用此功能需要启用
public_chat_enabled
项
公开聊天页玩家使用流程
- 访问
/chat
页面 - 生成验证码(第一次)
- 在游戏内发送
!!webui verify <验证码>
- 回到网页设置密码(设置完会自动登录)
- 使用
游戏ID+密码
直接登录(设置完密码后)
修改密码直接走第一次的流程使用验证码即可重新设置密码
Important
关于数据: 重载 本插件 会 自动更新 guguwebui_static
文件夹中的内容,如果您修改过内部的文件请自行保存,以防您的数据丢失。
Important
关于V1.3.0版本: 本项目于v1.3.0版本重构前端,如您是从v1.3.0版本之前升级的,请删除 guguwebui_static
文件夹中的内容,保留 db.json
即可。
依赖配置
Python 依赖
在v1.4.0起WebUI将自行处理python依赖,在1.4.0前可参考 requirements.txt 文件,使用命令 pip install -r requirements.txt
进行安装。
前置插件
PIM 插件,已内置 WebUI,如有需要可以在设置页面将其安装到外部,以为其他可能需要的插件提供帮助。
插件兼容性支持
WebUI 对以下插件提供特殊支持,以增强功能体验(v1.6.2,非必须):
-
player_ip_logger
:当检测到player_ip_logger
插件时,WebUI 的在线玩家列表会自动集成其玩家验证功能,并显示假人状态 -
fastapi_mcdr
:当检测到fastapi_mcdr
插件时,WebUI 会自动挂载为其子应用 当检测到fastapi_mcdr
插件卸载时,WebUI 会自动切换到独立服务器模式,需要重新启动WebUI才会重新挂载到fastapi_mcdr
的子应用
使用方式
目前未对接 GUGUbot 账号系统;当账号为 QQ 号时会显示 QQ 头像和昵称作为管理员名称和头像。
创建账户
!!webui create <username> <password>
更改密码
!!webui change <username> <old password> <newpassword>
临时密码
!!webui temp
Q&A 问答
Q: 为什么要开发这个插件?
A: 因为我乐意。
Q: 会支持MC服务器管理的功能吗?如模组管理、玩家管理、白名单等等……
A: 并不会深入涉及管理MC服务器,如有这方面的需求请查询MC服务器面板,仅可能会支持很小一部分,例如终端、重启服务器,更多的不在我们的范畴中。
Q: 可以加入开发吗?
A: 当然可以,您可以提交 pr 或者参与交流来参与开发。
Q: 会支持我的语言吗?
A: 我只会中文,你要是愿意可以参与,目前已有中文(zh-CN)和英文(en-US),在 lang文件夹。
Q: 为什么有私货(有未使用的插件,如gugubot等)?
A: 因为这就是为它所开发(虽然GUGUbot的配置一直不完善[doge])。
Q: 如何获取实时最新版?
A: 前往 Releases页面 下载最新的预发布版本(Pre-release),这些版本会在每次代码更新后自动生成。或者你也可以自己打包src
中的文件到zip
,修改后缀为.mcdr
。
Q: 我有个插件,我觉得很适合WebUI,可以作为WebUI的前置吗?
A: WebUI不打算使用任何插件前置,如果有好的方案我们会考虑直接加入WebUI并在关于页感谢贡献。
Q: PIM插件 是什么?
A: PIM插件 是WebUI的插件安装管理器,它可以帮助您安装、卸载、更新插件,并且可以查看插件信息。
Q: 对于开发者如何提供配置文件以支持多语言(中文、英文等)描述?
A: 查看 插件兼容 文档。
功能开发
事件系统
Note
本功能尚处于测试开发阶段,可能会随时更新,请注意本文档的更新情况。
- 为WebUI的聊天消息提供事件分发机制
- 其他MCDR插件可以监听
webui.chat_message_sent
和webui.message_received
事件 - 发送消息到WebUI
send_message_to_webui
函数 - 详细文档请参考 WebUI事件系统文档
- 示例插件请参考 examples/ 目录
示例图
截图来源v1.3.4本地测试(部分未改动截图为v1.3.0)
登录页
仪表盘
MCDR配置
MC服务器配置
本地插件
插件配置
插件仓库
插件安装
终端
AI分析
设置
浅色模式
公开聊天页登录(1.6.0新增)
公开聊天页
TODO
有BUG或是新的IDEA
如果需要更多联动或提交想法和问题请提交 issues 或 QQ 树梢 (1377820366) 提交!
如需要帮助或者交流请通过 QQ群 726741344 进行询问或者交流
视情况添加,请勿联系他人。
贡献
贡献人 | 说明 |
---|---|
树梢 (LoosePrince) | 功能设计、文档编写、Web设计、前端编写 |
雪开 (XueK66) | 代码开发、维护、功能设计 |
贡献项目 | 功能 | 备注 |
---|---|---|
Ace Editor | 在线编辑器 | 已不再使用 |
CodeMirror | 在线编辑器 | 目前使用 |
MC-Server-Info | Python Minecraft 服务器信息查询 | 仓库被作者删除 |
DeepSeek AI | AI辅助功能接口支持 | |
Vditor | Markdown编辑器 | |
TailwindCSS | CSS框架 | |
Alpine.js | JS框架 | |
Font Awesome | 图标库 |
特别鸣谢 | 说明 |
---|---|
反馈者 | 感谢你们的反馈 |
ChatGPT | ChatGPT协助编写 |
Cursor | Cursor协助编写 |
介绍文本来源:src/../README.md