Stuart Walton
- Tiger_Walts
- tiger_walts
- Etc/GMT
- Yes
- No
Before I start, I'd like to point out that this is a bug with the current Launcher and not any particular version of Minecraft. This issue has been raised before but got dismissed on 'unsupported version' grounds.
The workaround for it dissuades players from using the official launcher.
The Issue
When using the Minecraft Launcher to start a Minecraft client of version 1.6.4 or earlier the user's Session ID is not passed to the client.
If the client then attempts to connect to a server it will be rejected with the on-screen error:
- Failed to Login: bad Login
Attached is an image of the startup log when launching Minecraft 1.6.4. You can see where the client (game) is reporting a Session ID of '-'. Starting Minecraft 1.7.2 from the same Launcher session will pass the Session ID to the client.
The issue affects versions of Minecraft 1.6.4 and earlier. I can only assume that from version 1.7.x onward a different argument name is being used for the Session ID.
Workaround
The current workaround is to use a 3rd party launcher that you can run Minecraft from. The following launchers can all be used:
ATLauncher- T
echnicLauncher- MultiMC 5
Before I start, I'd like to point out that this is a bug with the current Launcher and not any particular version of Minecraft. This issue has been raised before but got dismissed on 'unsupported version' grounds.
The workaround for it dissuades players from using the official launcher.
The Issue
When using the Minecraft Launcher to start a Minecraft client of version 1.6.4 or earlier the user's Session ID is not passed to the client.
If the client then attempts to connect to a server it will be rejected with the on-screen error:
- Failed to Login: bad Login
Attached is an image of the startup log when launching Minecraft 1.6.4. You can see where the client (game) is reporting a Session ID of '-'. Starting Minecraft 1.7.2 from the same Launcher session will pass the Session ID to the client.
The issue affects versions of Minecraft 1.6.4 and earlier. I can only assume that from version 1.7.x onward a different argument name is being used for the Session ID.
Workaround
The current workaround is to use a 3rd party launcher that you can run Minecraft from. The following launchers can all be used:
- Legacy Launcher
- ATLauncher
- Technic Launcher
- MultiMC 5
Duplicates
For each version of Minecraft there's a version json file. Inside there's a `minecraftArguments` key that tells the launcher what arguments to pass to the client jar:
Here's the one from `1.8.json`, a version that works:
```
"minecraftArguments": "--username ${auth_player_name} --version ${version_name} --gameDir ${game_directory} --assetsDir ${assets_root} --assetIndex ${assets_index_name} --uuid ${auth_uuid} --accessToken ${auth_access_token} --userProperties ${user_properties} --userType ${user_type}"
```Here's the one from `1.6.4.json`:
```
"--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets}"
```1.6.4 uses the argument `session` and is passed the variable `${auth_session}`.
1.8 uses arguments `uuid` and `accessToken` and is passed the variables `${auth_uuid}` and `${auth_access_token}` respectively.I suspect that the `${auth_session}` variable is not available in the new launcher. I tried editing the `1.6.4.json` so that it passes the argument: `--session ${auth_uuid}:${auth_access_token}`, but the launcher is pretty strict about the files not being messed with (for good reason) and re-downloads it if its hash is wrong.
The fix for this issue may be as simple as making sure that the ${auth_session} variable is available for building the java arguments string.
This is a request to reopen this issue because all Minecraft versions available in the launcher should be able to connect to their respective server versions.
This is not an issue with the old versions of Minecraft themselves. The issue lies with old versions when they are launched using the new launcher (2.0.806).
You can successfully connect to a server if you launch Minecraft using the old launcher or any 3rd party launcher.
Attempting to connect using the new launcher will return a 'Bad Login' error to the client if they are running Minecraft 1.6.4 or earlier.
This behaviour is observed whether connecting to a dedicated server in a data center or on the local machine.
It seems to me that the issue lies with the new Minecraft Launcher. Can we confirm if this behaviour is intended or not?
Thanks for your time.
It looks like the manifest for library files required by Forge is also specifying hash files to verify the library file. Some of these hashes appear to be missing (or the URL is incorrect). The Minecraft Launcher therefore cannot verify these libraries and deletes them. The 3rd party launcher may by skipping the hash check, which is why it works.
Either the manifest needs to be corrected or those hash files need to be generated and made available at those URLs.
I believe that this is caused by the player's authentication Session ID not being passed to the Minecraft Client by the launcher.
I created a ticket for it -
MCL-7282Other Duplicates
MCL-6223MCL-6017the file it is trying to download is the legacy asset:
The URI is correct and the file can be downloaded using wget on Linux. Download failed in Chrome, possibly due to the Mime-Type that it is being served as.
The issue is likely a 3rd party firewall or antivirus.
Disable your antivirus and/or firewall while trying to launch Minecraft to confirm this.
Tested MCL 2.0.895 and it is still an issue.
Tested MCL 2.0.934 and it is still an issue.
For each version of Minecraft there's a version json file. Inside there's a minecraftArguments key that tells the launcher what arguments to pass to the client jar:
Here's the one from 1.8.json, a version that works:
Here's the one from 1.6.4.json:
"--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets}"1.6.4 uses the argument session and is passed the variable auth_session.
1.8 uses arguments uuid and accessToken and is passed the variables auth_uuid and auth_access_token respectively.
I suspect that the auth_session variable is not available in the new launcher. I tried editing the 1.6.4.json so that it passes the argument:
--session ${auth_uuid}:${auth_access_token}but the launcher is pretty strict about the files not being messed with (for good reason) and re-downloads it if its hash is wrong.
The fix for this issue may be as simple as making sure that the auth_session variable is available for building the java arguments string.
For each version of Minecraft there's a version json file. Inside there's a minecraftArguments key that tells the launcher what arguments to pass to the client jar:
Here's the one from 1.8.json, a version that works:
Here's the one from 1.6.4.json:
"--username ${auth_player_name} --session ${auth_session} --version ${version_name} --gameDir ${game_directory} --assetsDir ${game_assets}"1.6.4 uses the argument session and is passed the variable auth_session.
1.8 uses arguments uuid and accessToken and is passed the variables auth_uuid and auth_access_token respectively.
I suspect that the auth_session variable is not available in the new launcher. I tried editing the 1.6.4.json so that it passes the argument:
--session ${auth_uuid}:${auth_access_token}but the launcher is pretty strict about the files not being messed with (for good reason) and re-downloads it if its hash is wrong.
The fix for this issue may be as simple as making sure that the auth_session variable is available for building the java arguments string.
The cause has been discovered, but nothing has been done to fix it yet.
Please check and vote up issue
MCL-7178The cause has been discovered and a workaround is detailed in issue
MCL-7178An alternate cause has been discovered, but nothing has been done to fix it yet.
Please check and vote up issue
MCL-7178A workaround is also detailed within.