unsup
by exaptations
unsup is a Java Agent utility that keeps a Minecraft working directory in sync with a published modpack manifest, and it runs on the client or the server.
What it does
Modpack authors can customize unsup as a simple updater for private packs. It works as a generic working directory syncer: it compares the files in a directory against a manifest and fetches what has changed. The tool is attached to a launch as a Java agent, which means it runs before the program it is attached to starts. The working directory has to hold an unsup.ini file, and the JVM argument -Dunsup.bootstrapUrl points to where that file can be found.
The updater is written to avoid leaving a working directory in an inconsistent state. A short power loss during the brief window in which changes are applied is handled so that the directory is not corrupted. Files are checked with hash-based validation, and SHA-256 is the recommended choice. Before an updated file overwrites a local one, the user is warned that the file was changed. Manifests can be signed with OpenBSD Signify. Prism Launcher can import the unsup component through the com.unascribed.unsup.json release published on Forgejo, and unsup can update MultiMC components, including itself once added. Because mod loaders and Minecraft itself are components, they can be updated too.
The mod is open source under the GNU Lesser General Public License v3.0 or later. Its Java Agent files target the range rd-132211 – 1.21.10, with 167 release versions in the catalog, and snapshot builds are published. The latest file is 1.2.0-pre4 for 1.21.10, dated 2025-12-05 on the beta channel. Signing support is still described as somewhat experimental and has not been deployed at large scale.
Key features
Manifest-driven syncing
A generic syncer compares a working directory with a manifest and brings it up to date, so a pack can be distributed to its players.
Crash-safe updates
Changes are applied in a way that prevents a short power loss from leaving the working directory corrupted.
Hash validation
Fetched files are checked against SHA-256 hashes before they overwrite local files, with the option of other hash functions.
Modified-file warning
The user is warned when a file they changed would be replaced by an update.
Signed manifests
Manifests can be signed with OpenBSD Signify for an additional layer of security.
Component updates
Prism Launcher and MultiMC components, including unsup itself, can be managed by the updater.
Gallery
Compatibility
Latest build for each game version and loader.
1.21.x11 of 11 versions with builds
1.20.x7 of 7 versions with builds
1.19.x5 of 5 versions with builds
1.18.x3 of 3 versions with builds
1.17.x2 of 2 versions with builds
1.16.x6 of 6 versions with builds
1.15.x3 of 3 versions with builds
1.14.x5 of 5 versions with builds
1.13.x3 of 3 versions with builds
1.12.x3 of 3 versions with builds
This mod also publishes snapshot builds. Snapshots are not shown in the matrix.
49 older game versions (1.0 – 1.11.2) not shown. All files on Modrinth
Questions
Does unsup need to be installed on both the client and the server?
Where does unsup find its configuration?
Can Prism Launcher manage unsup?
In the catalog
unsup is one of 36,990 Utility mods on ModsFinder. 15,569 mods support Minecraft 1.21.10.
More from exaptations
Similar mods
What the author says
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. 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…
Official listing
- Modrinth page
- modrinth.com/mod/unsup
- Owner
- exaptations
- Published
- 2025-06-17
- Updated on Modrinth
- 2025-12-05
- Facts verified
- 2026-10-15
