[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"post-mc-player-data-migration":3},{"success":4,"message":5,"frontmatter":6,"content":14},true,"获取成功",{"slug":7,"title":8,"date":9,"description":10,"tags":11,"published":4},"mc-player-data-migration","MC存档完整迁移玩家数据","2026-06-21","使用离线账户或第三方登录游玩mc时可能会遇到一个问题：切换登录方式或更改了昵称角色数据就会丢失。本文就分享一下完整迁移玩家数据的方法。",[12,13],"游戏","MC","无论是从离线模式迁移到正版登录，还是从一个第三方认证平台更换到另一个认证平台，甚至只是修改了游戏昵称，都有可能导致玩家被服务器识别为一个全新的角色。\n\n常见表现包括：\n\n- 背包物品消失\n- 经验等级归零\n- 出生点重置\n- 统计信息丢失\n- 成就进度重置\n- 死亡记录、游玩时长等数据消失\n\n实际上，这些数据并没有真正丢失。\n\nMinecraft 识别玩家时依赖的是 **UUID（唯一玩家标识）**，而不是玩家昵称。当登录方式发生变化时，玩家对应的 UUID 也会发生改变，因此服务器会将其视为一个全新的玩家。\n\n玩家的大部分数据文件都是以 UUID 作为文件名保存的，因此只要将旧 UUID 对应的数据迁移到新 UUID，即可完整继承原有角色的数据。\n\n## 找到旧 UUID 和新 UUID\n\n获取 UUID 的方法有很多，例如：\n\n- 查看服务端控制台日志\n- 将玩家加入白名单后，在白名单文件中查找\n- 使用第三方认证的玩家可在对应平台查看\n- 离线登录的玩家可通过在线工具计算离线 UUID\n\n在开始迁移前，需要先确认玩家的旧 UUID 和新 UUID。\n\n## 需要迁移的数据\n\n玩家的主要数据通常保存在以下三个位置：\n\n| 路径 | 作用 |\n| - | - |\n| 存档\u002Fplayerdata\u002Fuuid.dat | 保存玩家背包、装备、末影箱、经验等级、位置等数据 |\n| 存档\u002Fadvancements\u002Fuuid.json | 保存玩家进度和成就 |\n| 存档\u002Fstats\u002Fuuid.json | 保存游玩时长、死亡次数、挖掘统计等信息 |\n\n如果希望实现完整迁移，这三个位置的数据都需要一并处理。\n\n## 迁移方法\n\n操作前建议先备份整个存档，以防误操作导致数据损坏或丢失。\n\n如果新 UUID 对应的玩家已经进入过服务器，则需要先删除其对应的数据文件。\n\n随后将上述三个目录中旧 UUID 对应的文件复制一份，并将文件名修改为新 UUID：\n\n- playerdata\u002F旧UUID.dat → 新UUID.dat\n- advancements\u002F旧UUID.json → 新UUID.json\n- stats\u002F旧UUID.json → 新UUID.json\n\n完成后重新启动服务器，玩家再次进入游戏时即可继承原有数据。\n\n## 特殊情况\n\n部分插件或模组会额外保存玩家数据，例如经济系统、权限系统、家园插件、领地插件等。\n\n这些数据通常也会通过 UUID 或玩家名称进行关联，因此仅迁移原版存档数据并不一定能够完全恢复所有内容。\n\n如果服务器安装了相关插件或模组，还需要根据其数据存储方式进行额外迁移，具体情况需结合实际环境处理。\n"]