# 【必读】玩家uuid数据存储说明

# 前情概要

在2023.9.19日前,玩家uuid由java侧根据玩家昵称生成。

而地图存档、很多插件的数据库都使用这个uuid,这样会导致玩家在启动器改名后,进入服务器会丢失所有数据。

# 调整

为解决上述问题,在2023.9.19日更新后,支持geyser获取玩家网易账号的uuid,并传递给bc。

同时添加了开关以兼容已上线服务器。开关为开时,使用网易账号uuid;开关为关时,依然由java侧根据昵称生成uuid。

  1. 对于每个网络服,先判定绑定的游戏ID。若游戏ID于2023.9.19日前成功上线,开关为关;若该日期前还未上线,则开关为开

  2. 没有绑定游戏ID的网络服,如果是在2023.9.19日前创建的,开关为关;在该日期后创建的,开关为开

  3. “复制网络服”的开关不会继承

# 注意事项

uuid的更改会导致玩家数据丢失或错乱,请仔细阅读以下注意事项

注意您可能同时拥有多个服务器,符合多个情况,请一并阅读并注意区分

# 2023.9.19前已上线的网络服

您所有已创建的网络服都会保持使用java侧生成玩家uuid,可以放心更新引擎或者BungeeMaster插件。

留意spigot.yml中的bungeecord字段,建议不要修改该字段,除非您确定这不会对玩家uuid产生影响。

如果您希望转为新版的uuid获取方式,请评估存档、数据库的数据迁移工作并联系官方支持。

要注意后续新建或者复制出来的网络服,都会使用网易uuid,除非绑定了上线的游戏ID。

# 2023.9.19前入驻但未上线的网络服

您的网络服上线后将会使用网易账号uuid。

但是,所有已经创建的网络服都还是使用java侧生成玩家uuid。

为了保持开发阶段与上线阶段的环境一致性,务必做以下操作:

  1. 给所有已创建的网络服绑定游戏ID,或者使用studio复制一个,然后弃用旧的网络服。但留意这会导致测试账号的数据清空,并且存档及数据库中会有旧的玩家数据残留。
  2. 使用2.8.0.java.release20230907或以上版本的引擎。
  3. 将所有BungeeMaster插件升级到1.0.3以上。
  4. 将所有spigot.ymlbungeecord字段配置为true

后续新建或复制的网络服,也必须满足上述2到4。

# 2023.9.19后入驻的网络服

您的网络服开发,审核,上线所有阶段都会使用网易账号uuid。

必须使用2.8.0.java.release20230907或以后版本的引擎。

必须使用1.0.3或以上版本的BungeeMaster插件。

必须spigot.ymlbungeecord字段配置为true