跨服与数据安全
解锁数据、所有者保护、跨服防刷、外观保存和恢复。
单服默认使用 YAML。群组服应让所有子服连接同一个 MySQL,并为每台子服设置唯一 server-id。
storage:
type: "MYSQL"
server-id: "survival-1"
cache-refresh-seconds: 3
purchase-lock-seconds: 30
mysql:
host: "127.0.0.1"
port: 3306
database: "minecraft"
username: "liskin"
password: "change_me"
table-prefix: "liskin_"
migrate-yaml: true
安全机制
- MySQL 是唯一可信数据源,不同时写本服
players.yml。 - 购买与手持解锁共用数据库事务锁,防止同一玩家在两个子服重复扣费或消耗。
- 数据库提交失败时,购买会按实际支付渠道退款;手持解锁会退还物品。
- 玩家进服前强制刷新数据,数据库不可用时拒绝进入,避免旧缓存绕过权限。
- 在线缓存默认每 3 秒刷新,并重新检查背包和装备中的权限。
首次迁移时,migrate-yaml: true 可导入 players.yml。先备份各服数据,只选择一台子服首先启动完成迁移。
MySQL 驱动会下载到 plugins/LiSkin/lib/。网络受限时可按配置中的版本和地址手动放置。切换 storage.type 后必须完整重启。