overviewer / Minecraft-Overviewer

Render high-resolution maps of a Minecraft world with a Leaflet powered interface
https://overviewer.org/
GNU General Public License v3.0
3.36k stars 481 forks source link

genPOI returning incorrect player names #1279

Open Rycieos opened 8 years ago

Rycieos commented 8 years ago

Version 0.12.91.

When running with --genpoi, the filter returns an old player name for that player instead of the current one. This means that when using the name to search for a skin, an incorrect skin is found.

My relevant config lines:

def playerSpawns(poi):
    if poi['id'] == 'Player':
        poi['icon'] = "http://minotar.net/avatar/%s/32" % poi['EntityId']
        return "Current location for %s" % poi['EntityId']

Expected behavior: poi['EntityId'] returns current Minecraft player name. Actual behavior: poi['EntityId'] returns an out-of-date Minecraft player name.

The two offending players can be found here and here. Note that they have changed their names recently. However, I have a counter example here, where it works just fine for this player.

CounterPillow commented 8 years ago

Most likely caused by the UUID cache, but we need to rewrite some of that code anyway due to #1212.

@eminence, is there any expiry mechanism for the current UUID caching mechanism? If not, I suggest we use the modification time of player files, that way names will be re-fetched when they log into the server the next time.