Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to use skins on offline account? #107

Open
ISE9218 opened this issue Oct 13, 2023 · 8 comments
Open

How to use skins on offline account? #107

ISE9218 opened this issue Oct 13, 2023 · 8 comments

Comments

@ISE9218
Copy link

ISE9218 commented Oct 13, 2023

The upload skin option is greyed out and i can't click it either. Do i need to use an ely.by account?

@fn2006
Copy link
Owner

fn2006 commented Oct 13, 2023

There's no skin support for offline accounts built into the launcher currently, either use an Ely.by account or use a skin mod.

@ISE9218
Copy link
Author

ISE9218 commented Oct 15, 2023

There's no skin support for offline accounts built into the launcher currently, either use an Ely.by account or use a skin mod.

Are there any skin mod you would reccomend for 1.20.2?

@fn2006
Copy link
Owner

fn2006 commented Oct 19, 2023

I personally use Ely.by so I can't really recommend any since I've not used them.
That being said I did a quick search on Modrinth and saw a few decent looking ones.

@ISE9218
Copy link
Author

ISE9218 commented Oct 20, 2023

I personally use Ely.by so I can't really recommend any since I've not used them. That being said I did a quick search on Modrinth and saw a few decent looking ones.

I saw those but i think they don't make the skin visible to other players. I tried the skin swapper mod and got a error. Can the ely.by patch be downloaded on a singleplayer world since i mostly play lan so that not everyone has to download it?

@ghost
Copy link

ghost commented Oct 25, 2023

I don't remember what it was called, but there was a plugin for Aternos (https://aternos.org/:en/) that would show your skin to everyone on the server. Otherwise, just use Ely.by (https://ely.by/) or a mod. I still recommend just buying Minecraft (https://www.minecraft.net/en-us/store/minecraft-java-bedrock-edition-pc); it's not that expensive and it's definitely worth it. With it you can use any launcher or client you want, including Prism Launcher (https://prismlauncher.org/) or alternatively ATLauncher (https://atlauncher.com/). And, of course, you can add your own skin and play on many servers.
(I just found this mod (https://modrinth.com/mod/skinrestorer), it seems promising...)

@ISE9218
Copy link
Author

ISE9218 commented Oct 25, 2023 via email

@evan-goode
Copy link
Contributor

Copying part of my comment on #66 here since it is relevant:

PollyMC uses authlib-injector to support third-party authentication servers. authlib-injector forces the client to try to load skins even in offline mode, but loading another player's skin will usually fail since the lookup is done by the player's UUID. In most cases, a player's "online" UUID (which comes from an authentication server such as Mojang or Ely.by and is probably randomly generated), is different from that player's "offline" UUID (which is deterministically generated from the player name). The authlib-injector client requests the skin for the "offline UUID" of the player, but the authentication server only knows the "online UUID".

Ely.by distributes a patched authlib.jar that solves this problem by detecting whether the game is in offline mode, and if it is, requesting skins by the player's name rather than their offline UUID. (I would link the source code to their authlib.jar but I can't find it... maybe it's nonfree?). Their authlib.jar uses Ely.by-specific routes, but the same thing could be done using the vanilla API protocol. I don't know for sure, but I'm guessing TL Legacy used this Ely.by authlib.jar, and that's why offline skins worked.

IMO this is worthwhile to fix, but not by PollyMC. I think the problem is best solved either (1) in authlib-injector, by making it behave like Ely.by's authlib.jar and request skins by player name in offline mode, and/or (2) in the authentication server, by resolving offline UUIDs to the correct skins. I've modified my authentication server to support skins in offline mode with authlib-injector: unmojang/drasl@e8537ea, I can possibly file a PR making the same changes for Ely.by.

I think the better of those two solutions is to make the change in authlib-injector, since you would only have to change one piece of software rather than many authentication servers.

@failingapbio
Copy link

Multiple mods work - skinswapper, for fabric, reskin for forge, and skinchanger plugin for hosted offline servers (falix)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants