PCH System

材料协作收集与项目进度管理,联动 Web 后台

工具
信息

一键安装指令

!!MCDR plugin install pch_system

作者

数据同步于

...

上次更新

...

最新版本

总下载量

9

返回插件仓库

HTCMC Project Contribution & Honor System

面向白名单生电社区服的项目制工程贡献与荣誉体系。把「工程项目协作 + 积分激励」搬进 Minecraft:玩家在游戏里协作完成工程项目,系统跟踪每位参与者的贡献,完结后归档沉淀,(将来)按贡献结算积分与称号。流程全自动。

⚠️ 仍在开发中:当前已交付项目协作 / 归档 / 通知 / 一键部署;积分、称号等核心玩法尚未落地。见开发状态


功能特性

特性

  • 后端分离:游戏内端与后端完全分离(不强制绑定MCDR),后端可独立部署,游戏内端仅作为客户端。由于前后端分离,在未来可以甚至实现以下功能:
    • 跨服务器同步数据:多个服务器的 MCDR 指向同一个后端,无缝同步
    • 更好的多平台支持:由于后端所有操作由 FASTAPI 封装,你可以以很少的代码完成其他平台的开发(如fabric,forge,neoforge,的客户端开发,或者 Bukkit、Spigot等平台的开发)
    • 不强制依赖 MCDR:由于前后端分离,你甚至可以在服主不添加该插件的前提下进行部署,如 2b2t 等无政府服务器等的组织备货
  • 独立前端:提供独立的 Web 前端,玩家可在 Web 端查看项目进度、编辑材料清单、上传投影 / 蓝图等。可以在不进入游戏的情况系进行查看进度以及协作。同时也支持在MCDR 服务或服务器重启的时候挂掉的时候也提供相关服务
  • 兼容性强:基于MCDR的强大兼容性,可以在几乎所有的我的世界版本上面运行

功能(已实现)

  • 游戏内登录后台!!PCH login 一键生成登录链接,点击直接进入 web 页面方便操作
  • 项目协作(在线表格):完整的项目材料清单协作——认领材料、多人累计上交、交付确认、打回返工、解除锁定,Web 端与游戏端对等操作
    • 一键提交:支持一键扫描背包(支持潜影盒内物品)上报进度。
    • 投影 / 蓝图一键建表:上传 .litematic 投影或机械动力 .nbt 蓝图,自动解析方块、翻译成中文名、生成材料清单(支持原版与 Create 模组物品)(仅 web 端支持)
    • 子物品:一键通过倍数(支持小数)来直接生成子一级的合成物品的清单
    • 快捷命令:游戏内大量命令已经通过可点击的方式来达到便携化,尽可能的减少手打命令的状况
    • 智能数量换算:自动将数量换算成可读性更高的 个/组/盒 (正在考虑加入箱盒)
    • 游戏内快速读取手持 registry-id 直接更改所需的物品 id,新增物品,去除手打物品 id 的苦恼
    • Web 端行编辑:在线编辑材料行(名称 / 数量 / registry-id),与游戏端操作对等
  • 项目归档:项目完结自动生成归档文档 + 贡献占比饼图,精确记录每位参与者的贡献
  • 通知投递:认领 / 交付 / 打回 / 项目状况变化 / 上交等事件游戏内自动通知,离线期间的通知上线补推

一览

规划中(尚未实现)

  • 积分体系:提供统一积分层,管理相关内容
    • 提供统一积分入账层
    • 提供统一积分出账层
    • 提供积分排行榜
    • 完善项目归档自动结算积分
  • 指数增长称号:积分达标自动解锁,聊天前缀差异化,高阶全服公告
  • 项目协作(施工阶段):真正校验建造放置(当前施工阶段为占位)
    • 提供实时的计分板进度显示
  • Wiki 归档同步:归档内容双向同步到 wiki.js
    • 项目权限继承:将项目拥有者,admin,自动拥有该篇归档 wiki 的编辑权限

部署

一键脚本(推荐)

面向服主,一条命令完成 Docker 安装、国内网络镜像自适应、配置生成、起服务、数据库迁移、前端构建、pch_system 插件部署与 token 双写:

git clone https://github.com/YuShenLiu06/PCHSystem.git
cd PCHSystem
bash Scripts/install.sh    # 首次安装(交互式,幂等)
bash Scripts/update.sh     # 之后日常更新

完整选项(镜像策略、排错、密钥轮换、禁用前端容器等)见 Scripts/README.md

手动(docker compose)

cp .env.example .env       # 按需改密钥
docker compose up -d       # 起 postgres + backend + web(前端默认由 web 容器托管)
curl http://localhost:8000/healthz

.envCOMPOSE_PROFILES=web 默认启用前端 web 容器(nginx 托管 dist + 反代 /api);清空即禁用,改由自有 nginx 托管。详见 Docs/RUNBOOK.md

本项目不含 Minecraft 服务端:MCDReforged 由你持有,插件经 HTTP 与后端通信。MCDR 插件本身的部署见 McdrPlugin/README.md


架构

三端分离:后端(FastAPI + PostgreSQL) 是唯一数据拥有者;Web 端(Vue3) 是浏览器后台;游戏端(MCDR 插件) 是纯客户端,不直连数据库,只经 HTTP 与后端通信。前端默认由 compose 的 web 容器(nginx)托管。

architecture

完整架构图、ADR、跨服务流程见 Docs/architecture.md


开发状态

状态模块
✅ 已交付登录鉴权、项目协作(在线表格)、投影 / 蓝图解析、材料上交、项目归档、通知投递、一键部署
🚧 规划中积分结算、指数称号、施工方块检测、Wiki 同步、风控告警

详见 TODO.mdCHANGELOG.md


开发与贡献

提 PR 前请先读 CONTRIBUTING.mdCLAUDE.md §3 红线;涉及 MCDR 的改动须先联网核实 API(根 CLAUDE.md §0 S-1)。

介绍文本来源:McdrPlugin/../README.md