SolderPy Loader
Workflow with solder.py
- Find a mod on Modrinth and import it into solder.py.
- solder.py stores the Modrinth project and version IDs.
- When creating a Modrinth pack, solder.py uses those IDs to reference the native Modrinth files.
- solder.py also downloads the selected version and packages it for distribution through Technic.
- If the mod has been linked to its CurseForge project, solder.py resolves the corresponding CurseForge modpack format.
- When the mod is updated through Modrinth, solder.py keeps one version record that can be exported in the native formats for Modrinth and CurseForge while remaining available through Technic. 7.
Where SolderPy Loader comes in
Modrinth, CurseForge, and Technic all have different distribution capabilities and limitations. Native platform downloads is used whenever possible, while SolderPy Loader handles content and features that the platforms cannot provide consistently:
- Rich optional-content selection for players.
- Distribution of configuration files, custom mods, resource packs, and other pack-specific content without publishing each item as a separate Modrinth or CurseForge project.
- Server installation and updating.
- Delivery of content managed through Maven or GitHub integrations.
- Automated updates through solder.py’s write API. This approach lets solder.py remain the single source of truth while each platform uses its native download system wherever possible.
solderpy loader is a tool for modpack creators to download and update modpack configurations with solderpy. its quite similar to filedirector. its mainly meant for highly integrated modpack/server communities that maintains their own mods and forks where uploading to modrinth/curse is not needed but still want easy manegement and updating.
A loader-neutral Minecraft bootstrap mod for the solder.py bootstrap API. It uses Relauncher to restart Minecraft once with this JAR attached as a Java agent. The agent reconciles the modpack before Forge, NeoForge, Fabric, or Quilt discovers mods.
This project is an early implementation. It provides an interactive pre-launch optional-content screen, API-provided basic optionals and advanced single/multiple groups, dependency closure, ETag revalidation, MD5/size verification, safe ZIP extraction, file ownership receipts, and transactional rollback. The API controls the available choices, rules, and defaults; the local JSON configuration cannot override them.
NOTE: solder.py has integration for when exporting to curse/modrinth, one use native download methods and this is the intended way, solderpy loader is meant for configs, resourse, and custom mods and distrobution of these. solder.py combines every platform so one only have one truth. API will be expanded so solderpy loader can download directly from the api of modrinth and maybe curse. DO NOT HOST FILES YOURSELF WITHOUT REQUIRED LICENSE/PERMISSIONS SOLDER.PY WHEN USED CORRECTLY allows one to use native downloads at curseforge and modrinth, aaand being on technic pack with solder, without having 3 different modpack manifest to manage.
Requirements
- Java 8 or newer at runtime (the build itself uses a Java 17+ toolchain).
relauncher-universal-1.1.1.jarand the built loader JAR in the top-levelmods/directory.- A solder.py server exposing bootstrap schema version 1.
Relauncher supports Forge 1.6.4+, NeoForge, Fabric, and Quilt. Its upstream launcher matrix currently supports the vanilla, Prism, CurseForge, Modrinth, and ATLauncher launch paths. MultiMC's stdin launch protocol cannot be replayed and is not supported by Relauncher.

