UUIDs not changing
cuddylier opened this issue ยท 3 comments
Hi
I'm using dev build 497, when players login who have changed their username, their fields do not update to their new username and remain unusable by their new username. How does the UUID conversion work in the newer versions? When will it convert to allowing the new name to edit in the regions?
It does. But there is one caveat. They have to have logged at any time previously (while your server was running the new builds of PS with UUID functionality installed) with their old name to have their UUID saved and linked to their old username. Then when they log in with a different username PS can match the UUID, detect the change of username, and proceed to update all his fields.
If you have been running the old builds of PS that didn't have UUID functionality, and then upgraded, any user that signs in with their new username that hadn't signed with old username after the upgrade, will not have a UUID stored in the database, so they will not have their fields updated. This happens with old inactive users that change their name in absentia and then come back after the upgrade.
To help with these old users, I have added a /ps migrate [old-username] [new-username] command to do the migration of fields from one name to another manually.
Please let me know if this sounds like what happened to these players. Or if its not and this is a bug with the detection.
That sounds like exactly what happened, thank you for the detailed explanation. Is it safe to give /ps migrate to normal users? E.g. does it check the username history? If so, what is the permission since it's not listed here: http://preciousstones.shoutwiki.com/wiki/Main_Page#Permissions
The perm is preciousstones.admin.migrate, you can find it inside the plugin.yml in the new builds. Its a very powerful command as it could be used to steal someones entire protection set. I would advice only to give it to mods, who can verify that indeed this is the user before giving him control of someone elses fields.
The command is useful in other contexts as well. For example giving someone else control of a banned user's fields. Or users/mods leaving the server for good but with ownership of important protections.