From 84e9606e4f9470e0fea39af33dc7d45a49a2473c Mon Sep 17 00:00:00 2001 From: Evan Goode Date: Sun, 23 Mar 2025 17:08:51 -0400 Subject: [PATCH] legacy: handle URL-encoded session ID --- .../legacy/fix/online/OnlineModeFix.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libraries/launcher/legacy/org/prismlauncher/legacy/fix/online/OnlineModeFix.java b/libraries/launcher/legacy/org/prismlauncher/legacy/fix/online/OnlineModeFix.java index b822d6469..01b7f3e8c 100644 --- a/libraries/launcher/legacy/org/prismlauncher/legacy/fix/online/OnlineModeFix.java +++ b/libraries/launcher/legacy/org/prismlauncher/legacy/fix/online/OnlineModeFix.java @@ -84,7 +84,16 @@ public final class OnlineModeFix { // sessionId has the form: // token:: - String accessToken = sessionId.split(":")[1]; + // or, as of Minecraft release 1.3.1, it may be URL encoded: + // token%3A%3A + String accessToken; + if (sessionId.contains(":")) { + accessToken = sessionId.split(":")[1]; + } else if (sessionId.contains("%3A")) { + accessToken = sessionId.split("%3A")[1]; + } else { + throw new AssertionError("invalid sessionId"); + } String uuid = null; uuid = MojangApi.getUuid(user, proxy);