# 【必读】玩家uuid数据存储说明 ## 前情概要 在2023.9.19日前,玩家uuid由java侧根据玩家昵称生成。 而地图存档、很多插件的数据库都使用这个uuid,这样会导致玩家在启动器改名后,进入服务器会丢失所有数据。 ## 调整 为解决上述问题,在2023.9.19日更新后,支持geyser获取玩家网易账号的uuid,并传递给bc。 同时添加了开关以兼容已上线服务器。开关为开时,使用网易账号uuid;开关为关时,依然由java侧根据昵称生成uuid。 1. 对于每个网络服,先判定绑定的[游戏ID](../课程9:服务器上线/第1节:平台发布.md#获取游戏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.yml`的`bungeecord`字段配置为`true`。 后续新建或复制的网络服,也**必须**满足上述2到4。 ### 2023.9.19后入驻的网络服 您的网络服开发,审核,上线所有阶段都会使用网易账号uuid。 **必须**使用2.8.0.java.release20230907或以后版本的引擎。 **必须**使用1.0.3或以上版本的BungeeMaster插件。 **必须**将`spigot.yml`的`bungeecord`字段配置为`true`。