games647 / FastLogin

Checks if a minecraft player has a valid paid account. If so, they can skip offline authentication automatically. (premium auto login)
https://www.spigotmc.org/resources/fastlogin.14153
MIT License
503 stars 121 forks source link

Failed to check premium state FileNotFoundException #998

Closed BartosB13 closed 1 year ago

BartosB13 commented 1 year ago

What happened?

Error in console

What did you expect?

No error in the console

Steps to reproduce

Premium auto-registration is enabled in config. This test account does not have premium enabled, despite the error it joins the server and then can register/login properly using the AdvancedLogin plugin from Leoko.

After the work is completed, the server will be connected to Velocity.

For the premium account everything works fine. After entering the /cracked command for the test account, the problem disappeared. But I would have to do this with every user. Is there any way to fix this error? With more players, it will make a big mess in the console.

Plugin list

2FA, AdvancedLogin, FastLogin, PlaceholderAPI, ProtocolLib, Vault, ViaBackwards, ViaVersion

Configuration file

No response

Server log

[16:31:31 INFO]: [FastLogin] Handling player Testplayernp
[16:31:31 ERROR]: [FastLogin] Failed to check premium state for Testplayernp
java.io.FileNotFoundException: https://api.mojang.com/users/profiles/minecraft/Testplayernp
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[?:?]
        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
        at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[?:?]
        at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2048) ~[?:?]
        at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:2043) ~[?:?]
        at java.security.AccessController.doPrivileged(AccessController.java:569) ~[?:?]
        at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:2042) ~[?:?]
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1609) ~[?:?]
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) ~[?:?]
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224) ~[?:?]
        at com.github.games647.craftapi.resolver.MojangResolver.findProfile(MojangResolver.java:196) ~[FastLoginBukkit.jar:?]
        at com.github.games647.fastlogin.core.shared.JoinManagement.onLogin(JoinManagement.java:93) ~[FastLoginBukkit.jar:?]
        at com.github.games647.fastlogin.bukkit.listener.protocollib.NameCheckTask.run(NameCheckTask.java:74) ~[FastLoginBukkit.jar:?]
        at com.github.games647.fastlogin.core.AsyncScheduler.process(AsyncScheduler.java:70) ~[FastLoginBukkit.jar:?]
        at com.github.games647.fastlogin.core.AsyncScheduler.lambda$runAsync$0(AsyncScheduler.java:61) ~[FastLoginBukkit.jar:?]
        at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[?:?]
        at org.bukkit.craftbukkit.v1_19_R2.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.19.3.jar:git-Paper-404]
        at org.bukkit.craftbukkit.v1_19_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.19.3.jar:git-Paper-404]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.19.3.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.io.FileNotFoundException: https://api.mojang.com/users/profiles/minecraft/Testplayernp
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1993) ~[?:?]
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) ~[?:?]
        at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529) ~[?:?]
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:308) ~[?:?]
        at com.github.games647.craftapi.resolver.MojangResolver.findProfile(MojangResolver.java:181) ~[FastLoginBukkit.jar:?]
        ... 11 more

Plugin version

1.12-SNAPSHOT-971b0e1

Platform

Spigot

Relevance

games647 commented 1 year ago

Looks like Mojang changed their API. Unusual change, but I'll fix it.