# PlayerSync
**PlayerSync** 是一款 Minecraft 模组,可在多个服务器之间同步您的玩家数据。在您的网络中无缝切换服务器,无需担心丢失您的物品栏、经验、成就或模组物品。
---
## 特性
- **物品栏同步:** 您的主物品栏、盔甲、末影箱和副手物品始终在每个服务器上保持最新状态。
- **经验与统计:** 在服务器间穿梭时,经验值、生命值、食物和分数会被保留。
- **成就同步:** 您的成就和成就将随您一起无处不在。
- **药水效果:** 加入新服务器时,活动药水效果将被恢复。
- **模组支持:**
- [Curios API](https://www.curseforge.com/minecraft/mc-mods/curios): Curios 插槽和物品会被同步。
- [Sophisticated Backpacks](https://www.curseforge.com/minecraft/mc-mods/sophisticated-backpacks): 背包内容会被保持同步。
- **占位符物品:** 如果服务器缺少模组物品,将创建一个占位符,以确保不会丢失任何物品。
- **聊天同步(可选):** 启用后,可以在服务器之间同步聊天消息(可在配置文件中启用)。
---
## 工作原理
PlayerSync 使用一个中心化的 MySQL 或 MariaDB 数据库来存储您的玩家数据。当您加入服务器时,您的数据将从数据库加载。当您离开或数据被保存时,它将更新到数据库中。这确保了您的进度始终最新,无论您在哪个服务器上玩耍。
---
## 快速开始
1. **安装模组:**
下载 PlayerSync 模组,并将其放在您想要同步的每个服务器的 `mods` 文件夹中。
2. **配置数据库:**
首次启动服务器以生成配置文件。 编辑 `config` 文件夹中的 `playersync.toml` 配置文件以设置您的数据库连接详细信息。
每个服务器都应该有一个唯一的 `Server_id`。
3. **启动您的服务器:**
PlayerSync 将自动创建必要的表并保持您的数据同步。
4. **(可选)启用聊天同步:**
如果您希望在服务器之间共享消息,请在配置文件中启用聊天同步。
---
## 配置文件选项
所有选项都可以在服务器的 `config` 文件夹中的 `playersync.toml` 文件中找到。
### 数据库设置
- **host**
MySQL/MariaDB 数据库服务器的地址。
*默认:* `"localhost"`
- **db_port**
数据库服务器的端口。
*默认:* `3306`
- **use_ssl**
是否为数据库连接使用 SSL。
*默认:* `false`
- **user_name**
数据库用户名。
- **password**
数据库密码。
- **db_name**
要使用的数据库名称。
*默认:* `"playersync"`
- **Server_id**
此值区分您网络中的每个服务器。 **每个服务器都必须在此处有一个唯一的整数!**
*默认:* 随机生成。
### 同步选项
- **sync_advancements**
是否在服务器之间同步成就(成就)。
*默认:* `true`
### 序列化选项
- **use_legacy_serialization**
使用旧 (pre-Base64) 序列化格式将数据写入数据库。
*仅当具有 1.35 之前的模组版本的数据库读取时才设置为 `true`。*
*默认:* `false`
### 占位符物品选项
- **item_placeholder_title_override**
覆盖占位符物品的标题(用于丢失的模组物品)。
*默认:* `""` (使用默认翻译)
- **item_placeholder_description_override**
覆盖占位符物品的描述。
*默认:* `""` (使用默认翻译)
---
## 常见问题
**Q: 如果我拥有模组物品,并且加入了一个没有该模组的服务器会发生什么?**
A: PlayerSync 将创建一个占位符物品,以确保您的原始物品不会丢失。当您返回一个具有该模组的服务器时,您的物品将被恢复。
**Q: 我的数据安全吗?**
A: 是的!所有数据都存储在中心数据库中,并且在切换服务器时不会丢失。
**Q: 这适用于单人游戏吗?**
A: PlayerSync 专为多服务器网络而设计。它不需要用于单人游戏。
**Q: 支持哪些模组?**
A: Curios API 和 Sophisticated Backpacks 默认支持。未来可能会增加对更多模组的支持。
---
## 支持
如果您有任何问题或需要帮助,请通过 Github 或 Discord 与我们联系。
---
**使用 PlayerSync 在所有服务器上享受无缝游戏!**