mojira.dev
MC-50247

Scoreboard does not use UUIDs; scores will be lost by name changes

Note: This is not really related to MC-44468; that report precedes the transition from names to UUIDs.

Although 14w10a changed most of server-side player tracking to use UUIDs instead of display names, the Scoreboard system still uses display names. This means that players will lose their scores on servers and in maps if they change their name.

Steps to Reproduce:

  1. Create a scoreboard objective,

    scoreboard objectives add Test dummy Test
  2. Give yourself a score in this objective,

    scoreboard players set @p Test 1
  3. Save and Quit

  4. Use an NBT editor to examine the /data/scoreboard.dat of your world

  5. Observe that the "Name" entry in your PlayerScores is your raw display name, not your UUID.

Although this bug cannot easily be confirmed in-game until name changes are released (which will be after 1.8), it will be too late to fix it by then because the damage will be done.

Caveat: simply storing a UUID in the name field will cause the sidebar to display UUIDs instead of names. The game will likely need to keep the Name field, and also add a UUID field, unless the server can lookup display names for UUIDs of offline players (which has been mentioned as potentially not possible on Twitter).

Linked issues

MC-295744 Scoreboards don't update after a username change Resolved MC-265368 team players are stored as names instead of UUIDs on multiplayer Resolved MC-77229 Players scoreboard objectives will be lost when the player changes his name Resolved MC-77315 Pseudos are affected by scoreboard, UUID doesnt affect by it. Resolved MC-77390 Scoreboard objectives do not carry with name changes Resolved

Comments 7

We decided against using UUIDs for players on scoreboards. Scoreboards are not meant to be long term storage of persistent data and having players lose their scoreboard progress after a name change should not have too much impact.

That seems rather strange; most scoreboard objectives are things which players accrue in the long-term (this is especially true for the later achievements). Will there be an option for long-term persistent data in the future? Not all custom maps are short-term minigames; some take longer amounts of time to complete. I've seen many mapmakers use scoreboards for quest completion systems; the impact of losing that can be quite serious to the player. Mapmakers in particular can't rely on server plugins and databases, and it seems silly that changing one's name may result in having to start over on an adventure map.

That's a change that can't even be fixed by playing worlds on previous versions via the launcher.

This is not the place for feature requests or discussions. I recommend to post about it on the minecraftsuggestions subreddit, that's the best place to discuss this topic.

this is rather important
I don't know how this couldn't be important.
for lot's of scores in a scoreboard (such as online status)
you won't be able to do such stuff
/gamemode 0 @a[name=!OperatorGuy]
won't work if this OperatorGuy changed his name to CharlesWilliams or so
/gamemode 0 @a[UUID=!(his UUID)]
would
and if he had scores for things such as 'joined'
(if then he changes his name he will lose that score and maybe his inventory will be cleared because of some initialisation progress on a server)

At least this is a very annoying game mechanic I hope you will think about this more and add a way for people to use UUID instead of player.

for lots of convenience reasons

It seems strange that this feature would be solely available for mini-games, and not for survival worlds. Why can't we maintain scores for deaths, mob kills etc.?

In addition, vanilla survival servers have started to use scoreboard and command blocks in clever ways to replace plugins. Scoreboard not being updated to be based on UUIDs utterly breaks these servers.

@Searge

Having players lose their scoreboard progress after a name change will have a huge impact. Leaving this behavior in the game is a terrible idea. Why would you add the scoreboard and then refuse to support it?

This issue is still a bug for me everytime someone changes their name on my mc server, my deathcount resets. This is very teribble when its still not fixed today in 1.17

WolfieMario

michael

Unconfirmed

NBT, UUID, scoreboard, username

Minecraft 14w10a, 1.15.2

Retrieved