Summary:
Player data on a singleplayer world isn't used when that world is moved to/used with BDS.
Steps to reproduce:
Create a new local world, give yourself a bunch of items and tame a pet
Save and close the world
Upload the world to a BDS install and start the server
Join the server while still logged into the same account
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
is duplicated by
Comments


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.

Inventory is one thing but you also lose your pets.

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.

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!

Having same problem

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

adsummit what is your easy fix
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