• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
一个允许玩家创建属于自己的银行的插件+股票+贷款

原创 工具 一个允许玩家创建属于自己的银行的插件+股票+贷款 3.1.0

请登录后获取
# BankSystem v3.1.0 更新日志

发布日期:2026-08-15

> 本版本的银行、信用、贷款、股票与风控均为 Minecraft 游戏内玩法,不连接现实金融服务。

## 版本与构建

v3.1.0 包含三组连续更新:百分比准备金与实体卡补领、银行卡账户与信用体系、网页控制台与外部 API/PHP 面板。

- `BankSystem-3.1.0-paper-1.21.jar`:Paper 1.21.x,Java 21+
- `BankSystem-3.1.0-paper-26.x.jar`:Paper 26.x / Folia,按服务端要求运行 Java 25
- `BankSystem-ExternalPhpPanel-3.1.0.zip`:PHP 8.1+ 独立面板
- 运行依赖 Vault 与任意兼容 Vault 的经济插件;两个 BankSystem jar 只能安装一个。

## 百分比准备金与实体卡补领

- 每家银行新增独立“百分比准备金”开关,银行主可在管理 GUI 切换。
- 开启后,普通存款和定期存款仅将 5% 计入准备金;取款按相同比例减少准备金。关闭后恢复全额计算。
- 注入/提取准备金、贷款、还款和利息结算保持原有规则。
- 数据库自动补充 `banks.percent_reserve_enabled`;已有银行默认关闭,升级不会改变既有规则。
- 已领实体银行卡新增“银行卡丢失重新领取”。补领会轮换卡片授权令牌,旧实体卡立即失效。

## 银行卡账户、转账与信用卡

- 实体卡领取时创建独立银行卡账户并生成唯一 16 位卡号。
- 新增银行卡中心,展示每张卡的银行、卡号、存款、信用卡状态、额度和信用分。
- 支持按卡号跨银行转账;来源扣款与目标入账使用数据库事务,错误时回滚。
- 风控账户不能发起转账,也不能作为转账接收账户。
- 新增信用卡开通和还款。默认门槛信用分为 300,默认额度公式为 `100 + (信用分 - 300) x 2`,均可在配置中修改。
- 转账存款不足时可使用未占用信用额度;信用卡还款从 Vault 游戏余额扣除。

## 网页控制台与游戏内授权

- 内置网页面板升级为登录、等待授权和多页面控制台,而非单页概览。
- 登录采用游戏内 6 位授权码,玩家在 60 秒内执行 `/bank web approve <授权码>` 或 `/bank web deny <授权码>`。
- 新增浅色/深色主题、页面过渡,以及银行、贷款与定期、银行卡、股票、管理员页面。
- 玩家可直接在网页完成存取款、建行、贷款申请/还款、定期、领卡/补领、转账、信用卡、股票交易和分红。
- OP 网页控制台可设置信用分、解除风控、触发利息结算、调整利率和准备金,并可修改网站标题、登录标题、强调色与两个页面底部自定义 HTML。
- 所有管理动作由服务端再次验证 OP 状态,前端隐藏不是唯一防线。
- 修复网页请求缺失参数时触发 `ConcurrentHashMap` 空键异常的问题。

## 外部 API 与 PHP 面板

- 新增独立的 `external-api` 服务,默认端口 `8090`,可与内置网页面板分开启停。
- 支持只开启 API、关闭内置 `8088` 网页端口;但 API 仍依赖正在运行的 Minecraft 服务端和插件。
- API 提供健康检查、游戏内授权请求/状态、账户资料和动作执行接口。
- API key 在首次启用且为空时自动生成并保存到服务端 `config.yml`;玩家请求同时需要短期 Bearer 会话。
- 为授权请求增加来源地址限速,响应增加禁止缓存和 `nosniff` 头。
- 提供 PHP 8.1+ 独立面板源码和部署包,首次访问强制进行 API 配置,密钥只保存于 PHP 服务端 `config.php`。
- PHP 面板现与内置控制台对齐:总览、银行、贷款与定期、银行卡、股票和管理员页面均可直接执行对应操作。
- 内置网页、外部 PHP 页面以及 CSS/JS 静态资源均禁止浏览器缓存;升级外部面板时覆盖上传完整目录即可生效。
- 外部网页与 API 面向玩家的错误提示已统一中文化。

## 兼容性与注意事项

- Paper 1.21.x 与 Paper 26.x/Folia 分别构建,避免 Java 25 class 文件导致旧版 Paper 重映射失败。
- `plugin.yml` 保持 Vault 硬依赖,缺少 Vault 时插件不会加载。
- 网页/API 对公网使用前必须配置 HTTPS 反向代理、访问控制和防火墙;不建议直接公开 HTTP 或 API 密钥。
- IP 风控开关目前是预留配置,不会执行现实身份或 IP 封禁逻辑。
百分比准备金

- 新增每家银行独立的“百分比准备金”开关。
- 银行行长可在银行管理 GUI 中点击 `百分比准备金` 开启或关闭。
- 开启后,普通存款和定期存款只有金额的 `5%` 计入准备金。
- 关闭后恢复旧逻辑,玩家存款全额计入准备金。
- 玩家取款时会按对应的 `5%` 准备金比例扣除。
- 手动注入准备金、贷款发放、贷款还款和利息支付不受该开关影响。
- 旧数据库会自动新增 `percent_reserve_enabled` 字段,旧银行默认关闭该功能。
修复已知问题
# TianLai BankSystem v3.0.0 完整更新日志

发布日期:2026-07-03
构建产物:`BankSystem-3.0.0.jar`
适配环境:Paper `26.2.build.36-alpha`
Java 要求:Java 25

---

## 1. 版本与环境适配

- 插件版本升级为 `3.0.0`。
- `pom.xml` 与 `plugin.yml` 版本号同步为 `3.0.0`。
- Paper API 适配目标调整为 `26.2.build.36-alpha`。
- Java 构建目标调整为 Java 25。
- 当前编译产物为 `target/BankSystem-3.0.0.jar`。

---

## 2. `/bank gui` 主界面调整

- `/bank gui` 仍保持银行主页面,不改成风控页面。
- 银行 GUI 倒数第二行新增贷款快捷入口。
- 银行 GUI 倒数第二行新增股票快捷入口。
- 银行 GUI 倒数第二行新增风控入口。
- 风控入口用于查看已风控玩家,也用于风控玩家进入打工还债和社区评价页面。

---

## 3. 贷款逾期风控系统

- 新增贷款严重逾期检测。
- 逾期玩家上线后,系统会触发全服红色警报广播。
- 逾期玩家上线后进入死线倒计时,默认 `30` 秒。
- 倒计时期间公屏会实时广播剩余时间。
- 违约玩家屏幕中央会显示醒目的红字倒计时。
- 倒计时归零后,系统会强制执行风控。
- 风控后玩家贷款功能被禁用。
- 风控后玩家银行卡进入冻结状态。
- 风控后系统会广播违约执行结果。

---

## 4. 信用分系统

- 玩家初始信用分改为 `300`。
- 低于 `risk-control.min-credit-score` 自动风控,默认阈值为 `200`。
- 高于 `risk-control.min-credit-score` 自动解除风控。
- 提前还款每提前 1 天增加 5 点信用分。
- 逾期每延后 1 天扣除 15 点信用分。
- 逾期还清后不额外补加信用分。
- 旧版未风控且默认 `100` 信用分玩家会自动迁移到 `300`,避免升级后误风控。
- 信用分上限当前限制为 `1000`。

---

## 5. 银行冻结规则

当银行主被风控时,其名下银行进入冻结状态:

- 银行不可继续接收存款。
- 银行不可继续发放贷款。
- 银行停止发放利息。
- 银行主不可继续修改部分银行设置。
- 已有储户仍可取款,避免玩家资金被锁死。
- 银行主解除风控后,其名下银行自动恢复使用。

---

## 6. 冻结状态显示修复

- 修复冻结银行仍显示“活跃”的问题。
- 银行列表 GUI 会显示“已冻结(银行主被风控)”。
- 银行详情 GUI 会显示“已冻结(银行主被风控)”。
- 银行管理 GUI 会显示“已冻结(银行主被风控)”。
- 管理员银行列表会显示“已冻结”。

---

## 7. 管理员风控命令

新增管理员命令:

```bash
/bankadmin release <玩家名>
```

功能:
- 手动解除指定玩家风控。
- 恢复玩家银行卡和名下银行状态。
- 如果玩家信用分低于或等于风控阈值,自动提高到阈值以上,避免立即再次风控。

```bash
/bankadmin setcredit <玩家名> <信用分>
```

功能:
- 手动设置指定玩家信用分。
- 设置后立即触发信用分策略。
- 低于阈值自动风控。
- 高于阈值自动解禁。

---

## 8. 打工还债系统

- 新增打工还债 GUI。
- 风控玩家可通过 `/bank gui` 的风控入口进入打工还债页面。
- 玩家可选择打工还债或社区评价。
- 打工还债提交砖块可恢复信用分。
- 每提交 1 块 `BRICKS` 增加 1 点信用分。
- 达到 `risk-control.work-repay-release-credit` 后解除风控,默认 `201`。
- 打工还债解除风控只针对已经处于风控状态的玩家。

---

## 9. 打工还债区域创建流程

新增管理员权杖命令:

```bash
/bankadmin wand
/bankadmin workwand
```

权杖操作方式:
- 左键方块:设置打工还债区域角点一。
- 右键方块:设置打工还债区域角点二。
- 潜行左键:设置砖块回收点一。
- 潜行右键:设置砖块回收点二。

新增确认创建命令:

```bash
/bankadmin workcreate
```

说明:
- 四个点设置完成后,必须执行该命令才会正式启用打工还债区域。
- 只选点不会立即启用区域,减少误操作。

---

## 10. 打工还债区域进入提示

- 风控玩家进入已启用的打工还债区域后,会收到聊天提示。
- 风控玩家进入打工还债区域后,会显示屏幕标题提示。
- 提示内容会说明需要将砖块带到回收点右键提交。
- 系统会记录玩家是否已在区域内,避免移动时重复刷屏。

---

## 11. 逾期欠款与打工还债限制

新增限制:有逾期欠款时不能进行打工还债。

拦截位置:
- 点击打工还债按钮时检查逾期欠款。
- 进入打工还债区域时检查逾期欠款。
- 在回收点提交砖块时检查逾期欠款。

规则说明:
- 玩家必须先还清逾期贷款。
- 还清后才可以通过打工还债恢复信用分。
- 打工还债不能替代还款。

---

## 12. 社区评价系统

- 新增社区评价 GUI。
- 风控玩家可发起社区评价。
- 其他玩家可通过风控入口进入评价页面。
- 默认需要 `3` 位玩家满意评价才能解除风控。
- 配置项:`risk-control.community-service-required-votes`。

---

## 13. 风控名单展示

- 银行 GUI 中新增风控名单入口。
- 鼠标悬停风控入口可查看已风控玩家数量和名单摘要。
- 其他玩家可看到当前被风控的玩家。
- 风控名单按风控时间展示。

---

## 14. 配置项变更

新增或调整的主要配置:

```yaml
risk-control:
min-credit-score: 200
countdown-seconds: 30
early-repay-credit-per-day: 5
overdue-penalty-per-day: 15
ip-check-enabled: false
work-repay-release-credit: 201
community-service-required-votes: 3
```

说明:
- `min-credit-score`:低于该值自动风控,高于该值自动解禁。
- `countdown-seconds`:逾期玩家上线后的风控倒计时秒数。
- `early-repay-credit-per-day`:提前还款每日加分。
- `overdue-penalty-per-day`:逾期每日扣分。
- `ip-check-enabled`:预留 IP 检测开关。
- `work-repay-release-credit`:打工还债解除风控所需信用分。
- `community-service-required-votes`:社区评价满意评价数量。

---

## 15. 性能与稳定性

- 优化 Vault 取款流程,减少一次重复余额查询。
- 降低外部经济插件同步 SQLite 查询造成主线程卡顿的概率。
- 注意:如果经济插件自身仍在主线程同步读写 SQLite,仍可能造成服务器卡顿,建议优化经济插件或切换更稳定的数据后端。


最后更新:2026-07-03
性能优化
修复新版本存款取款容易卡死的bug
  • 🔌 对外 API:BankSystemAPI 供其他插件调用
修复了一些问题
### 📧 邮件通知系统
请注意:此功能为可选功能,需要加入前置插件xvmail
- ✅ **xvmail集成**:支持游戏内邮件和真实邮件通知
- ✅ **贷款通知**:申请成功、到期提醒、逾期警告、还款确认
- ✅ **利息通知**:定期利息结算通知
- ✅ **存款通知**:定期存款到期提醒
- ✅ **银行通知**:违约警告、银行清算通知
- ✅ **股票通知**:交易成功、股息分红
- ✅ **可配置**:每种通知类型可单独开关
如果您在服务器上看不到这段配置,可能的原因是:

  1. 使用的是旧版本 config.yml - 插件首次运行后,配置文件已存在,不会自动更新
  2. 需要手动添加 - 您可以将下面的配置复制到服务器上的 plugins/BankSystem/config.yml 文件末尾
  3. 代码:
    # 邮件通知配置(需要 xvmail 插件)
    mail-notifications:
      # 贷款相关通知
      loan-approval:
        enabled: true  # 贷款申请成功通知
      loan-due-reminder:
        enabled: true  # 贷款即将到期提醒
      loan-overdue:
        enabled: true  # 贷款逾期通知
      loan-repayment:
        enabled: true  # 还款成功通知
      loan-cleared:
        enabled: true  # 贷款已还清通知
      # 利息结算通知
      interest-settlement:
        enabled: true  # 利息结算通知
      # 定期存款通知
      fixed-deposit-maturity:
        enabled: true  # 定期存款到期通知
      fixed-deposit-reminder:
        enabled: true  # 定期存款即将到期提醒
      # 银行相关通知
      bank-default:
        enabled: true  # 银行违约通知
      bank-liquidation:
        enabled: true  # 银行清算通知
      # 股票相关通知
      stock-trade:
        enabled: true  # 股票交易通知
      stock-dividend:
        enabled: true  # 股息分红通知
解决方案:

  • 方法1:手动将上述配置添加到服务器的 config.yml 文件中
  • 方法2:删除服务器上的 config.yml 文件,重启服务器让插件重新生成
- **玩家贷款管理GUI**:玩家可通过GUI界面管理所有贷款操作
- 贷款管理主界面:查看所有贷款列表、统计信息
- 贷款详情界面:查看贷款详细信息、还款操作
- 银行选择界面:选择贷款银行、查看贷款条件
- 贷款申请界面:输入金额、选择期限、计算利息
- 命令:`/bank loan gui`
后退
顶部 底部