Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details
Una's Simple Updater
unsup is a somewhat minimal implementation of a generic working directory syncer in Java. It supports running as a Java agent, to piggy-back off of the launch of another program.
It is particularly good at syncing small private modpacks or one-offs in small groups, where a full public distribution (e.g. on Modrinth!) is overkill or undesirable. It is capable of downloading mods from their original sources, wherever that may be... as long as it speaks HTTP(S).
An unsup.ini
must be placed in the working directory for unsup to know what to do, or a -Dunsup.bootstrapUrl=
JVM argument specifying where to find such a file.
The updater works hard to ensure the working directory is never left in an inconsistent state. Short of a sudden power loss in the middle of applying changes (an incredibly short time window), an unsup update cannot result in an inconsistent or corrupted working directory.
It does hash-based consistency validation (with your choice of function, SHA-256 recommended) on all downloads and on files before overwriting them, warning the user if they've changed something that has been updated. It additionally supports signing manifests using OpenBSD Signify for additional security.
unsup's unique simplified design means it is compatible with all launchers,
from the vanilla launcher to MultiMC. Just add -javaagent:unsup.jar
to the
JVM arguments, and place unsup.jar
and unsup.ini
in the .minecraft
directory.
In Prism Launcher, you can utilize unsup as a "component" by importing the
com.unascribed.unsup.json
from the latest release on Forgejo. (I can't upload JSON files to Modrinth). This will allow Prism
Launcher to download and manage unsup. (MultiMC does not support Java agent
components, despite requests.)
It also has a built-in concept of environments and flavors, allowing it to be used to manage server installs rather than just clients, and allowing users to pick between multiple mutually incompatible mod sets with a feature-packed interface unlike any other updater tool.
unsup is also capable of updating MultiMC's "components", including unsup itself if it is added as one. This means you can update mod loaders or Minecraft itself.
Creating Packs
You can either point unsup at a Packwiz pack.toml (recommended), or write a native unsup manifest by hand. See the wiki for info on the native manifest format. The Creator GUI is on hold, as Packwiz has become a de-facto standard for Minecraft modpacks.
Stability
unsup has been used for modpacks on versions from b1.7.3 to 1.21.5, both client and server, and is known to work with Forge (both legacy and modern), Fabric, Quilt, and NeoForge. It has successfully powered many modpacks, from small to large. Native manifest and Packwiz manifest support are both quite stable, and have been used extensively.
Signing support is still somewhat experimental, and has not been deployed by anyone at large scale. That someone could be you — please let me know if it works well!
GUI
unsup has a minimal and elegant GUI that works everywhere (yes, including macOS) and can have all of its colors customized to make it fit in with your branding. It ships with a dark theme with minty accents. Check out the gallery tab!
License
unsup is released under the LGPLv3.