- 版权类型
- 原创
- 插件中文名称
- 玩家银行+股票
- 插件英文名称
- BankSystem-3.0.0.jar
- 原帖地址
- #
- 支持的核心(服务端)
- Paper
- 语言支持
- 中文(简体)
- 前置组件
- 必须: Vault 或经济插件(如 EssentialsX Economy)
可选:xvmail
- 适配版本(Java)
- 26.x
- 1.21
# 【插件发布】TianLai BankSystem v3.0.0 - 银行 / 股票 / 贷款 / 风控 / 打工还债一体化经济系统
> 一套适合 RPG、生存、城镇、商业服使用的 Minecraft 银行经济插件。它不只是“存钱取钱”,而是把玩家银行、股票市场、贷款系统、信用分、逾期风控、银行冻结、打工还债和社区服务整合到一套完整经济玩法里。
---
## 这个插件适合什么服务器
如果你的服务器希望经济系统不只是一个 `/money` 数字,而是让玩家围绕资金做经营、借贷、投资和信用管理,这个插件会更合适。
它适合:
- 生存服:让玩家创建银行、吸收存款、发放利息。
- 城镇服:把银行和公司作为玩家组织经营内容。
- RPG 服:通过贷款、信用分、风控、打工还债形成经济剧情。
- 商业服:用股票市场、财报、股息和限价单增加长期玩法。
- 混合服:Java 与基岩玩家可配合 Floodgate 使用。
---
核心卖点
1. 玩家可创建自己的银行
玩家可以创建银行,设置利率、手续费、准备金和结算模式。储户可以自由选择银行存款,银行主则需要负责准备金和利息支付。
支持:
- 创建银行
- 存款、取款
- 利息结算
- 准备金管理
- 手续费收益
- 银行排行榜
- 违约清算
- 银行主 GUI 管理
银行不是摆设,银行主经营不善会影响储户信任,甚至可能被清算。
---
2. 股票市场系统
插件内置股票市场,玩家可以创建公司、发行股票、买入卖出、查看持仓和价格走势。
支持:
- 公司创建
- 股票发行
- 股票买卖
- 持仓管理
- 股息分红
- 限价单交易
- 公司财报
- 价格历史
- 股票 GUI
适合希望让玩家之间产生长期经济互动的服务器。
---
3. 贷款系统
银行主可以向玩家开放贷款业务。玩家可申请贷款,按期限偿还。贷款利率、期限和最大贷款比例都可由银行主配置。
支持:
- 玩家申请贷款
- 部分还款
- 全额还款
- 贷款详情 GUI
- 银行主贷款参数配置
- 贷款逾期检测
贷款不是免费资金,逾期会进入信用和风控流程。
---
4. 信用分与风控系统(v3.0.0新增的功能)
v3.0.0 新增完整信用分规则:
- 玩家初始信用分:`300`
- 低于 `200` 自动风控
- 高于 `200` 自动解禁
- 提前还款:每提前 1 天 +5 分
- 逾期还款:每延后 1 天 -15 分
- 逾期还清后不补加信用分
逾期严重的玩家上线后会触发全服红色警报,进入倒计时。倒计时结束后,系统会自动执行风控。
风控效果:
- 禁止贷款
- 冻结银行卡
- 名下银行进入冻结状态
- 全服广播违约结果
- 风控名单在银行 GUI 中展示
---
5. 银行冻结机制
如果银行主被风控,其名下银行会进入冻结状态。
冻结后:
- 不能继续接收存款
- 不能继续发放贷款
- 停止发放利息 银行 GUI 显示“已冻结(银行主被风控)”
- 已有储户仍可取款
这个规则避免被风控玩家继续通过银行吸收资金,同时保护储户已有资金的取款权。
---
### 6. 打工还债与社区评价(v3.0.0更新内容)
风控玩家还清逾期欠款后,可以通过打工还债或社区服务恢复信用。
打工还债:
- 管理员设置打工还债区域和砖块回收点
- 风控玩家进入区域会收到提示
- 提交 1 块砖增加 1 点信用分
- 达到 `201` 信用分后解除风控
社区评价:
- 风控玩家发起社区服务评价
- 其他玩家可进行满意评价
- 默认 3 位玩家满意后解除风控
重要规则:
- 有逾期欠款时不能打工还债
- 必须先还清逾期贷款
- 打工还债只用于恢复信用,不替代还款
### 7.
百分比准备金与实体卡补领
- 每家银行新增独立“百分比准备金”开关,银行主可在管理 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 面向玩家的错误提示已统一中文化。
使用文档:
请注意:
代码:
BankSystem-ExternalPhpPanel-3.1.0.zip
[MD] # BankSystem v3.1.0 完整使用教程 > BankSystem 是 Minecraft 服务器内的经济玩法插件。银行、信用、贷款、股票和风险控制均为游戏机制,不连接现实银行、支付、征信或金融服务。 ## 1. 安装与版本 | 服务端 | 插件包 | Java | | --- | --- | --- | | Paper 1.21.x | `BankSystem-3.1.0-paper-1.21.jar` | Java 21+ | | Paper 26.x / Folia | `BankSystem-3.1.0-paper-26.x.jar` | Java 25(以核心要求为准) | 1. 只安装一个 BankSystem jar,不能同时安装两个版本。 2. 将 Vault、一个兼容 Vault 的经济插件和对应 jar 放入 `plugins/`。 3. 启动服务器;首次启动生成 `plugins/BankSystem/config.yml` 和数据库。 4. 使用 `/bank gui` 验证银行首页。 配置改动后使用 `/bank reload`(管理员)。更换 jar、数据库类型、Java 或处理端口问题时必须完整重启。升级前备份 `plugins/BankSystem/`。 ## 2. 银行、准备金与定期存款 `/bank gui`(或 `/bank menu`)打开银行首页。左键银行进入操作页;右键未领卡银行进入首次领取;右键已领卡银行进入补领。首页有贷款、股票、我的银行卡和风控/社区评价入口。 ```text /bank create <名称> <年利率%> /bank list /bank info <银行ID或名称> /bank deposit <银行ID或名称> <金额> /bank withdraw <银行ID或名称> <金额> /bank mydeposits /bank ranking /bank fixed <银行ID或名称> <金额> <天数> /bank myfixed /bank withdrawfixed <定期存款ID> ``` 银行名称支持中文。建行成本、数量上限、手续费、利率范围、定期倍率和提前取出违约金由 `config.yml` 控制。 银行主可在管理 GUI 设置贷款产品、利率、结算周期和百分比准备金,也可使用: ```text /bank depositors <银行ID或名称> /bank payinterest <银行ID或名称> /bank rate <银行ID或名称> <年利率%> /bank reserve <银行ID或名称> <金额> /bank withdrawreserve <银行ID或名称> <金额> /bank setinterval <银行ID或名称> <hourly|daily|6h|12h|分钟数> /bank settlements [银行ID] [条数] ``` 百分比准备金开启时,普通存款和定期存款只有 5% 计入准备金,取款按相同比例减少;关闭时按全额计算。贷款、还款、利息和手动准备金操作不受该开关影响。 ## 3. 贷款、信用分与风控 ```text /bank loan gui /bank loan <银行ID或名称> <金额> <天数> /bank myloans /bank repay <贷款ID> <金额> ``` 银行主定义贷款产品。风控中、银行禁用贷款,或信用分不符合银行门槛时不能申请。 新玩家信用分为 300。提前还清每天加 5 分,逾期每天扣 15 分,逾期后还清不补分。默认低于 200 自动风控,高于 200 自动解除,范围 0-1000。 玩家上线有逾期贷款时,会触发全服红色警报和 30 秒倒计时;倒计时归零后扣分并风控。风控玩家不能贷款,银行卡资金操作受限;名下银行冻结,不能存款、停止利息,但可以取款。解除风控后恢复。 ### 打工还债与社区评价 - 打工还债:在管理员设置区域内完成砖块提交;每块加 1 信用分,达到 `risk-control.work-repay-release-credit`(默认 201)后自动解除风控。 - 社区评价:其他在线玩家在银行首页入口中给出满意评价;获得 `community-service-required-votes`(默认 3)名不同玩家的满意评价后自动解除。 - 有逾期欠款时,必须先还清欠款才可提交砖块。 管理员先执行 `/bankadmin wand` 获得权杖,左键、右键设置劳作区域对角;潜行左键、潜行右键设置两个回收点,再执行 `/bankadmin workcreate` 保存。兼容别名:`workwand`、`reformwand`、`reformcreate`。 ## 4. 银行卡、转账与信用卡 每个玩家可以在每家银行领取一张实体银行卡。首次右键银行确认后,背包获得实体卡并建立 16 位卡号账户。手持有效卡右键可快速打开对应银行操作。 已领取不可重复领取。丢失后右键同一银行,选择“银行卡丢失重新领取”;补领会轮换授权令牌,旧卡立即失效。 从银行首页“我的银行卡”进入卡片中心。选择来源卡后,在聊天输入 `收款卡号 金额`,例如 `1234-5678-9012-3456 100`;输入 `cancel` 取消。支持跨银行转账,扣款与入账使用事务同时提交或回滚。风控账户不能发起或接收转账。 信用卡在卡片中心输入: ```text enable repay <金额> ``` 默认信用分至少 300 才能开通。额度公式为 `base-limit + (信用分 - minimum-credit-score) x limit-per-credit-point`,默认是 `100 + (信用分 - 300) x 2`。转账余额不足时可使用未占用额度;还款从 Vault 游戏余额扣除。 ## 5. 股票市场 ```text /stock gui /stock create <代码> <公司名称> <初始价格> <总股数> /stock list | /stock info <代码> /stock buy <代码> <数量> | /stock sell <代码> <数量> /stock portfolio | /stock dividend <代码> <金额> /stock chart <代码> [小时数] /stock limit buy <代码> <数量> <限价> [过期分钟] /stock limit sell <代码> <数量> <限价> [过期分钟] /stock limit cancel <订单ID> | /stock limit list /stock report <代码> | /stock report-generate <代码> | /stock report-clear <代码> ``` 价格范围、手续费、波动、限价单与财报规则在 `stock` 和 `limit-order` 中配置;权限使用 `banksystem.stock.*`。 ## 6. 管理员指令 以下命令需要 `banksystem.admin`,默认只有 OP: ```text /bankadmin gui /bankadmin listall /bankadmin delete <银行ID> /bankadmin setrate <银行ID> <年利率%> /bankadmin forceinterest /bankadmin release <玩家名> /bankadmin setcredit <玩家名> <信用分> /bankadmin wand /bankadmin workcreate ``` `release` 手动解除风控并恢复名下银行;`setcredit` 修改信用分,并按阈值自动风控或解禁。 ## 7. 内置网页控制台 启用 `web-panel.enabled: true` 后访问 `http://服务器地址:8088/`,服务器本机使用 `http://127.0.0.1:8088/`。 1. 在网页输入在线玩家的精确游戏名。 2. 游戏内收到 6 位授权码。 3. 在 60 秒内执行 `/bank web approve <六码>` 同意,或 `/bank web deny <六码>` 拒绝。 4. 授权后可直接在网页的银行、贷款与定期、银行卡、股票等页面进行资金操作。 内置网页支持存取款、建行、贷款申请/还款、定期存入/取出、领卡/补领、转账、信用卡、股票交易和分红。OP 额外可用管理员页设置信用分、解除风控、全服结算利息、调整利率/准备金、修改网页标题、登录标题、强调色和登录页/控制台底部自定义 HTML。所有管理员操作会由服务端再次验证 `player.isOp()`。 网页响应使用禁止缓存策略,更新插件后浏览器会请求新页面。`/health` 返回 `ok` 仅表示服务运行正常,不是功能页面。公网部署应使用 HTTPS 反向代理或将配置文件中的127.0.0.1换成0.0.0.0即可公网访问。 ## 8. 外部 API 与 PHP 面板 可以仅启用 API,关闭内置网页端口: ```yml web-panel: enabled: false external-api: enabled: true host: 127.0.0.1 port: 8090 key: '' session-minutes: 720 ``` `key` 为空时,插件首次启动会生成并保存安全密钥。API 仍依赖正在运行的 Minecraft 服务端和插件,玩家也必须在线完成 6 位授权。 将 `BankSystem-ExternalPhpPanel-3.1.0.zip` 解压并上传至 PHP 8.1+、已启用 cURL 的网站目录。首次访问进入安装向导,填写 API 根地址和 `external-api.key`。检测 `/v1/health` 成功后,PHP 服务端本地写入 `config.php`。 外部 PHP 面板与内置网页控制台使用同一套页面结构和 API 动作:总览、银行、贷款与定期、银行卡、股票和管理员。支持存取款、建行、贷款申请/还款、定期存入/取出、领卡/补领、转账、信用卡、股票交易/分红,以及 OP 的信用分、风控、利息、利率和准备金管理。使用的 API 端点为 `/v1/health`、`/v1/auth/request`、`/v1/auth/status`、`/v1/profile`、`/v1/action`;请求需要 `X-BankSystem-Key`,玩家业务请求还需要短期 Bearer 会话。 API 密钥不能放入浏览器脚本或公开仓库。建议 API 保持 `127.0.0.1` 或私网地址,经 HTTPS 反向代理/VPN 访问。仅浏览器跨域直连 API 时才填写 `external-api.allowed-origin`;PHP 服务端转发不需要 CORS。Nginx 必须拒绝访问 PHP 面板的 `config.php`。 外部面板也会为 PHP 页面、CSS 和 JS 发送禁止缓存响应头。升级面板时请覆盖上传整个 `external-php-panel` 目录,不要只替换单一文件;页面与 API 面向玩家的提示已使用中文。 ## 9. 常用配置 ```yml risk-control: min-credit-score: 200 countdown-seconds: 30 early-repay-credit-per-day: 5 overdue-penalty-per-day: 15 work-repay-release-credit: 201 community-service-required-votes: 3 credit-card: minimum-credit-score: 300 base-limit: 100.0 limit-per-credit-point: 2.0 ``` 完整配置还包括 `database`、`bank-creation`、`bank-fees`、`interest`、`reserve-safety`、`loan`、`fixed-deposit`、`stock`、`limit-order`、`web-panel`、`external-api` 和 `mail-notifications`。变更后用 `/bank reload`,数据库或插件包改动则重启。 [/MD]