Skip to content

Resolve "offline" UUIDs to correct players #32

@evan-goode

Description

@evan-goode

We've had a number of PollyMC users complain that skins are not visible when using an authlib-injector+Ely.by client with an online-mode=false server: https://github.com/fn2006/PollyMC/issues/107, https://github.com/fn2006/PollyMC/issues/58. The authlib-injector client does attempt to load player skins from the API server even on online-mode=false servers, but it requests them via the player's "offline UUID" (derived from the player's username), and Ely.by responds with a 204 No Content.

What if Ely.by tried to find players by their "offline UUID" if the requested UUID can't be found? At least for the /sessionserver/session/minecraft/profile/<UUID> route used by the client to get player skins. I implemented this behavior in my authentication server: unmojang/drasl@e8537ea, and it seems to work well. I calculate and store the player's offline UUID everytime their username is changed, and then on some API routes, I fall back to looking up by offline UUID if the requested UUID can't be found.

Another, possibly better approach to solve the problem would be to modify authlib-injector to look up skins by player name in offline mode, like Ely.by's patched authlib seems to do. I've asked the developers about it, but they haven't gotten back to me yet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions