共享钱包与充提
市场余额与经济插件余额是两份不同的账。充值从外部后端扣款后计入市场;提现从市场扣款后交给外部后端。购买、竞价与供货在市场账本内部结算,不应每次成交都分别调用各节点的经济插件。
| Provider | 配置与认证重点 |
|---|---|
vault | 必须存在实际 Economy 实现,配置其名称;Vault 自身不是完整经济插件 |
playerpoints | 精度必须为 0;金额与最终余额都需在后端整数范围内 |
coinsengine | 匹配遗留 CoinsEngine API 和实际币种 ID;不要用 ExcellentEconomy 兼容层冒充 |
excellenteconomy | 独立的新 API 适配;配置实际币种 ID 与精度 |
每个币种固定 ID、精度、原生币种和充提网关。已经使用的币种不能通过改名、改精度或改 provider 无缝变成另一种货币;这些变更需要完整迁移和对账。不同货币不自动兑换。
网关节点
按币种设置 gateway,它必须等于目标节点的 network.node-id。玩家需要切换到该节点执行充提;没有自动远程 RPC 转发。不在对应节点会返回 GATEWAY_NODE,市场内余额和交易仍然共享。
Folia 节点没有可认证经济后端时,可只参与市场内部交易,由同 Minecraft 版本的兼容 Paper 节点提供充提。网关停机时暂停该币种充提,不从其他节点临时直接扣款。
启用适配器
certified-versions 必须列出经过你实际测试的目标插件版本;空列表会阻止充提。对 vault 填写 Vault 自身版本,另用 vault-provider 锁定实际 Economy 服务名称,并单独验证该经济实现。这个设置是部署方的准入控制,填写版本号不会自动取得 KiteMC 官方认证。Folia 上默认不允许未验证 provider;不要单纯设置 certified-folia: true 绕过验证。
测试应覆盖充值、提现、余额不足、精度和最大金额、后端取消/失败、断线、重启和并发外部余额变化。查看配置示例与认证矩阵。
失败与 UNKNOWN
外部 API 返回失败时,按操作状态处理或返还预留资金;未确定是否生效时记为 UNKNOWN,不能自动再次调用。管理员必须检查外部记录及市场操作,不可只看玩家当前余额就强制“修复”。
部分后端先修改内存,再异步持久化,因此 API 成功不等于跨系统提交完成。市场内部账本事务不代表外部充提在任意进程崩溃下都能自动恢复。尚未实测的后端组合保持禁用。