Skip to content

同步功能

本章节讲述了 HuskSync 支持和不支持同步的内容。

你可以通过调整同步配置来设置 HuskSync 同步的玩家数据量。当特定类型的数据同步被设置为禁用时,HuskSync 不会尝试转移该部分的玩家数据;换句话说,同步的内容是从本地的服务器上选择性读取的。

同步内容一览表

✅—完全支持 ❌—不将支持 ⚠️—尚在测试

名称描述是否支持同步
背包内容玩家背包和快捷栏选中的物品
末影箱内容末影箱中存放的物品
生命值玩家当前的生命值及压缩比例
饱食度玩家的饱食度、饱和度体力值
属性玩家的最大生命值、移动速度、触及范围等。[维基页面]
游戏模式玩家当前的游戏模式
飞行状态玩家当前的飞行状态
统计数据玩家统计信息中的所有数据(ESC 界面 -> 统计信息)
位置玩家当前所处世界及位置†
持久数据容器插件定义的玩家数据
未探索的地图被锁定在制图台中的地图/藏宝图
已探索的地图正常的、未解锁的地图/藏宝图(原因见下)。
经济数据与 Vault 有关的经济数据(原因见下)。
  • 模组物品(如 Arclight 等核心上)怎么办?- 尽管我们不能对这些环境提供支持,但基本上 v3.x+ 的 HuskSync 可以正常地保存及同步物品。
  • 模组物品怎么办?或者诸如 MMOItems 和 SlimeFun 的物品又怎么办?- 支持。通过这些插件创建的物品应该能正常运行,但在此之前请先充分测试。
  • 那么 Purpur 的自定义末影箱大小功能呢? - 支持(请确保所有服务器都启用了这个功能!)。
  • 位置同步是什么意思?- 这是为那些跨服副本的服务器(如国内的魔塔/艾尔莉雅)准备的。在启用该功能后,玩家在切换服务器时会待在原地,而不会传送到其他位置。

持久化数据容器标签

持久化数据容器是 Spigot API 的一部分,允许向玩家、实体或物品上添加自定义的数据标签并使其持久化。HuskSync 支持将这一类数据跨服同步。若有插件使用了旧版本或旧格式的数据保存格式,例如直接修改 NBT,可能会有同步出错的情况。

地图同步

地图同步相对特殊,因为它们的数据不存储在物品中,而是在游戏的世界存档下。因此,它们的数据是随世界改变而改变的,而这是不能在多个实例之间记录的。所以,不太可能同步这些已解锁的地图物品。但是,未解锁的地图是支持的。这可以通过将像素画布上的内容保存至地图本身,再在其他服务器上生成虚拟地图实现。

经济同步

尽管它经常被用户们提起,但 HuskSync 有多种理由来解释为什么不会同步这些数据!

我强烈建议使用自带跨服同步的经济插件,这些插件有更多的选择。更多内容请转到“常见问题”章节浏览。

切换同步功能

除位置和锁定地图的同步外,所有同步都是默认启用的。若要切换指定数据的同步功能,在 config.ymlfeatures:synchronisation: 项自行调整,将对应项的值修改为 true/false 即可。

config.yml 下的示例

YAML
synchronization:
  # ...
  features:
    inventories: true
    ender_chests: true
    health: true
    max_health: true
    hunger: true
    experience: true
    potion_effects: true
    advancements: true
    game_mode: true
    statistics: true
    persistent_data_container: false
    locked_maps: true
    location: false
  #...