Our server recently changed world, by allowing users to migrate and keeping their inventory.
This was done using Multiverse. But there are 2 problems.
All the player data seems to still be stored in the old world's "playerdata" folder.
And sometimes an earlier player join, who exited being in the old world and who never moved, so that loads the old world and the player has to be forcefully tp'ed into the new world. The problem here are probably lots of earlier players who joined never to come online again in the future.
Is it possible to move the content of the old worlds "playerdata" folder, into the (still empty) "playerdata" folder of the new world? And then set the new world as main world in server.properties ?
Moving the player data would result in a few things you probably don't want happening. The best way to do it without players losing stuff would be to do what you are currently. You could also delete the old world and the players would spawn on the new map without their stuff.
Thanks for the answer, did it earlier today, and i'm happy to report that i see no problems with it yet.
# Stop server
# Moved the content of "playerdata" and also "stats" folder, into the new world folder.
# Removed the old world from Multiverse config
# Deleted the old world
# Set the new world as levelname in server.properties along with the new seed.
# Start server
# Connect to check that you get "Welcome back!" and not "Joined for the first time!", and that inventory is as before.
And ofcourse a full backup of EVERYTHING should be done by anyone who needs to do this in the future.
...The problem will most likely be if "ancient" players might join again, that didn't get to move or get force-moved, end up spawning into solid blocks. But that might even get prevented by some plugin or possible to fix with Skript. I'm just expecting that it might be a problem, but also the only problem.