资源图标

原创 游戏模式 CuriosSync —— 高版本模组服跨服 Curios 饰品同步 2026-09-08

完成注册/登录后下载
版权类型
原创
插件中文名称
CuriosSync
插件英文名称
CuriosSync
原帖地址
#
支持的核心(服务端)
  1. Spigot
语言支持
中文(简体)
适配版本(Java)
  1. 1.21
CuriosSync 是一个 Bukkit 插件,用于在多台后端服务器之间同步玩家的完整 Curios 饰品栏数据。
非 1.21.1 版本没有测试过。

Curios 就是 https://www.mcmod.cn/class/2029.html

插件只需放入 plugins 目录;Curios 和相关饰品模组仍正常放在 mods 目录。所有后端服必须安装相同版本的 Curios、饰品模组,并使用一致的槽位配置。

环境要求​

  • Java 21
  • Minecraft 1.21.1
  • Arclight NeoForge 1.21.1
  • NeoForge 21.1.x
  • Curios 9.5.1+1.21.1
  • MySQL 8+ 或 MariaDB 10.6+
启动时会检查运行核心及版本,不符合要求时插件会打印原因并安全禁用。

主要功能​

  • 同步 Curios 完整压缩 NBT,包括功能栏、外观栏、显示状态、槽位大小、修饰器和物品数据组件。
  • 玩家首次登录且数据库没有记录时,以当前服务器的本地 Curios 数据建立中心档。
  • 使用数据库租约限制同一 UUID 同时只能由一台服务器写入。
  • 保存带会话 token 和递增序号,避免旧服务器或乱序异步任务覆盖新数据。
  • 监听饰品变化并防抖保存,同时定时比较完整快照,捕获外观栏和显示开关变化。
  • 数据库故障时使用本服本地数据进入隔离会话,隔离会话不会回写中心数据库。

部署​

  1. 创建数据库和专用账号,所有后端服连接同一个数据库。
  2. 将插件 JAR 放入每台 Arclight 的 plugins 目录。
  3. 首次启动生成配置后停止服务器,编辑 plugins/CuriosSync/config.yml。
  4. 每台后端服必须使用不同的 server-id,例如 lobby-1、survival-1。
  5. 完整重启服务器。
核心配置示例:

server-id: "server-1"

database:
jdbc-url: "jdbc:mariadb://127.0.0.1:3306/minecraft"
username: "curiossync"
password: "change-me"
ssl-mode: "disable"
auto-create-schema: true

sync:
handoff-wait-ms: 5000
handoff-poll-ms: 250

MariaDB 驱动也可以连接 MySQL 服务端,建议统一使用 jdbc:mariadb

命令​

统一权限:curiossync.admin,默认仅 OP 拥有。
- `/curiossync status`:查看数据库与会话状态
- `/curiossync inspect <玩家名|UUID>`:查询玩家同步信息
- `/curiossync save <在线玩家>`:强制保存中心会话
- `/curiossync reconnect`:重新建立数据库连接池

隔离会话不能通过命令强制写入中心档。

注意事项​

  • 使用服务端实际提供的 UUID;离线模式玩家改名可能生成新的中心档。
  • 不支持 Bukkit /reload、PlugMan 或其他热重载方式,修改插件或配置后必须完整重启 Arclight。
  • 正式上线前建议使用两台相同模组环境的测试服验证首次导入、快速切服、服务器崩溃恢复和数据库断开场景。
作者
小虾米呀
下载
2
查看
105
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部