- 版权类型
- 原创
- 插件中文名称
- 银行
- 插件英文名称
- WebMarketBank
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- Folia
- Purpur
- Leaves
- 其他核心
- 语言支持
- 多语言
- 前置组件
- WebMarket:https://www.minebbs.com/resources/webmarket-gui.13231/
- 适配版本(Java)
- 最新版本
- 26.x
- 1.21
- 1.20
[MD]
# WebMarketBank
[演示视频(待更新)]() /
[演示站点](https://sd.kurt6.cn)
---
`WebMarketBank` 是 `WebMarket` 的独立附属插件,需先安装 `WebMarket` 后才可使用。
它会在网页市场顶部导航的 `附加` 中注册一个 `银行` 模块。玩家可在网页端存款、提前支取、贷款、还款、领取到期存款;管理员可在网页端可视化配置默认条款、玩家单独条款、贷款风控和贷款逾期处置。
---
## 核心特性
- 支持定期存款,到期后领取本金和利息
- 支持存款提前支取
- 支持存款自动续存,续存后重新计算下一期本金、利息和到期时间
- 支持贷款分期,每期按贷款总周期自动均分到期时间
- 支持贷款每期到期先自动尝试扣款,扣款失败后再进入宽限和逾期处置
- 支持默认贷款金额上限公式,可按固定金额、游玩时间、进服天数、余额和其他 PlaceholderAPI 数字占位符动态计算
- 支持部分还款开关,关闭后玩家只能按当前分期应还金额还款
- 支持管理员配置默认单笔存款 / 贷款金额上限、利率、天数周期和进行中数量上限
- 支持管理员为指定玩家单独配置单笔存款 / 贷款金额上限、利率、天数周期和贷款分期期数
- 支持贷款风控,可按首次进服天数、累计游戏时长、当前余额倍率、24 小时贷款额度和逾期未还状态限制贷款
- 支持逾期后强制扣款和自定义控制台指令
- 支持玩家记录和管理员后台长列表分页,避免记录过多时一次性加载
---
## 贷款额度公式
支持四则运算、括号、内置变量和其他插件注册的 PlaceholderAPI 占位符。PlaceholderAPI 占位符结果必须能解析为数字,否则会回退到固定基础金额。
内置变量:
- `{base}` / `{固定金额}` 固定基础金额
- `{playtime_hours}` / `{游玩小时}` 累计游玩小时
- `{playtime_days}` / `{游玩天数}` 累计游玩天数
- `{first_played_days}` / `{进服天数}` 首次进服距今天数
- `{balance}` / `{余额}` 当前金币余额
如果管理员为某个玩家单独设置了贷款金额上限,该玩家使用单独固定金额,不再套用默认公式。
---
## 逾期指令占位符
逾期指令由控制台执行,每行一条。
- `{player}` 玩家名
- `{uuid}` 玩家 UUID
- `{web_user_id}` 绑定的 Web 用户 ID
- `{loan_id}` 贷款记录 ID
- `{principal}` 贷款本金
- `{interest_amount}` 贷款利息金额
- `{repay_amount}` 贷款总应还金额,本金加利息
- `{repaid_amount}` 已还金额
- `{remaining_amount}` 当前剩余未还总额
- `{due_amount}` 当前逾期分期应还金额
- `{installment_amount}` 每期应还金额
- `{installment_count}` 总分期期数
- `{installments_paid}` 已还分期期数
- `{next_due_at}` 当前分期到期时间,Unix 毫秒时间戳
- `{balance}` 处置前玩家余额
- `{after_balance}` 如果执行本次强制扣款后的余额,可能为负数
- `{forced_amount}` 本次已通过经济桥强制扣除的金额
- `{overdue_hours}` 当前分期逾期小时数
- `{overdue_days}` 当前分期逾期天数
如果当前经济桥不支持负余额,前端开启“允许扣成负数”后内置扣款仍可能只能扣除现有余额。此时可在逾期指令里使用 `{after_balance}` 调用你的经济插件余额设置命令,例如:
```text
money set {player} {after_balance} 银行贷款逾期
ban {player} 银行贷款逾期未还,应还 {due_amount}
```
---
## PlaceholderAPI 支持
安装 `PlaceholderAPI` 后,插件会自动注册:
`%webmarket_bank_*%`
### 玩家自身占位符
- `%webmarket_bank_username%`
- `%webmarket_bank_name%`
- `%webmarket_bank_player%`
- `%webmarket_bank_deposit_amount%`
- `%webmarket_bank_deposit_amount_formatted%`
- `%webmarket_bank_deposit_principal%`
- `%webmarket_bank_deposit_principal_formatted%`
- `%webmarket_bank_deposit_total%`
- `%webmarket_bank_deposit_payout%`
- `%webmarket_bank_deposit_payout_formatted%`
- `%webmarket_bank_deposit_interest%`
- `%webmarket_bank_deposit_interest_formatted%`
- `%webmarket_bank_deposit_count%`
- `%webmarket_bank_deposit_records%`
- `%webmarket_bank_deposit_next_mature_at%`
- `%webmarket_bank_deposit_rank%`
- `%webmarket_bank_loan_amount%`
- `%webmarket_bank_loan_amount_formatted%`
- `%webmarket_bank_loan_principal%`
- `%webmarket_bank_loan_principal_formatted%`
- `%webmarket_bank_loan_total%`
- `%webmarket_bank_loan_repay%`
- `%webmarket_bank_loan_repay_formatted%`
- `%webmarket_bank_loan_remaining%`
- `%webmarket_bank_loan_remaining_formatted%`
- `%webmarket_bank_loan_repaid%`
- `%webmarket_bank_loan_repaid_formatted%`
- `%webmarket_bank_loan_interest%`
- `%webmarket_bank_loan_interest_formatted%`
- `%webmarket_bank_loan_count%`
- `%webmarket_bank_loan_records%`
- `%webmarket_bank_loan_overdue_count%`
- `%webmarket_bank_loan_next_due_at%`
- `%webmarket_bank_loan_rank%`
### 排行榜占位符
支持以下 3 组排行:
- `deposit_top`
- `loan_top`
- `overdue_top`
示例:
- `%webmarket_bank_deposit_top_1_name%`
- `%webmarket_bank_deposit_top_1_amount%`
- `%webmarket_bank_deposit_top_1_payout%`
- `%webmarket_bank_loan_top_1_name%`
- `%webmarket_bank_loan_top_1_remaining%`
- `%webmarket_bank_overdue_top_1_name%`
- `%webmarket_bank_overdue_top_1_overdue%`
可用字段:
- `name`
- `player`
- `rank`
- `records`
- `count`
- `amount`
- `amount_formatted`
- `principal`
- `principal_formatted`
- `payout`
- `payout_formatted`
- `remaining`
- `remaining_formatted`
- `overdue`
- `overdue_formatted`
---
## 购买及激活方式
1. 前往爱发电购买
2. 发送你的爱发电订单号到 QQ`1758426625` 或邮箱`1758426625@qq.com`获取激活码
3. 将激活码填写到配置文件中的 `activation_code`
---
## 购买须知
1. 插件使用需激活码,每个激活码同时仅限 `1` 个 IP 地址使用。
2. 如更换 IP 后显示激活失败,请等待至少 `40` 分钟后再次尝试。
3. 如果您的激活码被滥用,开发者有权禁用该激活码。
---
## bStats

---
## 配置文件
```yaml
# 银行附属插件自己的激活码。
activation_code: ""
# 插件语言。可选: zh_cn, en_us。
language: zh_cn
# 提示:bank 分组中的业务配置可在网页可视化配置。
bank:
# 默认存款配置,可在前端后台调整。
deposit:
# 是否启用存款功能。
enabled: true
# 每名玩家最多同时持有的进行中存款数量,0 表示不允许新建。
max_active: 3
# 是否允许玩家创建存款时启用自动续存。
auto_renew_enabled: true
# 默认存款利率,0.02 表示 2%。
rate: 0.02
# 默认单笔存款金额上限。
amount: 1000.0
# 默认存款周期,单位为天,范围 1-3650。
duration_days: 1
# 默认贷款配置,可在前端后台调整。
loan:
# 是否启用贷款功能。
enabled: true
# 每名玩家最多同时持有的进行中贷款数量,0 表示不允许新建。
max_active: 1
# 是否允许玩家按任意金额部分还款;关闭后只能按当前分期应还金额还款。
allow_partial_repay: true
# 默认贷款利率,0.05 表示 5%。
rate: 0.05
# 默认单笔贷款固定金额上限,也是公式中的 {base} / {固定金额}。
amount: 1000.0
# 默认单笔贷款金额公式,留空表示直接使用 bank.loan.amount。
# 支持四则运算和括号,例如: {base} + 100 * {playtime_hours}。
# 内置变量: {base}/{固定金额}=固定金额,{playtime_hours}/{游玩小时}=累计游玩小时,{playtime_days}/{游玩天数}=累计游玩天数,{first_played_days}/{进服天数}=首次进服距今天数,{balance}/{余额}=当前金币余额。
# 也支持其他插件注册的 PlaceholderAPI 占位符,例如 %someplugin_value%,占位符结果必须能解析为数字。
# 管理员给某个玩家单独设置贷款金额后,该玩家使用单独固定金额,不再套用默认公式。
amount_formula: ""
# 默认贷款总周期,单位为天,分期到期时间会按该周期均分。
duration_days: 1
# 默认贷款分期期数,范围 1-365。
installments: 1
# 贷款风控配置,用于降低小号刷贷款风险。
risk:
# 是否启用贷款风控。关闭后仍保留贷款金额、分期和最大进行数限制。
enabled: true
# 是否禁止已有逾期未还贷款的玩家继续申请贷款。
loan_block_overdue: true
# 申请贷款要求该玩家首次进服距今至少多少天,0 表示不检查。
loan_min_first_played_days: 3
# 申请贷款要求该玩家累计游戏时长至少多少小时,0 表示不检查。
loan_min_playtime_hours: 2.0
# 单笔贷款不得超过当前余额的多少倍,0 表示不检查;默认 3 表示最多借当前余额的 3 倍。
loan_max_balance_multiplier: 3.0
# 每名玩家 24 小时内累计贷款本金上限,0 表示不检查。
loan_daily_amount_limit: 3000.0
# 贷款逾期扫描和处置配置;扫描时也会在每期到期先自动尝试扣除当前分期应还金额。
overdue:
# 逾期扫描间隔,单位为秒,最小 30。
scan_interval_seconds: 300
# 逾期宽限时间,单位为分钟,0 表示到期立即按逾期处理。
grace_minutes: 0
# 每次扫描最多处理的逾期贷款数量,范围 1-500。
batch_size: 50
# 是否在贷款分期快到期时向在线玩家发送游戏内提醒。
due_reminder_enabled: true
# 分期到期前多少分钟发送提醒,0 表示只保留开关但不触发提醒。
due_reminder_before_minutes: 60
# 自动扣款失败并进入逾期处置后,是否再尝试通过经济桥强制扣除当前应还金额。
force_withdraw_enabled: true
# 强制扣款是否允许把玩家余额扣成负数;经济插件不支持负数时请配合 commands 自定义 set 指令。
force_withdraw_allow_negative: false
# 逾期处置指令列表,由控制台执行。
# 支持占位符:
# {player}: 玩家名。
# {uuid}: 玩家 UUID。
# {web_user_id}: 绑定的 Web 用户 ID。
# {loan_id}: 贷款记录 ID。
# {principal}: 贷款本金。
# {interest_amount}: 贷款利息金额。
# {repay_amount}: 贷款总应还金额,本金加利息。
# {repaid_amount}: 已还金额。
# {remaining_amount}: 当前剩余未还总额。
# {due_amount}: 当前逾期分期应还金额。
# {installment_amount}: 每期应还金额。
# {installment_count}: 总分期期数。
# {installments_paid}: 已还分期期数。
# {next_due_at}: 当前分期到期时间,Unix 毫秒时间戳。
# {balance}: 处置前玩家余额。
# {after_balance}: 如果执行本次强制扣款后的余额,可能为负数。
# {forced_amount}: 本次已通过经济桥强制扣除的金额。
# {overdue_hours}: 当前分期逾期小时数。
# {overdue_days}: 当前分期逾期天数。
commands:
- "say {player} 的银行贷款已逾期,应还 {due_amount}"
license:
cloud:
# 是否忽略 HTTPS 证书校验。
ignore_ssl_errors: true
```
[/MD]