
Early Development Stage - This plugin is in early development. Please keep that in mind. Development is ongoing - please be kind with feedback and bug reports!
A server-side mod management plugin for Hytale dedicated servers that lets you easily add, install, update, and remove mods directly from in-game or console commands.
modsync-<version>.jar from here or GitHub-Releasesmods/ folder/modsync config key curseforge <key>/modsync add https://curseforge.com/hytale/mods/exampleGet your API key from CurseForge Console
Note: Without an API key, ModSync uses CFWidget as fallback for CurseForge URLs. CFWidget supports URL-based lookups but not search-based import matching.
| Command | Description |
|---|---|
/modsync add <url> | Add mod from CurseForge URL |
/modsync list | Show all managed mods with install status |
/modsync install | Install all mods from your list |
/modsync install <name> | Install a specific mod |
/modsync remove <name> | Remove mod by name, slug, or identifier |
/modsync remove all | Remove all mods |
/modsync check | Check for available updates |
/modsync upgrade | Upgrade all installed mods |
/modsync upgrade <name> | Upgrade a specific mod |
/modsync scan | List unmanaged mods in the mods folder |
/modsync import | Auto-match and import all unmanaged mods |
/modsync import <target> | Auto-match and import a specific mod |
/modsync import <target> --url=<url> | Import with a specific CurseForge URL |
/modsync config | Show all configuration settings |
/modsync config channel <value> | Set default release channel |
/modsync config key <provider> <key> | Set API key for a provider |
/modsync setchannel <mod> <channel> | Set per-mod release channel |
/modsync selfupgrade | Check for ModSync plugin updates |
/modsync selfupgrade apply | Download and install latest ModSync |
/modsync status | Show current configuration and version |
/modsync reload | Reload configuration from disk |
Tip: Use quotes for names with spaces: /modsync install "My Mod"
Control which release types are considered for installation and updates:
| Channel | Versions Included |
|---|---|
release | Stable releases only (default) |
beta | Beta and stable releases |
alpha | All versions including alpha |
/modsync config channel beta # Set global default
/modsync setchannel MyMod alpha # Override for specific mod
/modsync setchannel MyMod default # Remove override, use globalThe /modsync add and /modsync install command
When you install a mod, the plugin:
mods/earlyplugins/ (configurable)Note: A server restart is required to load newly installed mods.
The /modsync remove command
When you remove a mod, the plugin:
Note: If the file is locked (Windows), it queues the file for deletion on next restart. The bootstrap plugin handles queued deletions before the server loads mods.
The /modsync check command:
Shows which mods have updates available with version comparison (e.g., 1.0.1 -> 1.0.2).
The /modsync upgrade command:
Upgrades all installed mods or a specific mod.
Note: A server restart is required to load upgraded mods.
Use /modsync scan to find unmanaged mods, then /modsync import to bring them under ModSync control with auto-matching.
Note: This works only when a mod source is configured which supports search lookups (e.g., CurseForge).
On Windows, JAR files are locked while loaded by the JVM. This prevents deletion of old mod versions during upgrades.
The bootstrap plugin is an early plugin that runs before normal plugins load:
pending_deletions.jsonInstallation (only if you have deletion issues):
earlyplugins/ folder--early-plugins --accept-early-plugins flagsNote: On Linux dedicated servers, file locking is typically not an issue and the bootstrap plugin is usually not needed.
All data is stored in mods/Onyxmoon_ModSync/:
config.json - API keys and settingsmods.json - Your curated mod list (shareable between servers)mods.lock.json - Installation state (machine-specific, not shareable)pending_deletions.json - Files queued for deletion on restart (only when there are locked files and the bootstrap plugin is required)
0 Comments