# Rebateshop 充值返点商城
Rebateshop 是为 Paper 服务器设计的人工收款与点券运营插件。玩家在游戏内选择充值礼包、查看收款码并提交订单,管理员根据微信或支付宝的实际收款消息进行核对。只有管理员确认到账后,插件才会发放点券和礼包奖励。
插件不接入微信、支付宝支付接口,不会自动判断收款是否到账,也不会保存支付密码、银行卡资料等支付凭据。它更适合希望自己管理收款、点券商城、主播推广和订单记录的服主。如果你需要支付平台自动回调或免签监控,本插件并不提供这类功能。
本资源为原创、付费、闭源插件。MineBBS 附件提供普通 JAR,不使用复杂代码混淆。
## 运行环境
| 项目 | 要求 |
| --- | --- |
| 服务端 | Paper 1.21.11 |
| Java | Java 21 或更高版本 |
| 数据库 | 必须使用 MySQL,建议为插件建立独立数据库与账号 |
| ItemsAdder | 可选(不支持ce);未安装时仍可使用原版物品和控制台命令奖励 |
| 网页后台 | 仅制作电脑版,手机访问时会提示使用电脑打开 |
| 正式部署 | 建议使用 HTTPS 域名和 Nginx 等反向代理 |
目前只在 Paper 1.21.11 上开发和测试,请勿将其当作 Spigot、Folia 或旧版本兼容插件使用。
## 充值流程
1. 玩家打开充值菜单并选择礼包。
2. 玩家阅读充值声明,确认未成年人限制、虚拟内容说明和礼包金额。
3. 玩家选择微信或支付宝,插件在游戏内显示服主配置的收款码。
4. 插件生成本次玩家订单号。玩家可以点击复制,并在付款后提交确认。
5. 管理员在网页后台录入实际收款,核对玩家订单、支付渠道、金额和支付订单号。
6. 管理员确认到账后,插件发放点券和本档礼包奖励。
创建订单后的付款窗口为 60 秒。玩家移动、传送、退出服务器、切换子服、主动取消或超时,订单会显示为“已取消未付款”。订单记录不会删除,玩家可在创建后的 3 天内从充值记录重新提交确认。
玩家提交订单不代表已经到账。插件不会仅凭玩家输入的订单号发放点券,管理员必须先录入实际收款,再执行确认。
## 递进充值礼包
插件首次启动后会生成:
```text
plugins/Rebateshop/recharge-packages/points.yml
```
默认配置包含从 6 元到 1280 元的十档点券礼包。玩家先购买 6 元档,成功后解锁下一档,按顺序逐档开放。每档礼包的额外点券和额外奖励只在该玩家第一次成功购买时生效,基础点券可重复获得。
管理员可以在网页或 `points.yml` 中修改礼包名称、价格、基础点券、首购额外点券、图标和额外奖励。额外奖励支持:
- 原版物品
- ItemsAdder 物品
- 控制台命令
玩家离线或背包空间不足时,可保存的物品会进入待领取箱。
## 点券商城
点券商城分为以下区域:
- 称号
- 会员
- 自定义内容
- 抽奖券
“抽奖券”仅是可配置的商城分类。Rebateshop 本身不提供随机开奖、现金抽奖、下注或兑现功能。
商城菜单可以设置为 9、18、27、36、45 或 54 格。管理员通过网页工作台编辑商品和装饰,调整槽位后先检查草稿,再预览和发布。商品支持库存、上下架状态,以及每名玩家独立计算的永久、每日、每周和每月限购。
购买时,插件会在同一个数据库事务中检查商品状态、库存、个人限购和玩家余额,避免多人同时购买最后一份库存,或重复请求导致多次扣款。
商品交付支持原版物品、ItemsAdder 物品和控制台命令。命令只使用服主在后台填写的本地配置,不从外部服务器下载或接收命令。
## 称号订单
内置三种默认称号商品:
- 文字称号:380 点券/月
- 2D 称号:680 点券/月
- 2D 特效称号:880 点券/月
价格、显示名称和说明可以在商城编辑器中修改。Rebateshop 不内置称号显示系统,服主需要配合自己已有的称号插件人工制作、发放和回收。
玩家可以续费已有称号,也可以购买新的定制名额。管理员填写实际发放日期后,插件记录 30 天期限;玩家可以在游戏内查看发放日、到期时间和剩余天数。称号到期时插件提醒管理员,由管理员在外部称号插件中人工回收。
## 主播邀请码与返点
每名主播只能拥有一个邀请码。玩家可以在游戏中绑定邀请码,管理员可为不同主播设置独立返点比例和首次绑定奖励。
主播拥有独立登录链接,只能查看自己的数据、订单和结算信息,不能修改绑定奖励或其他主播资料。主播可以验证当前密码后自行修改密码;忘记密码时由管理员在后台重置,并注销该主播已有登录会话。
主播数据中心可以查看新增绑定、成功充值玩家、订单金额、转化情况和礼包分布。周结算由系统生成,管理员确认实际付款后记录完成。冲正订单会同步修正点券和主播返点记录,但不代表支付平台退款。
## 管理员网页
管理员网页面向电脑浏览器,包含以下功能:
- 充值订单审核与实际收款对账
- 点券订单和点券流水
- 充值礼包管理
- 主播、邀请码、绑定奖励和数据中心
- 主播周结算与付款确认
- 商城分类、商品、库存和限购编辑
- 称号订单发放日期与到期管理
- 管理员点券调整
- 冲正订单、点券欠款和人工处理记录
- 操作日志、登录会话、系统状态和异常中心
网页后台不会替代支付平台。管理员需要根据自己的微信或支付宝收款消息核对订单。
## 安全与网络说明
- 默认网页监听地址为 `127.0.0.1`,不会直接监听所有公网网卡。
- 正式环境应通过 HTTPS 反向代理访问,不建议把后台端口直接暴露到公网。
- 首次管理员账号通过控制台输出的 30 分钟一次性链接创建。
- 密码使用 Argon2id 哈希保存,数据库中不保存明文密码。
- 登录 Cookie 使用 HttpOnly 和 SameSite,HTTPS 环境可启用 Secure。
- 修改数据的网页请求需要 Session 与 CSRF 校验。
- 管理操作、登录、收款确认和点券调整会写入审计记录。
- 插件没有遥测、自动更新、远程代码下载或远程命令下发功能。
- 插件只连接服主在配置文件中填写的 MySQL,并提供本机网页服务。
插件会把玩家 UUID、游戏名、订单、点券、绑定、结算和操作记录保存在服主自己的 MySQL 中。服务器运营者需要负责数据库权限、备份和玩家数据保护。
## 安装方法
1. 停止服务器,将 `rebateshop-1.18.0.jar` 放入主服的 `plugins` 文件夹。
2. 启动一次服务器。插件会自动创建 `plugins/Rebateshop`、`payment-images` 和 `recharge-packages`。
3. 为插件创建独立 MySQL 数据库和最小权限账号。
4. 修改 `plugins/Rebateshop/config.yml` 中的数据库、网页地址和 HTTPS Cookie 配置。
5. 将收款码分别保存为:
```text
plugins/Rebateshop/payment-images/wechat.png
plugins/Rebateshop/payment-images/alipay.png
```
6. 完整重启 Paper。首次连接数据库时,Flyway 会自动建立或升级表结构。
7. 从控制台复制 30 分钟有效的管理员初始化链接,在电脑浏览器中创建管理员。
8. 使用 Nginx 等反向代理配置 HTTPS 后,再开放网页访问。
升级前请同时备份 MySQL 数据库和整个 `plugins/Rebateshop` 文件夹。不要手动修改 `flyway_schema_history`,也不要使用第三方热重载插件验证数据库迁移。
## 玩家指令
```text
/商城
/商城 充值
/商城 充值记录
/商城 充值确认 <订单号>
/商城 充值取消
/商城 绑定邀请码 <邀请码>
/商城 邀请信息
/商城 点券
/商城 商品
/商城 称号
/商城 待领取
/商城 帮助
```
## 管理指令
```text
/商城 管理 状态
/商城 管理 重载
rebateshop status
rebateshop reload
```
`rebateshop status` 和 `rebateshop reload` 可在服务器控制台执行。
## 权限节点
| 权限 | 默认值 | 用途 |
| --- | --- | --- |
| `rechargeshop.use` | 所有玩家 | 使用商城基础功能 |
| `rechargeshop.admin` | OP | 使用状态与重载管理命令 |
网页管理员权限由插件自己的管理员账号控制,不使用 Minecraft OP 身份代替网页登录。
## 收费与使用说明
本资源通过 MineBBS 金粒出售,属于闭源 JAR。未经授权,请勿转载、转售或公开分发插件文件。
服务器使用本插件开展点券业务时,应遵守 Minecraft EULA、[Minecraft Usage Guidelines](https://www.minecraft.net/en-us/usage-guidelines) 和所在地法律。点券应只在当前服务器内使用,不得提现、跨服务器转移、兑换现实货币,也不得宣传为 Minecoins 或 Mojang 官方货币。
请勿使用本插件组织现金赌博、付费随机开奖或出售会破坏其他玩家体验的竞争优势。插件不提供自动退款或支付平台退款接口;发生支付争议时,服务器运营者应按照适用法律和已公开的交易规则处理。
Rebateshop 是为 Paper 服务器设计的人工收款与点券运营插件。玩家在游戏内选择充值礼包、查看收款码并提交订单,管理员根据微信或支付宝的实际收款消息进行核对。只有管理员确认到账后,插件才会发放点券和礼包奖励。
插件不接入微信、支付宝支付接口,不会自动判断收款是否到账,也不会保存支付密码、银行卡资料等支付凭据。它更适合希望自己管理收款、点券商城、主播推广和订单记录的服主。如果你需要支付平台自动回调或免签监控,本插件并不提供这类功能。
本资源为原创、付费、闭源插件。MineBBS 附件提供普通 JAR,不使用复杂代码混淆。
## 运行环境
| 项目 | 要求 |
| --- | --- |
| 服务端 | Paper 1.21.11 |
| Java | Java 21 或更高版本 |
| 数据库 | 必须使用 MySQL,建议为插件建立独立数据库与账号 |
| ItemsAdder | 可选(不支持ce);未安装时仍可使用原版物品和控制台命令奖励 |
| 网页后台 | 仅制作电脑版,手机访问时会提示使用电脑打开 |
| 正式部署 | 建议使用 HTTPS 域名和 Nginx 等反向代理 |
目前只在 Paper 1.21.11 上开发和测试,请勿将其当作 Spigot、Folia 或旧版本兼容插件使用。
## 充值流程
1. 玩家打开充值菜单并选择礼包。
2. 玩家阅读充值声明,确认未成年人限制、虚拟内容说明和礼包金额。
3. 玩家选择微信或支付宝,插件在游戏内显示服主配置的收款码。
4. 插件生成本次玩家订单号。玩家可以点击复制,并在付款后提交确认。
5. 管理员在网页后台录入实际收款,核对玩家订单、支付渠道、金额和支付订单号。
6. 管理员确认到账后,插件发放点券和本档礼包奖励。
创建订单后的付款窗口为 60 秒。玩家移动、传送、退出服务器、切换子服、主动取消或超时,订单会显示为“已取消未付款”。订单记录不会删除,玩家可在创建后的 3 天内从充值记录重新提交确认。
玩家提交订单不代表已经到账。插件不会仅凭玩家输入的订单号发放点券,管理员必须先录入实际收款,再执行确认。
## 递进充值礼包
插件首次启动后会生成:
```text
plugins/Rebateshop/recharge-packages/points.yml
```
默认配置包含从 6 元到 1280 元的十档点券礼包。玩家先购买 6 元档,成功后解锁下一档,按顺序逐档开放。每档礼包的额外点券和额外奖励只在该玩家第一次成功购买时生效,基础点券可重复获得。
管理员可以在网页或 `points.yml` 中修改礼包名称、价格、基础点券、首购额外点券、图标和额外奖励。额外奖励支持:
- 原版物品
- ItemsAdder 物品
- 控制台命令
玩家离线或背包空间不足时,可保存的物品会进入待领取箱。
## 点券商城
点券商城分为以下区域:
- 称号
- 会员
- 自定义内容
- 抽奖券
“抽奖券”仅是可配置的商城分类。Rebateshop 本身不提供随机开奖、现金抽奖、下注或兑现功能。
商城菜单可以设置为 9、18、27、36、45 或 54 格。管理员通过网页工作台编辑商品和装饰,调整槽位后先检查草稿,再预览和发布。商品支持库存、上下架状态,以及每名玩家独立计算的永久、每日、每周和每月限购。
购买时,插件会在同一个数据库事务中检查商品状态、库存、个人限购和玩家余额,避免多人同时购买最后一份库存,或重复请求导致多次扣款。
商品交付支持原版物品、ItemsAdder 物品和控制台命令。命令只使用服主在后台填写的本地配置,不从外部服务器下载或接收命令。
## 称号订单
内置三种默认称号商品:
- 文字称号:380 点券/月
- 2D 称号:680 点券/月
- 2D 特效称号:880 点券/月
价格、显示名称和说明可以在商城编辑器中修改。Rebateshop 不内置称号显示系统,服主需要配合自己已有的称号插件人工制作、发放和回收。
玩家可以续费已有称号,也可以购买新的定制名额。管理员填写实际发放日期后,插件记录 30 天期限;玩家可以在游戏内查看发放日、到期时间和剩余天数。称号到期时插件提醒管理员,由管理员在外部称号插件中人工回收。
## 主播邀请码与返点
每名主播只能拥有一个邀请码。玩家可以在游戏中绑定邀请码,管理员可为不同主播设置独立返点比例和首次绑定奖励。
主播拥有独立登录链接,只能查看自己的数据、订单和结算信息,不能修改绑定奖励或其他主播资料。主播可以验证当前密码后自行修改密码;忘记密码时由管理员在后台重置,并注销该主播已有登录会话。
主播数据中心可以查看新增绑定、成功充值玩家、订单金额、转化情况和礼包分布。周结算由系统生成,管理员确认实际付款后记录完成。冲正订单会同步修正点券和主播返点记录,但不代表支付平台退款。
## 管理员网页
管理员网页面向电脑浏览器,包含以下功能:
- 充值订单审核与实际收款对账
- 点券订单和点券流水
- 充值礼包管理
- 主播、邀请码、绑定奖励和数据中心
- 主播周结算与付款确认
- 商城分类、商品、库存和限购编辑
- 称号订单发放日期与到期管理
- 管理员点券调整
- 冲正订单、点券欠款和人工处理记录
- 操作日志、登录会话、系统状态和异常中心
网页后台不会替代支付平台。管理员需要根据自己的微信或支付宝收款消息核对订单。
## 安全与网络说明
- 默认网页监听地址为 `127.0.0.1`,不会直接监听所有公网网卡。
- 正式环境应通过 HTTPS 反向代理访问,不建议把后台端口直接暴露到公网。
- 首次管理员账号通过控制台输出的 30 分钟一次性链接创建。
- 密码使用 Argon2id 哈希保存,数据库中不保存明文密码。
- 登录 Cookie 使用 HttpOnly 和 SameSite,HTTPS 环境可启用 Secure。
- 修改数据的网页请求需要 Session 与 CSRF 校验。
- 管理操作、登录、收款确认和点券调整会写入审计记录。
- 插件没有遥测、自动更新、远程代码下载或远程命令下发功能。
- 插件只连接服主在配置文件中填写的 MySQL,并提供本机网页服务。
插件会把玩家 UUID、游戏名、订单、点券、绑定、结算和操作记录保存在服主自己的 MySQL 中。服务器运营者需要负责数据库权限、备份和玩家数据保护。
## 安装方法
1. 停止服务器,将 `rebateshop-1.18.0.jar` 放入主服的 `plugins` 文件夹。
2. 启动一次服务器。插件会自动创建 `plugins/Rebateshop`、`payment-images` 和 `recharge-packages`。
3. 为插件创建独立 MySQL 数据库和最小权限账号。
4. 修改 `plugins/Rebateshop/config.yml` 中的数据库、网页地址和 HTTPS Cookie 配置。
5. 将收款码分别保存为:
```text
plugins/Rebateshop/payment-images/wechat.png
plugins/Rebateshop/payment-images/alipay.png
```
6. 完整重启 Paper。首次连接数据库时,Flyway 会自动建立或升级表结构。
7. 从控制台复制 30 分钟有效的管理员初始化链接,在电脑浏览器中创建管理员。
8. 使用 Nginx 等反向代理配置 HTTPS 后,再开放网页访问。
升级前请同时备份 MySQL 数据库和整个 `plugins/Rebateshop` 文件夹。不要手动修改 `flyway_schema_history`,也不要使用第三方热重载插件验证数据库迁移。
## 玩家指令
```text
/商城
/商城 充值
/商城 充值记录
/商城 充值确认 <订单号>
/商城 充值取消
/商城 绑定邀请码 <邀请码>
/商城 邀请信息
/商城 点券
/商城 商品
/商城 称号
/商城 待领取
/商城 帮助
```
## 管理指令
```text
/商城 管理 状态
/商城 管理 重载
rebateshop status
rebateshop reload
```
`rebateshop status` 和 `rebateshop reload` 可在服务器控制台执行。
## 权限节点
| 权限 | 默认值 | 用途 |
| --- | --- | --- |
| `rechargeshop.use` | 所有玩家 | 使用商城基础功能 |
| `rechargeshop.admin` | OP | 使用状态与重载管理命令 |
网页管理员权限由插件自己的管理员账号控制,不使用 Minecraft OP 身份代替网页登录。
## 收费与使用说明
本资源通过 MineBBS 金粒出售,属于闭源 JAR。未经授权,请勿转载、转售或公开分发插件文件。
服务器使用本插件开展点券业务时,应遵守 Minecraft EULA、[Minecraft Usage Guidelines](https://www.minecraft.net/en-us/usage-guidelines) 和所在地法律。点券应只在当前服务器内使用,不得提现、跨服务器转移、兑换现实货币,也不得宣传为 Minecoins 或 Mojang 官方货币。
请勿使用本插件组织现金赌博、付费随机开奖或出售会破坏其他玩家体验的竞争优势。插件不提供自动退款或支付平台退款接口;发生支付争议时,服务器运营者应按照适用法律和已公开的交易规则处理。