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

Ely.by on lan servers #154

Open
Dashiba opened this issue Mar 8, 2024 · 6 comments · May be fixed by #160
Open

Ely.by on lan servers #154

Dashiba opened this issue Mar 8, 2024 · 6 comments · May be fixed by #160

Comments

@Dashiba
Copy link

Dashiba commented Mar 8, 2024

I use ely.by and it works fine for me, but I cant see other players skins, nor can they see mine, I'm playing on a lan server with friends

I saw that I need to patch authlib with the one from Ely.by but the "tutorial" doesn't work for me, I assume PollyMC is just different.
On top of that there is no version for mc 1.20.1

Am I a fool or is there no way to do this on lan servers?

@evan-goode
Copy link
Contributor

This is a duplicate of #107, see my comment there for an explanation of the situation. This is blocked by either elyby/accounts#32 or us forking authlib-injector and fixing it there.

A current workaround is to use CustomSkinLoader.

@Dashiba
Copy link
Author

Dashiba commented Mar 16, 2024

This is a duplicate of #107, see my comment there for an explanation of the situation. This is blocked by either elyby/accounts#32 or us forking authlib-injector and fixing it there.

A current workaround is to use CustomSkinLoader.

I did read your comment before, but what I'm saying here is that I couldn't find a ely.by authlib version for 1.20.1, however I guess even If i did find it, it wouldn't work? your comment seems to insinuate that PollyMC just doesn't support Ely.by's patched authlib, or maybe my reasoning capabilities are underperforming, It is a little hard for me to understand all that.

I have tried CustomSkinLoader, It is not exactly what I'm looking for.

I also see both here and in your comment that you've referenced one of your... posts? commits? (I don't know what it's called) as a possible fix, however opening it just gives me all this baffling code and alot of options, I'm not sure what to do with it.

I apologize If I sounded dumb or said something wrong, I am trying to understand github.

evan-goode added a commit to unmojang/PollyMC that referenced this issue Mar 18, 2024
Resolves fn2006#154

In 1.20+, authlib-injector wants to intercept
https://api.minecraftservices.com/publickeys [0], but if we override the
services server using -Dminecraft.api.services.host, the request does
not get intercepted.

That's not an issue for API servers that implement the /publickeys
route, but Ely.by does not. A decent solution is to not set these
-Dminecraft.api.*.host system properties when authlib-injector is
available, since authlib-injector expects authlib to make requests to
Mojang's API servers.

[0] yushijinhun/authlib-injector@18a0ce2
@evan-goode
Copy link
Contributor

Oh sorry, I read your report too fast, I don't think this is #107 actually (there have been several duplicate reports of #107 recently). I think this is a separate bug that hasn't been reported yet.

I can reproduce this on 1.20, 1.20.1 and 1.20.4, but not 1.19.4. The issue does not seem to be limited to LAN servers, but any 1.20+ server.

I'm pretty sure the issue is that Ely.by does not implement the new https://whateverservicesserver.org/publickeys endpoint. I've prepared #160 as a workaround, hopefully we can merge it before we release PollyMC 8.2.

I did read your comment before, but what I'm saying here is that I couldn't find a ely.by authlib version for 1.20.1, however I guess even If i did find it, it wouldn't work? your comment seems to insinuate that PollyMC just doesn't support Ely.by's patched authlib, or maybe my reasoning capabilities are underperforming, It is a little hard for me to understand all that.

It's probably possible to get Ely.by's patched authlib working on Prism Launcher/PollyMC, but I've never set it up and I'm not sure how to. I think in general we would rather support just authlib-injector. And yeah, maybe their 1.20 authlib works on 1.20.1? But maybe not.

I also see both here and in your comment that you've referenced one of your... posts? commits? (I don't know what it's called) as a possible fix, however opening it just gives me all this baffling code and alot of options, I'm not sure what to do with it.

I apologize If I sounded dumb or said something wrong, I am trying to understand github.

No worries at all, and sorry if I'm being a little too technical. As a developer, when I see a bug report on GitHub, I'm usually thinking "how should I identify, document, fix the root cause of this, in the codebase" rather than "what should I tell the user so they can fix their immediate problem". So the way I communicate is maybe not super helpful from a user's point of view. I should probably be a little more conscious of that.

This proposed change: #160 should fix this issue. But it may take a while to be merged, I don't have permission to merge it myself. If you want to use the fixed version now, you should be able to download it from here: https://github.com/unmojang/PollyMC/actions/runs/8330753650 when the build finishes.

@vladimir-sama
Copy link

Status on this?

@vladimir-sama
Copy link

[Yggdrasil Key Fetcher/ERROR]: Failed to request yggdrasil public key
com.mojang.authlib.exceptions.MinecraftClientHttpException: Status: 404
	at com.mojang.authlib.minecraft.client.MinecraftClient.readInputStream(MinecraftClient.java:100) ~[authlib-6.0.54.jar:?]
	at com.mojang.authlib.minecraft.client.MinecraftClient.get(MinecraftClient.java:57) ~[authlib-6.0.54.jar:?]
	at com.mojang.authlib.yggdrasil.YggdrasilServicesKeyInfo.fetch(YggdrasilServicesKeyInfo.java:114) ~[authlib-6.0.54.jar:?]
	at com.mojang.authlib.yggdrasil.YggdrasilServicesKeyInfo$1.run(YggdrasilServicesKeyInfo.java:89) ~[authlib-6.0.54.jar:?]
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?]
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
	at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]
[14:35:22] [Yggdrasil Key Fetcher/ERROR]: Failed to request yggdrasil public key
com.mojang.authlib.exceptions.MinecraftClientHttpException: Status: 404
	at com.mojang.authlib.minecraft.client.MinecraftClient.readInputStream(MinecraftClient.java:100) ~[authlib-6.0.54.jar:?]
	at com.mojang.authlib.minecraft.client.MinecraftClient.get(MinecraftClient.java:57) ~[authlib-6.0.54.jar:?]
	at com.mojang.authlib.yggdrasil.YggdrasilServicesKeyInfo.fetch(YggdrasilServicesKeyInfo.java:114) ~[authlib-6.0.54.jar:?]
	at com.mojang.authlib.yggdrasil.YggdrasilServicesKeyInfo$1.run(YggdrasilServicesKeyInfo.java:89) ~[authlib-6.0.54.jar:?]
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572) ~[?:?]
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[?:?]
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
	at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]

On client log

@hero-persson
Copy link

This is fixed in Fjord Launcher Unlocked: https://github.com/hero-persson/FjordLauncherUnlocked.

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

Successfully merging a pull request may close this issue.

4 participants