diff --git a/launcher/minecraft/MinecraftInstance.cpp b/launcher/minecraft/MinecraftInstance.cpp index 68629ff42..d43ffe2e4 100644 --- a/launcher/minecraft/MinecraftInstance.cpp +++ b/launcher/minecraft/MinecraftInstance.cpp @@ -569,6 +569,14 @@ QStringList MinecraftInstance::processAuthArgs(AuthSessionPtr session) const break; } } + } else if (session->wants_online && (v == "1.16.4" || v == "1.16.5")) { + // https://github.com/FabricMC/fabric-loom/issues/915#issuecomment-1609154390 + QString invalid_url{ "https://invalid.invalid" }; + args << "-Dminecraft.api.env=custom"; + args << "-Dminecraft.api.auth.host=" + invalid_url; + args << "-Dminecraft.api.account.host=" + invalid_url; + args << "-Dminecraft.api.session.host=" + invalid_url; + args << "-Dminecraft.api.services.host=" + invalid_url; } return args; } diff --git a/launcher/minecraft/auth/AuthSession.cpp b/launcher/minecraft/auth/AuthSession.cpp index 37534f983..f169eb834 100644 --- a/launcher/minecraft/auth/AuthSession.cpp +++ b/launcher/minecraft/auth/AuthSession.cpp @@ -27,6 +27,7 @@ bool AuthSession::MakeOffline(QString offline_playername) access_token = "0"; player_name = offline_playername; status = PlayableOffline; + wants_online = false; return true; } diff --git a/launcher/minecraft/launch/LauncherPartLaunch.cpp b/launcher/minecraft/launch/LauncherPartLaunch.cpp index cbd9ead67..d6b8d6da1 100644 --- a/launcher/minecraft/launch/LauncherPartLaunch.cpp +++ b/launcher/minecraft/launch/LauncherPartLaunch.cpp @@ -117,9 +117,9 @@ void LauncherPartLaunch::executeTask() } m_launchScript = minecraftInstance->createLaunchScript(m_session, m_serverToJoin); - QStringList args = minecraftInstance->javaArguments(); - args.append(minecraftInstance->processAuthArgs(m_session)); + auto args = minecraftInstance->processAuthArgs(m_session); + args.append(minecraftInstance->javaArguments()); QString allArgs = args.join(", "); emit logLine("Java Arguments:\n[" + m_parent->censorPrivateInfo(allArgs) + "]\n\n", MessageLevel::Launcher);