ServerUtils - [BungeeCord/Spigot] Manage plugins in-game + more! 2.0.3

Ever wanted to reload plugins, commands.yml or the bukkit config without reloading the whole server?

  1. FrankHeijden
    Native Minecraft Version:
    1.16
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    Source Code:
    https://github.com/FrankHeijden/ServerUtils
    Contributors:
    Aikar (ACF)
    Languages Supported:
    Configurable with messages.yml
    [​IMG]
    [​IMG]
    [​IMG]
    • BungeeCord/Waterfall and Spigot/Paper 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 :)
    • 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 :)
    • 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.
    • Automatic update checking via GitHub. You can also automatically download from GitHub, disabled by default - or you can only download and install at server boot.
    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! While most plugins will cleanup properly, there may be some which do not, and will therefore cause issues when reloaded!

    [​IMG]
    Help command:

    Screenshot 2020-06-11 at 12.17.06.png

    Load plugins from the plugin folder:

    Screenshot 2020-06-02 at 21.18.13.png

    Reload configurations:
    Screenshot 2020-06-02 at 21.19.16.png

    When reloading configurations, console output in-game!
    Screenshot 2020-06-06 at 13.18.58.png

    Customisable plugin list message (with versions)!
    Screenshot 2020-06-11 at 12.22.08.png

    Information about loaded plugins:
    Screenshot 2020-06-07 at 17.47.54.png

    Information about commands:
    Screenshot 2020-06-09 at 21.06.49.png


    [​IMG]
    For BungeeCord, the main command is /bsu, and the plugin list is /bpl.

    /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 reloadconfig (
    Reloads individual Server configurations) [serverutils.reloadconfig]
    /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]
    /pl (
    Shows the plugins of this server) [serverutils.plugins]
    /pl -v (
    Shows the plugins of this server with version) [serverutils.plugins.version]

    Update notifications: [serverutils.notification.update]

    [​IMG]

    Code (YAML):
    settings:
      disable-plugins-command
    : false
      check-updates
    : true
      download-updates
    : false
      download-at-startup-and-update
    : true

    Code (Text):
    serverutils:
      success: '&3Successfully %action%ed &b%what%&3!'
      warning: '&3Successfully %action%ed &b%what%&3, but with warnings.'
      error: '&cAn error occurred while %action%ing &4%what%&c, please check the console!'
      not_exists: '&cAn error occurred while %action%ing &4%what%&c, plugin does not exist!'
      not_enabled: '&cAn error occurred while %action%ing &4%what%&c, plugin is not enabled!'
      already_loaded: '&cAn error occurred while %action%ing &4%what%&c, plugin is already
        loaded!'
      already_enabled: '&cAn error occurred while %action%ing &4%what%&c, plugin is already
        enabled!'
      already_disabled: '&cAn error occurred while %action%ing &4%what%&c, plugin is already
        disabled!'
      file_changed: '&cAccessing the jar file while %action%ing &4%what%&c went wrong,
        please load the plugin manually!'
      invalid_description: '&cAn error occurred while %action%ing &4%what%&c, plugin doesn''t
        have a valid description!'
      invalid_plugin: '&cAn error occurred while %action%ing &4%what%&c, plugin is invalid!'
      update:
        available: |-
          &8&m------------=&r&8[ &b&lServerUtils Update&r &8]&m=--------------
           &3Current version: &b%old%
           &3New version: &b%new%
           &3Release info: &b%info%
          &8&m-------------------------------------------------
        downloading: |-
          &8&m------------=&r&8[ &b&lServerUtils Update&r &8]&m=--------------
           &3A new version of ServerUtils will be downloaded and installed after a restart!
           &3Current version: &b%old%
           &3New version: &b%new%
           &3Release info: &b%info%
          &8&m-------------------------------------------------
        download_failed: '&cFailed to download version %new% of ServerUtils. Please update
          manually.'
        download_success: '&3ServerUtils has been downloaded and will be installed on
          the next restart.'
      help:
        header: '&8&m-------------=&r&8[ &b&lServerUtils Help&r &8]&m=---------------'
        format: '&8/&3%command%&b%subcommand% &f(&7%help%&f)'
        footer: '&8&m-------------------------------------------------'
      plugins:
        header: '&8&m------------=&r&8[ &b&lServerUtils Plugins&r &8]&m=-------------'
        format: '&3%plugin%'
        format_disabled: '&c%plugin%'
        seperator: '&b, '
        last_seperator: ' &band '
        version: ' &8(&a%version%&8)'
        footer: '&8&m-------------------------------------------------'
      plugininfo:
        header: '&8&m-----------=&r&8[ &b&lServerUtils PluginInfo&r &8]&m=-----------'
        format: ' &3%key%&8: &b%value%'
        list_format: '&b%value%'
        seperator: '&8, '
        last_seperator: ' &8and '
        footer: '&8&m-------------------------------------------------'
      commandinfo:
        header: '&8&m-----------=&r&8[ &b&lServerUtils CommandInfo&r &8]&m=----------'
        format: ' &3%key%&8: &b%value%'
        list_format: '&b%value%'
        seperator: '&8, '
        last_seperator: ' &8and '
        footer: '&8&m-------------------------------------------------'
        not_exists: '&cThat command is not a valid registered command.'

    [​IMG]
    You can get support at my Discord server, in a PM, GitHub or in the discussions thread of this plugin.

    Enjoy! :D
    Osqai and KingAlterIV like this.

Recent Updates

  1. Fix scuffed tabcomplete
  2. BungeeCord improvements!
  3. Hexxer support

Recent Reviews

  1. Hoang_Redstone
    Hoang_Redstone
    5/5,
    Version: 1.4.1
    NICE ,
    It looks like a plugman but this is new and has many functions so I chose this one.
    It would be great if the author could add the block command that the server owner wants, the / pl, / plugins block commands but the player can still use other commands like / bukkit :? , / bukkit: pl, ......
    The author can make the block command look like this ....
    https://www.spigotmc.org/resources/block-that-command.13804/
  2. Bogdan2402
    Bogdan2402
    5/5,
    Version: 1.4.0
    Great plugin! It would be cool to implement the same plugin for BungeeCord

    -
  3. imdevelopersad23
    imdevelopersad23
    4/5,
    Version: 1.3.0
  4. Adron_hd
    Adron_hd
    5/5,
    Version: 1.0.4
    WOW ITS WORK THANX YOU SO MUCH!!! THANXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX