HorizonSync

HorizonSync

一个服务端模组,用于在不同Fabric服务器之间同步玩家数据。

游戏机制

HorizonSync

HorizonSync 是一款高性能 Fabric 1.21.1 模组,旨在通过 MongoDB 保持玩家数据同步与安全。无论您是运行寻求数据冗余的单服务器,还是需要玩家进度保持一致的服务器网络,HorizonSync 都能确保无缝体验。

功能特性

物品栏与装备同步:主物品栏、盔甲、副手物品和末影箱的完全同步。

经验与状态:您的经验等级、经验条进度、生命值、饥饿度和饱和度都会与您离开时完全一致。

药水效果:玩家加入服务器时,活跃的状态效果会自动恢复。

高性能持久化:具备 3 分钟异步自动保存系统,并在服务器关闭时进行同步“强制保存”,以防止任何数据丢失。

模组支持

HorizonSync 针对 Fabric 1.21.1 最核心的 API 和模组进行了深度集成:

Accessories API:饰品槽位和装扮的完全同步。

Trinkets API:完全支持所有 Trinkets 槽位。

Sophisticated Backpacks(非官方 Fabric 移植版):所有背包内容都会被序列化并保持同步。

工作原理

与传统方法不同,HorizonSync 利用 MongoDB(NoSQL),实现极其快速且灵活的数据写入:

加入时:从云端检索数据,并通过同步网络数据包注入到玩家。

游戏过程中:异步计时器每 3 分钟保存更改,且不影响服务器的 TPS(每秒刻数)。

离开/关闭时:执行最终保存,确保每一个动作和物品都被记录。

快速上手 安装:将 HorizonSync .jar 文件放入 Fabric 1.21.1 服务器的 mods 文件夹。

MongoDB 配置:首次启动时,会在 /config 文件夹中生成配置文件。在那里编辑您的 MongoDB 连接字符串(本地或 Atlas)。

连接:确保您的服务器 IP 已在数据库防火墙的白名单中。

准备就绪:HorizonSync 将自动创建必要的集合,并开始保护您的数据。

配置选项 所有设置均通过 /config 目录中的配置文件进行管理。

数据库设置 uri:您的 MongoDB 连接字符串(例如:mongodb+srv://user:pass@cluster.mongodb.net/)。

database:数据库名称(默认:horizonsync)。

collection:用于玩家数据的特定集合(默认:playerdata)。

常见问题

问:为什么使用 MongoDB 而不是 MySQL? 答:MongoDB 可以更高效地保存复杂对象(如物品 NBT),在处理大型或模组物品栏时减少卡顿。

问:如果服务器崩溃会发生什么? 答:得益于 3 分钟自动保存系统,数据丢失被降至最低。玩家最多只会丢失最后几分钟的进度。

问:它兼容单人游戏吗? 答:HorizonSync 专为专用服务器环境优化。不建议用于本地单人世界。

问:它支持其他模组的物品吗? 答:支持。只要模组将数据存储在标准 Minecraft NBT 中,HorizonSync 就会正确序列化并同步它们。

HorizonSync – 您的数据,始终在地平线上,始终安全。