-
Notifications
You must be signed in to change notification settings - Fork 0
Economy and Vault
FENTAIIII edited this page Jul 25, 2026
·
1 revision
Doudizhu 的经济系统分为两层:
- 全局游玩费:每局每人固定扣费。
- 单桌赌局:只对开启经济模式的牌桌生效。
两者都依赖 Vault 与 Vault Economy 服务。没有可用 Vault 经济服务时,休闲桌仍可正常游玩,经济牌局会拒绝开始或拒绝加入。
配置:
economy:
enabled: false
stake: 100.0
currency-name: "欢乐豆"说明:
-
economy.enabled控制是否收取全局游玩费。 -
economy.stake是每局每人的固定游玩费。 - 游玩费不乘单桌倍率。
- 游玩费不参与赌局输赢。
- 正常完成牌局后,游玩费确认收取。
- 系统取消、强停或停服清理时,未确认的游玩费会退回。
开启指定牌桌:
/ddz economy <桌名> on [倍率]
关闭指定牌桌:
/ddz economy <桌名> off
基础赌注:
game.base-score × 单桌倍率
新创建的牌桌,以及旧 tables.yml 中没有显式经济字段的牌桌,默认都是休闲桌。
插件会在玩家加入前检查最大责任,避免余额不足的玩家占住牌桌。
需要余额:
全局游玩费 + 基础赌注 × 2
地主身份尚未确定,所以每名玩家都按最大可能责任托管 2 倍赌注。
经济牌局开始前,每名玩家会被扣入托管池:
- 如果启用全局游玩费:扣
游玩费。 - 如果该桌是赌桌:扣
基础赌注 × 2。
如果任意玩家扣款失败,本局不会开始,已扣资金会尝试原路退回。
设基础赌注为 S。
地主赢:
- 地主返还
4S。 - 两名农民各返还
S。 - 结果等价于地主净赢
2S,每名农民净输S。
农民赢:
- 地主返还
0。 - 两名农民各返还
3S。 - 结果等价于地主净输
2S,每名农民净赢S。
托管池总额始终为 6S,正常发奖不会临时读取玩家当前余额。
以下情况会退回已托管资金:
- 系统原因取消。
- 管理员强停。
- 开局资金准备失败。
- 停服时仍有未结清资金。
如果 Vault 操作结果不确定,插件会拒绝自动退款,防止重复增发货币。
Vault 本身不提供跨崩服幂等事务。Doudizhu 会把每次资金动作写入:
wager-transactions.log
交易状态包括:
-
INTENT:准备执行某笔资金动作。 -
CONFIRMED:Vault 报告成功,并且确认记录已写盘。 -
FAILED:Vault 报告失败。
如果启动时发现只有 INTENT 而没有最终状态的操作,插件会冻结新赌局。管理员需要核对经济插件流水和 wager-transactions.log,确认资金真实状态后再处理。
不要盲目删除交易日志来解除冻结。先核账,再决定是否备份旧日志并重新开放经济牌局。