Yet, trying to connect to a Minecraft server with online-mode=true fails:
[INFO] Disconnecting <User> [/127.0.0.1:53603]: Failed to verify username!
The username is correct and skins work though.
I can connect just fine without LaunchWrapper (with and without the Betacraft proxies).
It should be noted that MultiMC doesn't replace existing libraries like LWJGL with MCPHackers's version.
Cause
Using tcpdump, I determined that when run with LaunchWrapper, the client doesn't send anything to session.minecraft.net. The server actually accepts the connection but the client cannot verify itself and bails out.
Without LaunchWrapper:
# Client
127.0.0.1 > session.minecraft.net: HTTP: GET /game/joinserver.jsp?user=<User>&sessionId=<sessionId>&serverId=<serverId> HTTP/1.1
session.minecraft.net > 127.0.0.1: HTTP: HTTP/1.1 200 OK
# Server
127.0.0.1 > session.minecraft.net: HTTP: GET /game/checkserver.jsp?user=<User>&serverId=<serverId>
session.minecraft.net > 127.0.0.1: HTTP: HTTP/1.1 200 OK
With LaunchWrapper:
# Server only!
127.0.0.1 > session.minecraft.net: HTTP: GET /game/checkserver.jsp?user=<User>&serverId=<serverId>
session.minecraft.net > 127.0.0.1: HTTP: HTTP/1.1 200 OK
Tested using Minecraft 1.1 on MultiMC 0.7.0 and PrismLauncher 8.0, macOS 10.14 Mojave.
Java:
Problem
LaunchWrapper is run with:
The game's log seems to confirm that both the username and the access token are forwarded to the game:
Yet, trying to connect to a Minecraft server with
online-mode=true
fails:The username is correct and skins work though.
I can connect just fine without LaunchWrapper (with and without the Betacraft proxies).
It should be noted that MultiMC doesn't replace existing libraries like LWJGL with MCPHackers's version.
Cause
Using
tcpdump
, I determined that when run with LaunchWrapper, the client doesn't send anything tosession.minecraft.net
. The server actually accepts the connection but the client cannot verify itself and bails out.Without LaunchWrapper:
With LaunchWrapper:
I know that the wrapper is programmed to properly make the query in LegacyURLStreamHandler.java:
so I'm not sure as to where the bug lies.