vazkii / cmpdl Goto Github PK
View Code? Open in Web Editor NEWCurse Modpack Downloader
Curse Modpack Downloader
Even after patching URL parsing with #44 Pam doesn't want to play nicely
Downloading zip file Pam's+HarvestCraft+1.12.2q.jar.zip
Unzipping file
Done unzipping
Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: This modpack has no manifest
at vazkii.cmpdl.CMPDL.main(CMPDL.java:49)
Caused by: java.lang.IllegalArgumentException: This modpack has no manifest
at vazkii.cmpdl.CMPDL.getManifest(CMPDL.java:196)
at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:100)
at vazkii.cmpdl.CMPDL.main(CMPDL.java:47)
Error doesn't lie: there's no manifest.json in the archive. There's mcmod.info however.
Many mod packs require Thermal Expansion et al. but don't directly depend on CoFH Core.
Because dependencies are only checked for the modpack, this means that several packs (an example being https://minecraft.curseforge.com/projects/the-lone-survivor ) require the additional step of grabbing CoFH Core.
Please make it so that when one mod fails it does not stop the entire process of downloading. My internet is bad where I live and failures are almost a given. I would like CMPDL to download as many as possible, I can then add the failed ones afterward manually.
The problem is most likely in getLocationHeader().
modpack URL: https://minecraft.curseforge.com/projects/age-of-engineering
log:
File download URL is https://minecraft.curseforge.com/projects/better-builders-wands/files/2394395/download
Downloading BetterBuildersWands-1.10.2-0.11.1.220%2Bf8232fe.jar
Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2394/395/BetterBuildersWands-1.10.2-0.11.1.220%252Bf8232fe.jar
The "%252B" here should be "%2B".
tentative variable backtrace:
CMPDL.java:
315:log("Downloading " + filename); //filename = ...%2B...jar this should be '+'
306:filename = URLDecoder.decode(filename, "UTF-8"); //filename = ...%2B...jar this should be '+'
305:String filename = m.group(1); //filename = ...%252B...jar this should be "%2B"
301:Matcher m = FILE_NAME_URL_PATTERN.matcher(finalUrl);
300:String finalUrl = getLocationHeader(fileDlUrl);
298:log("File download URL is " + fileDlUrl); //fileDlUrl = https://minecraft.curseforge.com/projects/better-builders-wands/files/2394395/download
$ java -jar cmpdl-1.1.3.jar https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded
~ Starting magical modpack download sequence ~
Input URL: https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded
Input Version: latest
File URL: https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded/files/latest
Final URL: https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded/files/latest?cookieTest=1
Modpack filename is latest?cookieTest=1
CMPDL Temp Dir is /home/noctua/.cmpdl_temp
Modpack temporary directory is /home/noctua/.cmpdl_temp/latest?cookieTest=1
Downloading zip file latest?cookieTest=1.zip
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 403 for URL: https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded/files/latest?cookieTest=1
at vazkii.cmpdl.CMPDL.main(CMPDL.java:49)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://mods.curse.com/modpacks/minecraft/244939-project-ozone-2-reloaded/files/latest?cookieTest=1
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at java.net.URL.openStream(URL.java:1045)
at vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
at vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:167)
at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:99)
at vazkii.cmpdl.CMPDL.main(CMPDL.java:47)
Nothing happend after "starting up"
Modpack URL: https://minecraft.curseforge.com/projects/modern-skyblock-2
(run as root)
Using Ubuntu 17.10
OpenJDK Java 8
wjects/proton/files/latest
Modpack filename is latest
CMPDL Temp Dir is /home/toby/.cmpdl_temp
Modpack temporary directory is /home/toby/.cmpdl_temp/latest
Downloading zip file latest.zip
Error: class javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
java.base/sun.security.ssl.Alerts.getSSLException(Alerts.java:214)
java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1969)
java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1921)
java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1904)
java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1436)
java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1563)
java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1491)
java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:236)
java.base/java.net.URL.openStream(URL.java:1117)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:167)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:99)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)
In a country where bandwidth is somewhat limited, I would like it if modpack zip files do not get re-downloaded if it still exists in the temp folder. Reason to re-download - if it fails to download all the mods first time round....
Currently in CMPDL.java you are grabbing the latest release from the mods project page by appending the pack URL with "/files/latest".
Could you give the user an option to download older releases? For instance I would like to grab an older version of the MossyNet Sunrise mod pack. The URL for this zip is: https://minecraft.curseforge.com/projects/mossynet-sunrise/files/2401796/download
As soon as I input a link (https://minecraft.curseforge.com/projects/all-the-mods-2) and hit download the program freezes and wont respond to anything, it also doesn't seem to progress.
I am running it on Ubuntu Gnome.
Tried downloading Material Energy^Natural Capital, but since it uses that one character in the name...
~ Starting magical modpack download sequence ~
Error: Illegal character in path at index 59: http://addons.cursecdn.com/files/2318/810/Material%20Energy^Natural%20Capital-0.11.04.zip
java.net.URI$Parser.fail(URI.java:2848)
java.net.URI$Parser.checkChars(URI.java:3021)
java.net.URI$Parser.parseHierarchical(URI.java:3105)
java.net.URI$Parser.parse(URI.java:3053)
java.net.URI.(URI.java:588)
vazkii.cmpdl.CMPDL.getLocationHeader(CMPDL.java:286)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:58)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:17)
By the way, thank you for doing an amazing job with this.
CMPDL fails to download the mods.
I was attempting to download the PineFresh pack. The same thing also happened when I the Vanilla is My Life pack.
Logs are here: http://pastebin.com/cZHR1Uh1
and here: http://pastebin.com/nPTGW8je
It would be useful to have a no gui option, so it's usable from a distro such as Ubuntu Server.
Something like java -jar cmpdl.jar --url blah
.
If you approve, I can submit a PR myself if you prefer.
An option to define a custom name would really help with keeping modpacks sorted and would make for easier to apply updates.
Trying to install https://minecraft.curseforge.com/projects/all-the-mods-3/
It fails on two mods;
https://minecraft.curseforge.com/projects/draconic-evolution/
https://minecraft.curseforge.com/projects/minecolonies/
Installing them manually gives:
Done unzipping
Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: This modpack has no manifest
at vazkii.cmpdl.CMPDL.main(CMPDL.java:49)
Caused by: java.lang.IllegalArgumentException: This modpack has no manifest
at vazkii.cmpdl.CMPDL.getManifest(CMPDL.java:196)
at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:100)
at vazkii.cmpdl.CMPDL.main(CMPDL.java:47)
But when I look at the jar files for both mods, they have manifest files located at META-INF/MANIFEST.MF
I got stuck in the downloader because one of the projects has a redirect loop on their main page.
and the downloader stops at:
Downloading 243478/2434979
Project URL is http://minecraft.curseforge.com/projects/243478
A skip button or a timeout would be nice because I already acquired this mod earlier but can't get beyond this mod, with the downloader,..
And considering the URL... it's pretty easy to guess why.
https://mods.curse.com/modpacks/minecraft/225578-ftb-presents-direwolf20
Hello, I tried downloading Nature's Beauty on linux(ubuntu16.04) using this URL:
https://minecraft.curseforge.com/projects/natures-beauty
I get this error message:
~ Starting magical modpack download sequence ~
Input URL: https://minecraft.curseforge.com/projects/natures-beauty
Input Version: 1.2
File URL: https://minecraft.curseforge.com/projects/natures-beauty/files/1.2/download
Final URL: https://minecraft.curseforge.com/projects/natures-beauty/files
Modpack filename is files
CMPDL Temp Dir is /home/siris-galatas/.cmpdl_temp
Modpack temporary directory is /home/siris-galatas/.cmpdl_temp/files
Downloading zip file files.zip
Unzipping file
Error: class net.lingala.zip4j.exception.ZipException: zip headers not found. probably not a zip file
net.lingala.zip4j.core.HeaderReader.readEndOfCentralDirectoryRecord(HeaderReader.java:122)
net.lingala.zip4j.core.HeaderReader.readAllHeaders(HeaderReader.java:78)
net.lingala.zip4j.core.ZipFile.readZipInfo(ZipFile.java:425)
net.lingala.zip4j.core.ZipFile.extractAll(ZipFile.java:475)
net.lingala.zip4j.core.ZipFile.extractAll(ZipFile.java:451)
vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:172)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:99)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)
I've tried downloading other modpacks and they work fine. So far, it's only with this one.
I find it difficult to remember whether I have to use the Curse link or the CurseForge link.
Could some form of clue please be inserted into the app?(Such as change the 'Modpack URL' label to CurseForge Modpack URL')
Just tried to use the tool to download the Agrarian Skies 2 modpack, but I received the following exception:
`Exception in thread "main" java.lang.RuntimeException: java.net.URISyntaxException: Illegal character in path at index 51: http://addons.cursecdn.com/files/2246/919/CoFHCore-[1.7.10]3.0.3-303.jar'
I've attached the full log & stack trace below.
cmpdl.txt
Java version 1.8.0_91
The WTFPL has some issues (see: dimitri/el-get#474, notably "public domain" does not exist in certain parts of the world).
Would you consider re-licensing under something like CC0, which, if "public domain" does not exist, falls back to a very permissive license (see: https://creativecommons.org/2011/04/15/using-cc0-for-public-domain-software/)?
At the very least you should include a COPYING
or LICENSE
file with the actual license contents.
Do you think you could make the downloaded pack into an importable instance kinda like what this downloader does?
The option to install from a non-curse source would be very helpful. When I say non-curse source, I am referring to the packaged files which you can download from the curse site and import into the normal launcher. For example, you could specify to this zip file hosted on your own server, or a local version of it. This would be useful for those who are working on packs that are not fully release yet, and would also give mod pack authors the option to host on other platforms using the curse format.
Downloading 221857/2523355
Project URL is http://minecraft.curseforge.com/projects/221857
File download URL is https://minecraft.curseforge.com/projects/pams-harvestcraft/files/2523355/download
Downloading Pam%27s HarvestCraft 1.12.2m.jar
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2523/355/Pam%2527s+HarvestCraft+1.12.2m.jar
at vazkii.cmpdl.CMPDL.main(CMPDL.java:49)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2523/355/Pam%2527s+HarvestCraft+1.12.2m.jar
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
at java.net.URL.openStream(URL.java:1045)
at vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
at vazkii.cmpdl.CMPDL.downloadFile(CMPDL.java:325)
at vazkii.cmpdl.CMPDL.downloadModpackFromManifest(CMPDL.java:218)
at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:107)
at vazkii.cmpdl.CMPDL.main(CMPDL.java:47)
Looks like the brackets are causing problems, too. Just tried to download PrioR and loads of issues. Oh, looks like "+"s, too!
https://minecraft.curseforge.com/projects/prior
Everything that uses a bracket fails.
Do you refuse to use anything but Vaz's wonderful downloader? Here's a work around until he gets around to fixing it:
Find the errored section:
Downloading 228027/2456045
Project URL is http://minecraft.curseforge.com/projects/228027
File download URL is https://minecraft.curseforge.com/projects/bibliocraft/files/2456045/download
Downloading BiblioCraft%5bv2.2.5%5d%5bMC1.10.2%5d.jar
Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2456/45/BiblioCraft%255bv2.2.5%255d%255bMC1.10.2%255d.jar
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
java.net.URL.openStream(URL.java:1045)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
vazkii.cmpdl.CMPDL.downloadFile(CMPDL.java:325)
vazkii.cmpdl.CMPDL.downloadModpackFromManifest(CMPDL.java:218)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:107)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)
Now, go the page download page of the failed mod (http://minecraft.curseforge.com/projects/228027)
Manually download.
Go to your CMPDL download folder and drag your clean, full download into it. Copy the wonky name (in this case BiblioCraft%255bv2.2.5%255d%255bMC1.10.2%255d.jar) and paste it into the legit manual download. Trash the CMPDL download. Start CMPDL again.
It will comb through everything and asses the wonky named file as a successful download and will move on to the next!
Granted, you'll have to download several files manually, but better than 150 manual downloads!
Thanks again, Vazkii, for your amazing mods.
This comes from a total javac-noob, whose attempts at compile are not safe to share, but felt necessary due to the lack of new builds.
Still there is the issue of META-INF lacking. And if something else is lacking I have no idea what that could be.
Modpack filename is download
CMPDL Temp Dir is C:\Users\Administrator.BY-201907121248.cmpdl_temp
Modpack temporary directory is C:\Users\Administrator.BY-201907121248.cmpdl_temp\download
Downloading zip file download.zip
Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.curseforge.com/minecraft/modpacks/age-of-engineering/files/files/2503175/download
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
java.net.URL.openStream(Unknown Source)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:417)
vazkii.cmpdl.CMPDL.downloadModpackMetadata(CMPDL.java:183)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:99)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:32)
I downloaded PO3 about a week ago without any trouble, but with SkyFactory 4, I have extreme difficulties. When I click the download button, the application freezes, and I have to use the killall java
command to close it.
https://imgur.com/a/JTjOj7N
Getting this error when trying to launch it :/
http://prntscr.com/e2tm6a
Considering the dependency on the gson and zip4j libraries, could you please include those?
It would be very helpful if users don't have to figure out how to get them before following the steps as described in the README's usage instructions, particularly when the distro maintainers haven't packaged the libraries in question, such as Debian.
I noticed that the URL below has %2527
, when it should be left as %27
Downloading 221857/2521633
Project URL is http://minecraft.curseforge.com/projects/221857
File download URL is https://minecraft.curseforge.com/projects/pams-harvestcraft/files/2521633/download
Downloading Pam%27s HarvestCraft 1.12.2L.jar
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2521/633/Pam%2527s+HarvestCraft+1.12.2L.jar
at vazkii.cmpdl.CMPDL.main(CMPDL.java:49)
Caused by: java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2521/633/Pam%2527s+HarvestCraft+1.12.2L.jar
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at java.net.URL.openStream(URL.java:1045)
at vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
at vazkii.cmpdl.CMPDL.downloadFile(CMPDL.java:325)
at vazkii.cmpdl.CMPDL.downloadModpackFromManifest(CMPDL.java:218)
at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:107)
at vazkii.cmpdl.CMPDL.main(CMPDL.java:47)
The jar asset you added to the 1.2.1 release doesn't seem to be up to date (or something went wrong when you built it). It doesn't show me the "Choose local modpack" function when I execute it.
To verify that this behavior is not intended I did the following:
I built cmpdl with the files from the source code zip asset you provided with the 1.2.1 release and there the "Choose local modpack" option shows up.
I pulled files from the master branch of the CMPDL Github project and used those to build cpmdl and there the "Choose local modpack" function shows up.
For all my building and testing I used openjdk version 1.8.0_222
This is my first time using CMPDL and i got this issue
Downloading 239431/2290798
Project URL is http://minecraft.curseforge.com/projects/239431
File download URL is https://minecraft.curseforge.com/projects/mcmultipart/files/2290798/download
Downloading MCMultiPart-1.1.1-universal.jar
This file already exists. No need to download it
Downloaded! 37/64 remaining
The file DOESNT exist. but CMPDL thinks it does... What can i do to solve this?
I'm on Debian 9
This has happened with multiple modpacks and multiple curse file IDs.
I tried running age of engineering. It gave me a error message. This is maybe because the zip file has spaces in it. Here is the outcome:
~ Starting magical modpack download sequence ~
URLs: https://minecraft.curseforge.com/projects/age-of-engineering/files/latest https://minecraft.curseforge.com/projects/age-of-engineering/files/latest
Modpack filename is latest
CMPDL Temp Dir is /home/seb/.cmpdl_temp
Modpack temporary directory is /home/seb/.cmpdl_temp/latest
Directory doesn't exist, making it now
Downloading zip file latest.zip
Error: class java.io.FileNotFoundException: https://minecraft.curseforge.com/projects/age-of-engineering/files/latest
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1872)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
java.net.URL.openStream(URL.java:1045)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:356)
vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:162)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:93)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)
Java: 1.8.0_101-b13
Proton - http://pastebin.com/UziYtBkt
ME: Natural Energy - http://pastebin.com/HMFwdLXn
`~ Starting magical modpack download sequence ~
Input URL: https://minecraft.curseforge.com/projects/minecraft-billionaire
Input Version: latest
File URL: https://minecraft.curseforge.com/projects/minecraft-billionaire/files/latest
Final URL: https://media.forgecdn.net/files/2548/374/Minecraft+Billionaire-0.7.zip
Modpack filename is Minecraft+Billionaire-0.7.zip
CMPDL Temp Dir is C:\Users\KauzDs.cmpdl_temp
Modpack temporary directory is C:\Users\KauzDs.cmpdl_temp\Minecraft+Billionaire-0.7.zip
Downloading zip file Minecraft+Billionaire-0.7.zip
Unzipping file
Done unzipping
Parsing Manifest
Output Dir is C:\Users\KauzDs\Documents\Curse modpack downloader\Minecraft Billionaire-0.7
Directory doesn't exist, making it now
Downloading modpack from Manifest
Manifest contains 127 files to download
Downloading 231868/2415996
Project URL is http://minecraft.curseforge.com/projects/231868
File download URL is https://minecraft.curseforge.com/projects/endercore/files/2415996/download
Downloading EnderCore-1.10.2-0.4.1.66-beta.jar
Downloaded! 126/127 remaining
Downloading 74924/2380279
Project URL is http://minecraft.curseforge.com/projects/74924
File download URL is https://minecraft.curseforge.com/projects/mantle/files/2380279/download
Downloading Mantle-1.10.2-1.1.5.jar
Downloaded! 125/127 remaining
Downloading 227083/2424565
Project URL is http://minecraft.curseforge.com/projects/227083
File download URL is https://minecraft.curseforge.com/projects/baubles/files/2424565/download
Downloading Baubles-1.10.2-1.3.11.jar
Downloaded! 124/127 remaining
Downloading 225643/2391169
Project URL is http://minecraft.curseforge.com/projects/225643
File download URL is https://minecraft.curseforge.com/projects/botania/files/2391169/download
Downloading Botania r1.9-341.jar
Downloaded! 123/127 remaining
Downloading 224942/2422718
Project URL is http://minecraft.curseforge.com/projects/224942
File download URL is https://minecraft.curseforge.com/projects/dense-ores/files/2422718/download
Downloading denseores-1.11-1.0.2.jar
Downloaded! 122/127 remaining
Downloading 221857/2428363
Project URL is http://minecraft.curseforge.com/projects/221857
File download URL is https://minecraft.curseforge.com/projects/pams-harvestcraft/files/2428363/download
Downloading Pam%27s HarvestCraft 1.10.2j.jar
Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://media.forgecdn.net/files/2428/363/Pam%2527s+HarvestCraft+1.10.2j.jar
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
java.net.URL.openStream(Unknown Source)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:369)
vazkii.cmpdl.CMPDL.downloadFile(CMPDL.java:325)
vazkii.cmpdl.CMPDL.downloadModpackFromManifest(CMPDL.java:218)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:107)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)`
Modpack filename is download
CMPDL Temp Dir is C:\Users\Administrator.BY-201907121248.cmpdl_temp
Modpack temporary directory is C:\Users\Administrator.BY-201907121248.cmpdl_temp\download
Downloading zip file download.zip
Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://www.curseforge.com/minecraft/modpacks/age-of-engineering/files/files/2503175/download
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
java.net.URL.openStream(Unknown Source)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:417)
vazkii.cmpdl.CMPDL.downloadModpackMetadata(CMPDL.java:183)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:99)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:32)
hi,
Seems like cmpdl has an issue with urls/paths that include an ^.
~ Starting magical modpack download sequence ~
java.net.URISyntaxException: Illegal character in path at index 60: https://addons.cursecdn.com/files/2363/358/Material%20Energy^Natural%20Capital-0.11.04.zip
at java.net.URI$Parser.fail(URI.java:2848)
at java.net.URI$Parser.checkChars(URI.java:3021)
at java.net.URI$Parser.parseHierarchical(URI.java:3105)
at java.net.URI$Parser.parse(URI.java:3053)
at java.net.URI.(URI.java:588)
at vazkii.cmpdl.CMPDL.getLocationHeader(CMPDL.java:346)
at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:86)
at vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)
I am unsure on why curse isn't encoding the ^ as %5E, but maybe cmpdl could fix the urls instead of just failing?
Successfully downloaded Age of Engineering last week. Today I receive the following error when attempting to download All the Mods 3, using URL, "https://mods.curse.com/modpacks/minecraft/269708-all-the-mods-3"
The error occurs whether I use "latest" or enter a curse ID.
~ Starting magical modpack download sequence ~ URLs: https://mods.curse.com/modpacks/minecraft/269708-all-the-mods-3/files/latest https://mods.curse.com/modpacks/minecraft/269708-all-the-mods-3/files/latest?cookieTest=1 Modpack filename is latest?cookieTest=1 CMPDL Temp Dir is /home/something/.cmpdl_temp Modpack temporary directory is /home/something/.cmpdl_temp/latest?cookieTest=1 Downloading zip file latest?cookieTest=1.zip Error: class java.io.IOException: Server returned HTTP response code: 403 for URL: https://mods.curse.com/modpacks/minecraft/269708-all-the-mods-3/files/latest?cookieTest=1 sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876) sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474) sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254) java.net.URL.openStream(URL.java:1045) vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:356) vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:162) vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:93) vazkii.cmpdl.OperatorThread.run(OperatorThread.java:19)
I tried to download age of engineering again, as a test, and received the same 403 error.
Vazkii,
While I can just assume that you have been asked for something like this n-1 times, but can you add a modpack builder into this?
Here is the rundown: I use Linux on my main computer and like to design modpacks. This is made difficult by the severe lack of a modpack creation system FOR Linux. I believe that this project may be a way to make a better launcher than twitch for the Linux platform(and, if done correctly by adding an integrated launcher, update systems, and overall functionality boosting, for other platforms) and finally allow me to build packs on Linux. BTW, I only use it due to my problems with Windows’ UI and this.
Much appreciated,
Enderger.
~ Starting magical modpack download sequence ~
URLs: http://mods.curse.com/modpacks/minecraft/254433-invasion/files/latest http://mods.curse.com/modpacks/minecraft/254433-invasion/files/latest
Modpack filename is latest
CMPDL Temp Dir is /home/claudia/.cmpdl_temp
Modpack temporary directory is /home/claudia/.cmpdl_temp/latest
Downloading zip file latest.zip
Error: Server returned HTTP response code: 403 for URL: http://mods.curse.com/modpacks/minecraft/254433-invasion/files/latest
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1876)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
java.net.URL.openStream(URL.java:1045)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:296)
vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:119)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:65)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:17)
~ Starting magical modpack download sequence ~
URLs: https://addons-origin.cursecdn.com/files/2402/833/Invasion-1.0.4.zip/files/latest https://addons-origin.cursecdn.com/files/2402/833/Invasion-1.0.4.zip/files/latest
Modpack filename is latest
CMPDL Temp Dir is /home/claudia/.cmpdl_temp
Modpack temporary directory is /home/claudia/.cmpdl_temp/latest
Downloading zip file latest.zip
Error: https://addons-origin.cursecdn.com/files/2402/833/Invasion-1.0.4.zip/files/latest
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1872)
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
java.net.URL.openStream(URL.java:1045)
vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:296)
vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:119)
vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:65)
vazkii.cmpdl.OperatorThread.run(OperatorThread.java:17)
Java Version: 1.7.0_131
Exception in thread "main" java.lang.UnsupportedClassVersionError: vazkii/cmpdl/CMPDL : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:442)
at java.net.URLClassLoader.access$100(URLClassLoader.java:64)
at java.net.URLClassLoader$1.run(URLClassLoader.java:354)
at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
As soon as I click download the program freezes and does not do anything.
When download mods like "Tinkers'+Addons-1.12.1-1.0.7.jar" you get "Tinkers%27 Addons-1.12.1-1.0.7.jar" and file with 0 size.
"angelRingToBauble-1.12-0.3.1.50%2Bd4e654e.jar" you get
"angelRingToBauble-1.12-0.3.1.50+d4e654e.jar" and 0 size.
Try ti get woth gie this "Pam's+HarvestCraft+1.12.2o.jar" ))
I'd like to suggest to add an option to manually add a to downloaded file after a certain timeout (say, when the mod haven't been grabbed for 60 seconds), because it happens too often in the last weeks that the curse project id resolver just keeps looping on itself (but the pointed to source it should point to IS available!) and so cmpdl never finishes with the modpack download.
An easy way would be just do dump the time-outed mods in the log at the end, like it's already done with completely failed mod downloads.
Curseforge has changed their URL format. It's not a big change, but it effectively disables CMPDL.
Where CMPDL is downloading files from "[project]/files/[file-id]/download"
Curseforge now hosts downloads at "[project]/download/[file-id]"
It's a simple spell, but quite unbreakable.
Invoked via java -jar cmpdl-1.0.2.jar https://minecraft.curseforge.com/projects/proton
Exception in thread "main" java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
at vazkii.cmpdl.CMPDL.main(CMPDL.java:40)
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1514)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at java.net.URL.openStream(URL.java:1045)
at vazkii.cmpdl.CMPDL.downloadFileFromURL(CMPDL.java:296)
at vazkii.cmpdl.CMPDL.setupModpackMetadata(CMPDL.java:119)
at vazkii.cmpdl.CMPDL.downloadFromURL(CMPDL.java:65)
at vazkii.cmpdl.CMPDL.main(CMPDL.java:38)
Caused by: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:352)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:249)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1496)
... 17 more
Caused by: java.security.cert.CertPathValidatorException: signature check failed
at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:135)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:219)
at sun.security.provider.certpath.PKIXCertPathValidator.validate(PKIXCertPathValidator.java:140)
at sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(PKIXCertPathValidator.java:79)
at java.security.cert.CertPathValidator.validate(CertPathValidator.java:292)
at sun.security.validator.PKIXValidator.doValidate(PKIXValidator.java:347)
... 23 more
Caused by: java.security.SignatureException: Signature does not match.
at sun.security.x509.X509CertImpl.verify(X509CertImpl.java:424)
at sun.security.provider.certpath.BasicChecker.verifySignature(BasicChecker.java:166)
at sun.security.provider.certpath.BasicChecker.check(BasicChecker.java:147)
at sun.security.provider.certpath.PKIXMasterCertPathValidator.validate(PKIXMasterCertPathValidator.java:125)
... 28 more
Using icedtea 3.3.0 (java 1.8.0_121)
No other java based applications do this, so I'm fairly certain it's with cmpdl
When installing a mod pack. Many packs complete but have a few or many missing mods. Is this an error or just letting you know that you will have to download and add them manually?
Done copying overrides
Setting up MultiMC info
And we're done!
Output Path: /home/dan/usbdrive/Agrarian Skies 2-1.1.14
################################################################################################
IMPORTANT NOTE: If you want to import this instance to MultiMC, you must install Forge manually
The Forge version you need is 10.13.4.1492
A later version will probably also work just as fine, but this is the version shipped with the pack
This is also added to the instance notes
################################################################################################
Missing mod! : https://minecraft.curseforge.com/projects/cofhcore/files/2246919/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/redstone-arsenal/files/2246927/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/journeymap-32274/files/2245168/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/thermal-foundation/files/2246921/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/thermal-dynamics/files/2246949/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/progressive-automation-early-miner/files/2251149/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/agricraft/files/2260954/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/custom-npcs/files/2260026/download?cookieTest=1
Missing mod! : https://minecraft.curseforge.com/projects/thermalexpansion/files/2246924/download?cookieTest=1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.