fn2006 / PollyMC

DRM-free Prism Launcher fork with support for custom auth servers.
GNU General Public License v3.0
875 stars 53 forks source link

Ely.by on lan servers #154

Open Dashiba opened 8 months ago

Dashiba commented 8 months ago

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 commented 8 months ago

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

A current workaround is to use CustomSkinLoader.

Dashiba commented 8 months ago

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 commented 8 months ago

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 https://github.com/fn2006/PollyMC/pull/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: https://github.com/fn2006/PollyMC/pull/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 commented 5 months ago

Status on this?

vladimir-sama commented 5 months ago
[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 commented 5 months ago

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