diff --git a/CHANGELOG.md b/CHANGELOG.md index af685534..a96540af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,27 @@ +# 2.0 + +## Major changes + +* Bumped minimum Java version to 11 make use of modern Java performance features + * Report back if really still need the old versions + * Then we could make use of versioned code, but that requires more coding effort + +## Added + +* Support for HTTP/2 for contacting Mojang + +## Changed + +* Updated many dependencies + +## Removed + +* Dropped Java support < 11 +* Removed configuration option to add multiple outgoing IPv4 towards Mojang + * Was this really used? + +[...] A lot of changes + ### 1.11 * TODO: Replace reflection with methodhandles diff --git a/core/pom.xml b/core/pom.xml index f32781fb..c56a9059 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -203,7 +203,7 @@ com.github.games647 craftapi - 0.8.1 + 1.0-SNAPSHOT diff --git a/core/src/main/java/com/github/games647/fastlogin/core/ProxyAgnosticMojangResolver.java b/core/src/main/java/com/github/games647/fastlogin/core/ProxyAgnosticMojangResolver.java index e5768037..f3719dd2 100644 --- a/core/src/main/java/com/github/games647/fastlogin/core/ProxyAgnosticMojangResolver.java +++ b/core/src/main/java/com/github/games647/fastlogin/core/ProxyAgnosticMojangResolver.java @@ -29,8 +29,6 @@ import com.github.games647.craftapi.model.auth.Verification; import com.github.games647.craftapi.resolver.MojangResolver; import java.io.IOException; -import java.io.InputStream; -import java.net.HttpURLConnection; import java.net.InetAddress; import java.util.Optional; @@ -44,38 +42,9 @@ import java.util.Optional; */ public class ProxyAgnosticMojangResolver extends MojangResolver { - private static final String HOST = "sessionserver.mojang.com"; - - /** - * A formatting string containing a URL used to call the {@code hasJoined} method on mojang session servers. - *

- * Formatting parameters: - * 1. The username of the player in question - * 2. The serverId of this server - */ - public static final String ENDPOINT = "https://" + HOST + "/session/minecraft/hasJoined?username=%s&serverId=%s"; - @Override public Optional hasJoined(String username, String serverHash, InetAddress hostIp) throws IOException { - String url = String.format(ENDPOINT, username, serverHash); - - HttpURLConnection conn = this.getConnection(url); - int responseCode = conn.getResponseCode(); - - Verification verification = null; - - // Mojang session servers send HTTP 204 (NO CONTENT) when the authentication seems invalid - // If that's not our case, the authentication is valid, and so we can parse the response. - if (responseCode != HttpURLConnection.HTTP_NO_CONTENT) { - verification = this.parseRequest(conn, this::parseVerification); - } - - return Optional.ofNullable(verification); - } - - // Functional implementation of InputStreamAction, used in hasJoined method in parseRequest call - protected Verification parseVerification(InputStream input) throws IOException { - return this.readJson(input, Verification.class); + return super.hasJoined(username, serverHash, null); } }