Files
MC_Report/README.md

3.0 KiB
Raw Blame History

MC Report System

游戏玩家投诉建议申诉系统。支持 Web 端 + Paper 插件双端提交MySQL 存储JWT 鉴权,三级角色(服主/管理员/玩家)。

功能

模块 说明
举报 玩家举报违规行为,可指定目标玩家,上传截图/视频
建议 玩家提交改进建议
申诉 封禁申诉Web端+ 结果申诉(对处理不服)
接单制 管理员认领工单,一人一单,可转单
审批流 待处理→处理中→待补充→已解决/已驳回→关闭
投票 分组子服定时/不定时投票盲投制管理员1.5票权
更新内容 PCL风格功能投票按时间/热度排序,分组筛选
通知 SMTP邮件 + Discord Webhook 双通道
导出 CSV格式导出工单/被举报人/日志(服主专享)
插件 Paper 1.20+ 插件,游戏内注册/登录/举报/追踪

快速开始

# 安装依赖
npm install

# 启动
node backend/server.js
# → 访问 http://localhost:3100/#/install

安装向导两步完成MySQL 连接配置 → 创建服主账号。重启后自动加载业务路由。

技术栈

技术
后端 Node.js + Express + mysql2
前端 Vanilla JS SPA + Hash路由
数据库 MySQL 5.7+
认证 JWT256位随机密钥
安全 Helmet + Rate Limit + XSS + CSP
插件 Paper API 1.20.4 + java.net.HttpURLConnection

角色权限

操作 玩家 管理员 服主
提交工单
查看工单 自己 待处理+自己接的 全部
接单 举报/申诉 全部
处理工单 自己接的 全部
用户管理
系统设置
导出数据
投票管理

部署

# 生产环境变量
PORT=3100 CORS_ORIGIN=https://your-domain.com node backend/server.js

# PM2
pm2 start backend/server.js --name mc-report

# Nginx 反代
# include nginx.inc;

目录

├── backend/
│   ├── server.js          # Express入口
│   ├── db.js              # MySQL连接池 + 建表
│   ├── mailer.js          # SMTP邮件
│   ├── captcha.js         # SVG验证码
│   ├── webhook.js         # Discord Webhook
│   ├── middleware/
│   │   ├── auth.js        # JWT认证
│   │   ├── security.js    # 限速+XSS+APIKey
│   │   └── upload.js      # 文件上传安全
│   └── routes/
│       ├── auth.js        # 注册/登录
│       ├── tickets.js     # 工单核心
│       ├── install.js     # 安装向导
│       ├── external.js    # 外部API(插件用)
│       └── ...            # 其他路由
├── public/                # 前端SPA
├── mc-report-plugin/      # Paper 1.20+ 插件
├── nginx.inc              # Nginx额外配置
└── data/                  # 运行时数据