mojira.dev
BDS-5121

Player data lost when moving from BDS to Singleplayer (and vice versa)

Summary:
Player data on a singleplayer world isn't used when that world is moved to/used with BDS.

Steps to reproduce:

  1. Create a new local world, give yourself a bunch of items and tame a pet

  2. Save and close the world

  3. Upload the world to a BDS install and start the server

  4. Join the server while still logged into the same account

  5. Note you enter as a new player, items and levels are gone, pets are no longer yours etc.

You can move the world back to singleplayer and progress while the world was on BDS will be lost but items etc from before the move will be back.

What I expected to happen:
My player data should be linked to my account, allowing me to move it between BDS and Singleplayer without losing progress

What actually happened:
Player data is stored differently for local and network players causing inconsistencies when moving between BDS and Singleplayer.

Some more detail (all educated assumption):
At the moment when playing a world in singleplayer, your data is stored under a local_player entry (with no link to your xbox account). When that same world is moved onto a BDS and you connect you instead get a new player_server_guid entry. Because your progress is stored under local_player its not applied to the player.

Realms is able to get around this by (I believe) "copying" the player data of the local_player to the owners player_server_guid account.

BDS isn't linked to an "owner" in the same way realms are so the same process may not be possible.

Related issues

Comments

migrated

Hi Cirnel,

When you play a world locally you are considered the "local" player, however when you play on a BDS everyone is considered a "network" player. I'm assuming changing this would break worlds for people that play with no network connection etc. Your stuff is all still there, if you move the world back to a local instance all your stuff will be there still.

To work around the issue you need to place all items in a box before you transfer the world over to BDS.

Ionic

migrated

I experienced the same issue. I confirm putting items into box does work but this is just a workaround.

I think this is bug and items should be kept because this happens when I use xbox account in both local computer and BDS.

So I suggest do not differentiate players based on local and network connection if they use the same account.

migrated

Inventory is one thing but you also lose your pets.

migrated

As a workaround if you are switching from single player to BDS, I found that uploading my world to a Realm before moving my world to a BDS copies the local player into the network player in my local world. This is a one way operation though, meaning if you go from BDS back to single player, your local player will not have all your data.

migrated

I ran into this when trying to transfer my son's preferred world to a server to make it easier to play with family members not in the same house.  I managed to piece together a workaround that doesn't involve placing all your items in a box before transferring the world, and that preserves things like pets.  It's a bit involved, but thanks to previous helpful people doing the hard work of writing Python bindings to the Bedrock database format, the difficult bit was working out what the various player_... UUIDs needed to be.

You can find my code in cjwatson/minecraft-convert-local-player on GitHub.  I've tested it on exactly one world, and I've only implemented the local-to-BDS direction, so bear that in mind!

adsumit

Having same problem

adsumit

And found easy solution after hard work on online research. Let me know if you want to know how I fixed it easily.

migrated

adsummit what is your easy fix

Kirnel

(Unassigned)

Confirmed

Retrieved