主配置
config.yml 的存储、性能、功能开关与跨服参数
主配置位于 plugins/Rondo/config.yml。字段填写错误时,插件会拒绝启动并在控制台说明原因。
/rondo reload 不会重载 config.yml,只会重载消息、货币和兑换规则。修改存储、连接、跨服或定时参数后必须重启服务端。
完整配置
存储模式
SQLite
- 数据文件:
plugins/Rondo/data.db - 适合单服使用
- 跨服模式不能使用 SQLite
MySQL
- 适合单服或跨服
- 跨服时所有节点必须连接同一数据库
连接安全
- 默认
parameters关闭 MySQL TLS,并允许从服务器获取 RSA 公钥,只适用于本机或可信内网。 - 数据库经过不可信网络时,请部署 CA 与主机名证书,并把
parameters改为经过实际环境验证的 TLS 参数。例如:useUnicode=true&characterEncoding=UTF-8&sslMode=VERIFY_IDENTITY&allowPublicKeyRetrieval=false。 parameters不要以?或&开头,也不要加入空格。- Redis 使用 ACL 时填写
username;多组服务器共用 Redis 时,分别设置database和sync-channel。
参数边界
| 参数 | 允许范围 |
|---|---|
storage.type | sqlite 或 mysql |
storage.mysql.host / username | 非空 |
storage.mysql.port | 1–65535 |
storage.mysql.database | 1–64 位字母、数字、下划线或连字符 |
storage.mysql.parameters | 非空;不含空白;不以 ? 或 & 开头 |
storage.mysql.pool-size | 1–128 |
performance.log-queue-size | 100–100000 |
performance.ranking-refresh | 不小于 200 tick |
performance.ranking-size | 1–10000 |
performance.read-cache-offline-ttl-seconds | 0–86400 秒 |
performance.read-cache-max-offline-entries | 1–1000000 |
features.log-retention-days | -1 或正整数 |
cross-server.redis.host | 非空 |
cross-server.redis.port | 1–65535 |
cross-server.redis.database | 0–15 |
cross-server.redis.timeout-millis | 500–30000 ms |
cross-server.redis.pool-size | 2–128 |
cross-server.sync-channel | 1–128 位字母、数字、冒号、下划线或连字符 |
余额最多保留 4 位小数,绝对范围为 -9999999999999999.9999 至 9999999999999999.9999。
排行榜、只读快照与流水
ranking-refresh:排行榜快照的刷新间隔,并非实时查询。ranking-size:排行榜快照最多保留的人数。read-cache-offline-ttl-seconds:玩家离线后,PAPI、Vault 与外部 API 还能热读快照的时间;到期后 PAPI 异步预热,Vault 冷查询同步加载权威值。read-cache-max-offline-entries:离线快照容量上限;在线玩家不占用该额度。transaction-log:是否记录交易流水。log-retention-days:交易流水与内部兑换审计记录的保留天数,-1表示永久;即使关闭新流水记录,既有记录仍按此策略清理。
只读快照只服务于 PAPI、Vault 热查询和外部 UI/HUD。存入、扣除、设置、转账与兑换的最终校验始终由数据库事务完成。
