Spigot/Paper, BungeeCord/Waterfall and Velocity compatible!
Replaces (you can disable this) the /pl and /plugins (bukkit) commands with a customisable message plugins version. Adding the -v tag will add all versions to the output! Please note: the commands /bukkit:pl and /bukkit:plugins are not replaced, so you can still use those!
A neat configurable /bpl plugins command for bungeecord! Use the -v flag to output the versions of the plugin and -m flag to also include modules in the plugin list (e.g. cmd_send.jar, cmd_server.jar etc.)
Reload plugins on the fly with /su (load/reload/unload)plugin <plugin>! (BungeeCord: the main command is /bsu) Supports tabcomplete to quickly load new plugins from a jar in your plugins folder
Watch plugin files for changes and automatically reload them! /su watchplugin!
Unloading unused commands (spigot/paper): You can define in the config commands which will be unloaded by ServerUtils at boot. These commands will not be accessible anymore to any in-game player, nor the console.
Reloading plugins and cleaning things up, like their PluginClassLoader and their recipes, recipe cleanup only works 1.12+, as below those versions a plugin is not associated with a recipe, so there's no way ServerUtils can know a recipe belongs to a plugin.
ServerUtils can also fully unload/reload itself! Take that, plugman!
Reload commands.yml on the fly without performing a whole reload or restart on the server! Useful to quickly make aliases Please note: currently, this only works on 1.8 - 1.16.
Reload the bukkit configuration on the fly without performing a whole reload or restart on the server! Please note: some configuration options may not be reloaded, please contact me if you think this is an error. Spigot/Paper configs are not reloaded, you can reload those with /paper reload or /spigot reload. Please note: currently, this only works on 1.8 - 1.16.
Automatic updater. The plugin can be configured to automatically download & install new updates of the plugin on server boot or when updates are checked. This feature is disabled by default, but can be precisely configured per config.
Plugins can listen for changes! ServerUtils offers an event API which can notify plugins precisely what component has been loaded, enabled, disabled or unloaded -- all with a Pre and Post stage. Please take a look at the Bukkit and Bungee events!
Load stages of a plugin (Spigot/Paper): To understand the difference between loading / enabling / disabling / unloading of plugins, I will describe the load stages below:
Fully loading a plugin (like at startup): 1. First, the plugin is loaded from a
.jar file from the
plugins directory. This is called
loading of a plugin. The plugin is now "red" in the
/plugin list, because it is not yet enabled.
2. At the second step, a plugin is
enabled. This causes the plugin to spit all sorts of things in the console (which the developer found important to notify you about at startup), like database connections being setup etc.
Fully disabling a plugin (like closing the server) 1. First the plugin is
disabled. This causes the plugin to lose all of it's features, like commands, event listeners, etc. After disabling, the plugin is still loaded in memory, but it is seen "red" in the
/plugin list.
2. Then the plugin will be
unloaded from the memory, so the plugin won't appear at all anymore in the
/plugin list.
Please note that reloading may not be compatible with each and every plugin! Plugins which depend on a reloaded plugin, are likely to be error-prone for reloading. Improper cleanup, or improper startup practises may break plugin (re/un)loading as well. Please be careful!
Help command: Load plugins from the plugin folder:
Reload configurations:
When reloading configurations, console output in-game!
Customisable plugin list message (with versions)!
Information about loaded plugins:
Information about commands:
For BungeeCord, the main command is
/bsu, and the plugin list is
/bpl.
For Velocity, the main command is
/vsu, and the plugin list is
/vpl.
The commands can be changed in the
commands config.
/su(Shows a help page with a few commands
) [serverutils.help
] /su help (Shows a help page with a few commands
) [serverutils.help
] /su reload (Reloads the ServerUtils plugin
) [serverutils.reload
] /su restart (Restarts the ServerUtils plugin, by fully unloading and loading itself
) [serverutils.restart
] /su reloadconfig (Reloads individual Server configurations
) [serverutils.reloadconfig
] Please note: currently, this only works on 1.8 - 1.16. /su loadplugin (Loads and enables the specified jar file as a plugin
)[serverutils.loadplugin
] /su unloadplugin (Unloads the specified plugin
) [serverutils.unloadplugin
] /su enableplugin (Enables the specified plugin
) [serverutils.enableplugin
] /su disableplugin (Disables the specified plugin
) [serverutils.disableplugin
] /su plugininfo (Shows information about the specified plugin
) [serverutils.plugininfo
] /su commandinfo (Shows information about the specified command
) [serverutils.commandinfo
] /su reloadplugin (Reloads a specified plugin
) [serverutils.reloadplugin
] /su watchplugin (Watches the specified plugin for changes.
) [serverutils.watchplugin
] /su unwatchplugin (Stops watching the specified plugin for changes.
) [serverutils.watchplugin
] /pl (Shows the plugins of this server
) [serverutils.plugins
] /pl -v (Shows the plugins of this server with version
) [serverutils.plugins.version
]