Skip to content

Economy and Vault

FENTAIIII edited this page Jul 25, 2026 · 1 revision

欢乐豆与 Vault

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,确认资金真实状态后再处理。

不要盲目删除交易日志来解除冻结。先核账,再决定是否备份旧日志并重新开放经济牌局。

Clone this wiki locally