Reloader
Load, unload and reload plugins without restarting the entire server.
Load, unload and reload plugins without restarting the entire server.
Reloader is mainly designed for plugin development and testing, where restarting the server after every change quickly becomes inconvenient.
Instead of simply disabling and enabling a plugin, Reloader tries to clean up as many references as possible during unload. This includes scheduled tasks, listeners, services, messaging channels, commands, internal registrations, executors and the plugin classloader.
It also checks for threads still linked to the old plugin and warns you when the cleanup may not be complete.
Features
- Load, unload and reload plugins
- Tab completion for loaded plugins and JAR files
- Automatic plugin.yml parsing
- Missing dependency and duplicate JAR detection
- Automatic handling of dependent plugins during reload
- Correct dependency unload and load order
- Circular dependency detection
- Validation before making server changes
- Protection against simultaneous lifecycle operations
- Command synchronization for online players
- Cleanup of tasks, listeners, services, messaging channels, commands, internal registries, executors and classloaders
- Detection of threads still referencing unloaded plugins
- Separate handling for Spigot and Paper internals
- Folia-aware plugin loading
Commands
/pload <plugin>
Loads a plugin from its JAR.
Permission: reloader.load
/punload <plugin>
Unloads a currently enabled plugin.
Permission: reloader.unload
/preload <plugin>
Reloads a plugin together with any loaded plugins that depend on it.
Permission: reloader.reload
All permissions are restricted to server operators by default.
Dependency handling
Reloader reads dependencies directly from plugin descriptors.
If another loaded plugin depends on the plugin you are trying to unload, /punload refuses the operation.
When using /preload, dependent plugins are automatically unloaded and loaded again in the correct order.
Before starting, Reloader checks for missing JAR files, unavailable dependencies, duplicate plugins and dependency cycles.
Installation
- Place Reloader.jar inside the server's plugins folder
- Restart the server
- Use /preload <plugin> while developing or testing
No configuration is required.
Compatibility
- Java 21
- Bukkit API 1.20+
- Spigot
- Paper
- Folia
Plugins using only paper-plugin.yml cannot currently be loaded dynamically. Loading and reloading are mainly intended for traditional Bukkit plugins using plugin.yml.
On Folia, plugin loading is supported, while unload and reload are disabled because it is not possible to reliably guarantee that every plugin task has fully stopped.
Important
Bukkit was not designed to completely unload arbitrary plugins while the server is running.
Reloader removes as many references as possible, but no reload system can guarantee a perfect cleanup. Unmanaged threads, static references, library caches, native resources or direct server modifications may still require a full restart.
Reloader is best suited for development and testing. A normal server restart is still recommended after major updates or whenever warnings about remaining references are shown.
Reloader is a free Minecraft Java mod. Compatible with Minecraft 26.2. Downloaded 7 times (via Spigot). Download it and open it directly in the game.