If you create a JSON file for a version that uses "jar" in order to reuse the jar (for example, the jar from an official version), the launcher will fail to download the jar if that didn't exist yet, and instead download an invalid file (the permission denied error page) that will make the startup crash without any useful debug info in subsequent launches.
I've attached a minimal json file to reproduce this problem that simply inherits everything from 1.17.1, both the rest of the JSON and the jar.
Steps to reproduce:
Remove the JAR file from your 1.17.1 folder inside of versions if you have it, you can keep the json
Save 1.17.1-Test.json into a folder called 1.17.1-Test in your versions folder
Open the launcher and create a new profile using version 1.17.1-Test (you need the "modded" checkbox enabled)
Launch that profile (acknowledge "modded" risks), and find the game not launching and an error in the log (and output window if open) about the downloaded file
Try launching again, and see that the game doesn't launch because the main class was just not found
The launcher is trying to download the 1.17.1 jar from https://s3.amazonaws.com/Minecraft.Download/versions/1.17.1/1.17.1.jar, that seems to be a default/fallback url, instead of the actual URL as specified in the 1.17.1 json.
This works properly if the 1.17.1 jar was already downloaded by launching the 1.17.1 version at least once, and the launcher will properly replace it with the 1.17.1 jar if you launch 1.17.1 afterwards (assuming this is because sha check fails there, that should probably also be checked when launching the one that inherits from it).
Raw test json:
{
"id": "1.17.1-Test",
"inheritsFrom": "1.17.1",
"jar": "1.17.1"
}
Attachments
Comments 10
Could reproduce it in the latest release that my device received (10.0 2.2.12145).
Here's a video in how I did it:
[media]As mentioned, if you've ran the regular 1.17.1 profile before (and therefore have the jar already downloaded), the issue doesn't happen.
Hi again!
Does this issue still occur on the newest version of the Launcher?
This ticket will reopen automatically when you reply.
Can reproduce on 2.3.240 (latest update my device has received on stable).
This time I tried with 1.17.
There's one difference, now it no longer saves the invalid response, but still errors with the same message about trying to get it from AWS. The output window no longer contains anything other than a red (FATAL) empty line and "TIMER: Downloads took 0 seconds.". The error is instead in the failed to launch popup.
Image:
[media]Hi again!
We are still having trouble with this issue.
Should test json should be overwritten if its changed?
To reproduce the issue you need (steps for testing with the provided example against 1.17.1, but it should work the same for other versions. All paths are relative to the launcher directory, .minecraft
):
To not have the 1.17.1 jar file in the
/versions/1.17.1/
folder:Therefore go to the
/versions/1.17.1/
folder and remove the1.17.1.jar
file if it's there
To add a new folder inside
/versions/
for a new version type with only the JSON like the one above (that has thejar
attribute set to get it from 1.17.1, the version we don't have a jar from yet)For the example, create a new folder inside
/versions/
called1.17.1-Test
. Then drop the1.17.1-Test.json
file inside itDo not put any JARs files in there, the idea (according to the JSON) is that the launcher should get the JAR from the
/versions/1.17.1/
folder (once available, it's not there currently)
Open the launcher now, go to Installations and make sure the Modded checkbox is enabled
Create a new installation and set it to use your new version
1.17.1-Test
. It may take a while to find it, given it'll be mixed inside a lot of versions, but it should be there unless the launcher was running when you created itGive any name to your installation and hit the Play button for it, wait for it to finish preparing
You'll need to acknowledge "modded" risks
Now you'll be greeted with an error about unable to download the 1.17.1 JAR from the S3 URL in the report
That is the issue. The JSONs shouldn't change at all.
Now, if the JAR was already in there, the game is launched correctly. You can test that by launching 1.17.1 once first and then trying to launch our custom profile again. In that case it'll work correctly.
Let me know if you want me to record a more detailed video on how to reproduce the issue, I'd love to help get this fixed.
From what I can see, I don't think this issue has anything to do with MCL-23025. This isn't an arbitrary file failing to download, it's a specific file (the game jar) that the launcher consistently tries to download from the wrong URL (it's not failing to! It's doing it but getting a 403 page from AWS therefore "failing"!) when using the `jar` attribute in the version JSON.
Let me know if I missed something in the other report though.
I faced similar errors when the launcher tried to download files from s3.amazonaws.com
and I think this URL - as an obsolete - should be completely removed from the launcher
to make potential errors more clear and not confusing.
The confusing URL is visible in [launcher-install-dir]\game\launcher.dll file, that contains paths:
https://s3.amazonaws.com/Minecraft.Download/indexes/
https://s3.amazonaws.com/Minecraft.Download/versions/
and according to wiki.vg the above URLs are no longer used:
=> see the diff of Game files page revision as of 23:20, 4 October 2019
https://wiki.vg/index.php?title=Game_files&diff=next&oldid=15017
I have gotten the same bug several times this afternoon while trying to launch the 1.12rc1 version of the game. It only occurred with this version of the game and restarting the launcher did not resolve the issues. It gives this error:
Failed to download file.
Name: datafixerupper-8.0.16.jar
URL: https://libraries.minecraft.net/com/mojang/datafixerupper/8.0.16/datafixerupper-8.0.16.jar
Filename on disk: datafixerupper-8.0.16.jar
Path: C:\Users\torij\AppData\Roaming\.minecraft\libraries\com\mojang\datafixerupper\8.0.16\datafixerupper-8.0.16.jar
Exists: Nonexistent
Hi there, altrisi!
Does this issue still occur on the newest version of the Launcher?
We have trouble to reproduce this issue, could you record a video of it?
This ticket will reopen automatically when you reply.