搜索

跨服与数据安全

解锁数据、所有者保护、跨服防刷、外观保存和恢复。

单服默认使用 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 后必须完整重启。