docker-minecraft-server
docker-minecraft-server copied to clipboard
Support for Modrinth ModPacks
Enhancement Type
New server type
Describe the enhancement
Currently, Modrinth mod packs are still in alpha, but as far as I can tell the format seems to be stable. It is described here: https://docs.modrinth.com/docs/modpacks/format_definition/
That file format looks awesome. I wish all the modpacks would align on this format.
I'll probably implement this within https://github.com/itzg/mc-image-helper, but will track integration with this issue.
...and just noting the CDN URL seems to be:
https://cdn.modrinth.com/data/{projectId}/versions/{version}/{name}-{version}.jar
EDIT this note is no longer relevant, due to API usage to locate project assets.
FYI the initial steps towards Modrinth modpack support is included in #1577
Modrinth admin here -- just wanted to let it be known that the format of CDN URLs should not be relied upon, since the file name can be whatever the author wants. The exact CDN URL can be obtained via use of the Get version from hash route (example) or from the Get a version route (example) depending on what information you already have.
I'm not sure how relevant it is, but you might also get some use out of the Latest versions of multiple project from hashes, loader(s), and game version(s) route (wow that's a mouthful), looking at how the initial implementation was done.
If you've got any other questions or issues with Modrinth feel free to get in touch with me, here or Discord (Emmaffle#1787) or email ([email protected]) :)
Thanks @wafflecoffee . Please disregard my note about CDN structure. I'm already using the API as you described for retrieval of individual mod project files
https://github.com/itzg/mc-image-helper/blob/master/src/main/java/me/itzg/helpers/modrinth/ModrinthCommand.java
When will modpack support leave alpha? To be honest I am hesitant to put more effort into this until I see traction with the modpacks published on Modrinth; however, I'm assuming traction will be slow until it leaves alpha.
Alpha doesn't really mean that it's unstable; the pack format is set in stone until we bump it to 2. More or less, it's meant as an indicator that our plans for modpacks are not yet complete. Once https://github.com/modrinth/theseus is complete, that's when it'll leave alpha.
Cool, I'll works towards modpack retrieval and extraction shortly.
Is this still planned as a feature? Would be great to have a way to pull down a modrinth pack!
It sure is @lizardfish0
Hey, will this be released anytime soon?
I'm planning on working on this within the next week or two.
Awesome, thank you so much!
Next image build will include the modpack support documented here:
https://github.com/itzg/docker-minecraft-server#running-a-server-with-a-modrinth-modpack
Let me know if there's any issues/questions.
Next image build will include the modpack support documented here:
https://github.com/itzg/docker-minecraft-server#running-a-server-with-a-modrinth-modpack
Let me know if there's any issues/questions.
Thank you so much! This is going to be so helpful!
Let me know if there's any issues/questions.
@itzg What's the difference between the VERSION and MODRINTH_MC_VERSION environmental variables?
I currently use VERSION. Do I need to use MODRINTH_MC_VERSION instead now?
EDIT: Is there a way to override the fabric loader? I know that you can with TYPE as fabric, but it doesn't seem to work with TYPE: MODRINTH
Let me know if there's any issues/questions.
@itzg What's the difference between the
VERSIONandMODRINTH_MC_VERSIONenvironmental variables?I currently use
VERSION. Do I need to useMODRINTH_MC_VERSIONinstead now?
Yeah, this ended up more confusing than I'd like. I'll work on leveraging VERSION as the requested modpack minecraft version, but to be ready for that change so ahead and set both to the desired version.
EDIT: Is there a way to override the fabric loader? I know that you can with
TYPEas fabric, but it doesn't seem to work withTYPE: MODRINTH
I'm curious why you would want to do that since the modpack is declaring a specific loader version to use?
Let me know if there's any issues/questions.
@itzg What's the difference between the
VERSIONandMODRINTH_MC_VERSIONenvironmental variables? I currently useVERSION. Do I need to useMODRINTH_MC_VERSIONinstead now?Yeah, this ended up more confusing than I'd like. I'll work on leveraging VERSION as the requested modpack minecraft version, but to be ready for that change so ahead and set both to the desired version.
Okay, I will define both versions and keep an eye out on future releases for updates on this!
EDIT: Is there a way to override the fabric loader? I know that you can with
TYPEas fabric, but it doesn't seem to work withTYPE: MODRINTHI'm curious why you would want to do that since the modpack is declaring a specific loader version to use?
One of our servers is using a modpack + a wide variety of mods.
Most of these mods respect the Minecraft version specified, but some of the mods and/or dependencies claim to support 1.19.2 but call for a different version of the fabric loader than what is shipped with the latest version of 1.19.2
I feel like a lot of these mods don't respect semver properly, so we are resorting to locking mods to a specific version and testing updates ourselves. It's my opinion that we shouldn't have these issues when following the semver spec, but I suppose stuff like this can happen when you run with a lot of mods with various levels of quality control.
Our solution is to lock mods to specific versions or only run a few mods from trusted developers with good quality control, but having the ability to override the mod loader version could come in handy.
This next build leverages VERSION as you'd expect and so MODRINTH_MC_VERSION goes away. Speaking of versions, file version now universally supported with MODRINTH_VERSION where ID, name, or number can be provided.
Our solution is to lock mods to specific versions or only run a few mods from trusted developers with good quality control, but having the ability to override the mod loader version could come in handy.
@douglasparker can you write up an issue for that? I'll get that into the next round or two of changes.
Our solution is to lock mods to specific versions or only run a few mods from trusted developers with good quality control, but having the ability to override the mod loader version could come in handy.
@douglasparker can you write up an issue for that? I'll get that into the next round or two of changes.
Sure no problem! I have created issue #2131