1.1.19. 跨服同步背包插件安装

群组服环境下,玩家在不同分区(如生存区、地皮区、主城等)切换时,背包、末影箱等数据默认无法同步。推荐使用 HuskSync 插件实现跨服背包、末影箱等数据的无缝同步。

1.1.19.1. 插件简介

  • 支持多分区背包、末影箱、状态、进度等数据同步

  • 支持 MySQL 数据库后端,性能优异

  • 支持 Redis 缓存加速

  • 提供数据备份、恢复、轮换等高级功能

  • 开源,jar包需自行编译或付费获取

https://william278.net/images/husksync-banner.png

1.1.19.2. 关键链接

1.1.19.3. 构建 HuskSync.jar 包

git clone git@github.com:WiIIiam278/HuskSync.git
git checkout 3.8.5
./gradlew clean build
# 构建结果在 target 目录

# 如遇依赖错误,可在 build.gradle 增加仓库源
# maven { url 'https://maven.fabricmc.net/' }
# maven { url 'https://api.modrinth.com/maven' }

1.1.19.4. 创建数据库

CREATE DATABASE d_HuskSync CHARACTER SET utf8 COLLATE utf8_general_ci;

1.1.19.5. 安装步骤

  1. 将 HuskSync.jar 放到所有分区的 plugins 目录(Proxy 不需要)

  2. 修改 config.yml,推荐使用 MySQL 后端,配置数据库连接信息

  3. 修改 server.yml,确保每个分区 server 名称唯一(如 dl1、sc1、dp1 等)

  4. 重启所有分区服务端

11c11
< language: zh-cn
---
> language: en-gb
31c31
<     host: 127.0.0.1
---
>     host: localhost
33,35c33,35
<     database: d_HuskSync
<     username: mc
<     password: mc_panda_142857
---
>     database: HuskSync
>     username: root
>     password: pa55w0rd
40,41c40,41
<     maximum_pool_size: 1000
<     minimum_idle: 100
---
>     maximum_pool_size: 10
>     minimum_idle: 10
63c63
<     host: 127.0.0.1
---
>     host: localhost
68c68
<     password: mc_panda_142857
---
>     password: ''

# 其他分区需修改 server.yml 文件,确保 server 名称唯一
# 生存一区:sc1,地皮一区:dp1,依次类推

1.1.19.6. 测试方法

在 dl1 分区进行背包物品变更,通过 /server dp1 切换到地皮一区,检查背包是否同步,验证插件工作正常。

1.1.19.7. 权限配置

通过 LuckPerms 授权 HuskSync 管理命令权限。

# 创建一个husk管理权限组
/lp creategroup g-husksync 0 g-husksync
# 让管理员组继承 husksync 管理权限组
/lp group admin parent add g-husksync
# 授权查看背包和末影箱权限
/lp group g-husksync permission set husksync.command.inventory true
/lp group g-husksync permission set husksync.command.enderchest true

1.1.19.8. 查看用户的背包数据

HuskSync 提供如下命令(需授权):

  • /inventory <玩家> 查看玩家背包

  • /enderchest <玩家> 查看玩家末影箱

详细命令参考官方文档: https://william278.net/docs/husksync/commands

1.1.19.9. 权限设置

通过 LuckPerms 授权 husksync,这个没啥权限的, 不做配置。

1.1.19.10. 常见问题 QA

Q1:

背包数据不同步?

A1:

检查所有分区是否都安装 HuskSync,数据库配置是否一致,server.yml 名称是否唯一。

Q2:

管理员无法查看背包?

A2:

检查 LuckPerms 权限配置,确认已授权 husksync.command.inventory 和 husksync.command.enderchest。

Q3:

数据库连接失败?

A3:

检查数据库地址、用户名、密码、端口等配置,查看服务端日志。

Q4:

玩家数据丢失或异常?

A4:

使用 HuskSync 的数据备份与恢复功能,或手动恢复数据库快照。