MrLetsplay2003 / ShittyAuthServer

Host your own (shitty) authentication server for Minecraft using the Yggdrasil authentication scheme
12 stars 5 forks source link

Problem when using authlib-injector on the client #13

Closed Fridtjof-DE closed 8 months ago

Fridtjof-DE commented 8 months ago

Ich nehme mal an, dass ich es in deutsch beschreiben darf.

Also wenn ich den ShittyAuthLauncher benutze kann ich mich scheinbar erfolgreich mit meinem ShittyAuthServer verbinden.

Dann habe ich bei meiner Fork vom SKCraft Launcher die Adresse vom Yggdrasil Server zu der vom ShittyAuthServer geändert und ich kann mich erfolgreich mit einem Account anmelden. Mit authlib-injector als javaagent versuche ich nun den Client zu anzupassen doch das klappt nur mäßig und ich glaube, dass es am ShittyAuthServer liegt. Im WebInterface habe ich die authlib-injector-Unterstützung aktiviert (und neugestartet).

Ich bekomme beim starten vom Client folgenden Fehler: [19:52:33] [Worker-Main-5/ERROR]: Failed to retrieve profile key pair com.mojang.authlib.exceptions.MinecraftClientException: Failed to read value <!DOCTYPE html><html><head><title>404 Not Found</title><meta name="description" content="404 Page" /><link rel="icon" href="/favicon.ico" /><meta name="viewport" content="width=device-width, initial-scale=1" /></head><body><h1>404 Not Found</h1><br /><i>/authserver/minecraftservices/player/certificates was not found on this server</i><br /><p style="font-size: 12px">SimpleHttpServer (Java)</p></body></html> at com.mojang.authlib.minecraft.client.ObjectMapper.readValue(ObjectMapper.java:29) ~[authlib-3.16.29.jar:?] at com.mojang.authlib.minecraft.client.MinecraftClient.readInputStream(MinecraftClient.java:84) ~[authlib-3.16.29.jar:?] at com.mojang.authlib.minecraft.client.MinecraftClient.post(MinecraftClient.java:55) ~[authlib-3.16.29.jar:?] at com.mojang.authlib.yggdrasil.YggdrasilUserApiService.getKeyPair(YggdrasilUserApiService.java:73) ~[authlib-3.16.29.jar:?] at net.minecraft.class_7434.method_43605(class_7434.java:130) ~[client-intermediary.jar:?] at net.minecraft.class_7434.method_44291(class_7434.java:79) ~[client-intermediary.jar:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?] at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[?:?] at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[?:?] at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[?:?] at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[?:?] at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[?:?] Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $ at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:395) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1214) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1124) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1034) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:969) ~[gson-2.10.jar:?] at com.mojang.authlib.minecraft.client.ObjectMapper.readValue(ObjectMapper.java:27) ~[authlib-3.16.29.jar:?] ... 12 more Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $ at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:393) ~[gson-2.10.jar:?] at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:384) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1214) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1124) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:1034) ~[gson-2.10.jar:?] at com.google.gson.Gson.fromJson(Gson.java:969) ~[gson-2.10.jar:?] at com.mojang.authlib.minecraft.client.ObjectMapper.readValue(ObjectMapper.java:27) ~[authlib-3.16.29.jar:?] ... 12 more

Bis dahin klappt es aber scheinbar: [19:49:54] [Render thread/INFO]: Environment: authHost='http://play.fridtjof.me:8880/authserver/authserver', accountsHost='http://play.fridtjof.me:8880/authserver/api', sessionHost='http://127.0.0.1:56653/https/sessionserver.mojang.com', servicesHost='http://127.0.0.1:56653/https/api.minecraftservices.com', name='PROD' [authlib-injector] [INFO] Transformed [com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService] with [Texture Whitelist Transformer] [19:49:54] [Render thread/INFO]: Setting user: Fridtjof

authlib-injector setzte ich mit -javaagent:[...]/authlib-injector.jar=http://play.fridtjof.me:8880/authserver als Startparameter.

Welche Adresse ich für authlib-injector angeben muss, habe ich aus dem Quellcode entnommen, aber meine Javakenntnisse halten sich dann doch in Grenzen - Für sowas wäre eine umfangreichere Dokumentation hilfreich C:

Danke schon mal!

MrLetsplay2003 commented 8 months ago

Danke für den Hinweis. Ich werde mir im authlib-injector noch mal genau ansehen, welche Pfade dort verwendet werden :+1:

MrLetsplay2003 commented 8 months ago

Ich habe gerade einen ein paar Änderungen commitet, die das Problem beheben sollten. Falls weiterhin Probleme auftreten, schaue ich mir es noch mal näher an

Fridtjof-DE commented 8 months ago

Scheint alles zu funktionieren!