Mod Notice
A new version of the legacy launcher has been released that solves this issue. If your launcher does not automatically update, you can download the updated version (1.6.93) here.
If you're able to launch the updated launcher (2.x.x), it is recommended to update to this one instead. You can find the download links for it here. If you're not able to launch the 2.x.x launcher, please create a new ticket about that.
You find the workaround for this issue that could be used before it was fixed below. It is recommended to use the updated launcher (legacy or not) instead of using the workaround below.
This is an error that occurs only when launching 1.14.4, 19w36a, or versions that have been released after 19w36a. It happens because the legacy launcher does seem to have problems with downloading and installing the newer version files.
To work around this issue, you can install versions you want to play manually. This is a rather tedious task. If you can use the updated launcher, or a third party launcher (such as MultiMC), you might want to use those. (Beware of pirated third-party launchers though, they might steal your login data.)
How to install a version manually
Close the launcher.
Visit the version page of the version you want to play on the official Minecraft Wiki.
On the top right of the page, you'll see a box with some informations about the version. Here, you find links to download the version files directly from Mojang's servers. Click the "Download → Client" and "Download → .json" links to download a
client.jar
file, and a<version>.json
file.Navigate to your
.minecraft
folder.Navigate into the folder
versions
.Create a new folder. You may choose a custom name, but not the name of any vanilla version. For instance, I would recommend to use
1.14.4-fix
if you want to install 1.14.4.Copy the
client.jar
file into the folder you just created and rename it so that it has the same name as the folder. For instance, for 1.14.4, that would be1.14.4-fix.jar
.Copy the
<version>.json
file you downloaded in that folder as well, and rename it so that it has the same name. For instance, for 1.14.4, that would be1.14.4-fix.json
.Open the
.json
file in a text editor of your choice.Edit the
"id": "<version>"
field so that it now has the same name as you gave the version, for instance"id": "1.14.4-fix"
.Delete the first
downloads
object ("downloads", and everything inside of the curly braces behind).Save the file and close it.
Open the launcher.
Edit your launcher profile and select the version you just installed, for instance
1.14.4-fix
.
Happy mining and crafting!
If you have trouble following these steps above, please do not comment on this ticket. Instead, I've opened a thread on Reddit if you need support.
I'm aware that this workaround is very tedious and hard to follow, but it's the only one that is found to work on computers that can't use the new launcher as of now.
I use the old Java launcher because the new one does not work on my Linux distribution. Yesterday afternoon, the launcher suddenly refused to start up Minecraft 1.14.4. The launcher continues to work with all earlier versions of Minecraft, and was working with Minecraft 1.14.4 only yesterday morning.
When I press the "Play" button I see the message "Preparing...", and nothing else happens. In the launcher log, I see a stack trace as follows:
[12:58:00 INFO]: Queueing library & version downloads
[12:58:00 FATAL]: Unhandled exception in thread Thread[pool-2-thread-2,5,main]
com.google.gson.JsonSyntaxException: duplicate key: null
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:191) ~[Minecraft.jar:?]
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:146) ~[Minecraft.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93) ~[Minecraft.jar:?]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172) ~[Minecraft.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:795) ~[Minecraft.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:761) ~[Minecraft.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:710) ~[Minecraft.jar:?]
at com.google.gson.Gson.fromJson(Gson.java:682) ~[Minecraft.jar:?]
at net.minecraft.launcher.updater.RemoteVersionList.getCompleteVersion(RemoteVersionList.java:32) ~[launcher.jar:1.6.89-j]
at net.minecraft.launcher.updater.MinecraftVersionManager.getLatestCompleteVersion(MinecraftVersionManager.java:213) ~[launcher.jar:1.6.89-j]
at net.minecraft.launcher.updater.MinecraftVersionManager.getLatestCompleteVersion(MinecraftVersionManager.java:37) ~[launcher.jar:1.6.89-j]
at com.mojang.launcher.game.runner.AbstractGameRunner.playGame(AbstractGameRunner.java:67) ~[launcher.jar:1.6.89-j]
at net.minecraft.launcher.game.GameLaunchDispatcher$1.run(GameLaunchDispatcher.java:111) ~[launcher.jar:1.6.89-j]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
I suspect some corrupted data in a json file, but which file, and how can I fix this? I have tried deleting the 1.14.4 jar files, but to no avail.
Linked issues
is duplicated by 9
Comments 62
I have exactly the same problem with 1.14.4 on my linux (OpenSuse 42.3) since yesterday and my Launcher log also says the same.
And the big bottom button of the Launcher stucks while saying "Preparing..."
@Ste I forgot to mention it in the original post but I see the "Preparing..." message on the button too. Seems identical. I will edit in a note to the description.
I have the same FATAL error in my logs as above
[12:36:03 FATAL]: Unhandled exception in thread Thread[pool-2-thread-2,5,main]com.google.gson.JsonSyntaxException: duplicate key: null
...
I tested out the launcher linked above (1.6.93), and got the following error message:
A Java Exception has occurred.
Do you have any suggestions on how I could fix this?
Is this for Linux top hat and jack? It’s easier to know what the problem is when we know the operating system.
I guess the exception people are talking about is:
[10:14:18 ERROR]: Couldn't download resources
java.io.IOException: Server returned HTTP response code: 403 for URL: https://s3.amazonaws.com/Minecraft.Download/indexes/1.14.json
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1900) ~[?:1.8.0_251]
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498) ~[?:1.8.0_251]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268) ~[?:1.8.0_251]
at net.minecraft.launcher.updater.MinecraftVersionManager.getResourceFiles(MinecraftVersionManager.java:274) [launcher.jar:1.6.93]
at net.minecraft.launcher.updater.MinecraftVersionManager.downloadResources(MinecraftVersionManager.java:256) [launcher.jar:1.6.93]
at com.mojang.launcher.game.runner.AbstractGameRunner.downloadRequiredFiles(AbstractGameRunner.java:123) [launcher.jar:1.6.93]
at net.minecraft.launcher.game.MinecraftGameRunner.downloadRequiredFiles(MinecraftGameRunner.java:96) [launcher.jar:1.6.93]
at com.mojang.launcher.game.runner.AbstractGameRunner.playGame(AbstractGameRunner.java:110) [launcher.jar:1.6.93]
at net.minecraft.launcher.game.GameLaunchDispatcher$1.run(GameLaunchDispatcher.java:111) [launcher.jar:1.6.93]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_251]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_251]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_251]
which is caused by mojang disabling the s3 downloads.
Unfortunately Twitch doesn't really update their app correctly on mac so it doesn't support the new 2.x native launcher and we are stuck with the jar launcher (perhaps people on Linux, Debian etc too.)
The JVM errors are due to the default flags provided by the launcher.
To fix the errors, set this for your JVM arguments in the profile:
-Xmx3G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
This is the new (2.0) launcher flags, and work fine from my experience. You can change the -Xmx3G to whatever RAM you would like to allocate.
Moved to Minecraft Launcher (MCL) project.