! General Information ! This plugin does not update premium resources. This plugin does not work with 'external' resources.
Beware that this plugin is in its early stage of development so bugs/errors can occur. Make sure to have an backup of your plugins folder before updating anything.
ALWAYS make sure to check if a plugin matches with its resourceURL inside the pluginSources.json file. If its wrong it will update to the wrong plugin.
You may also provide a direct download link as the resourceURL instead of a SpigotMC link
There may be issues with spigot forks like PaperSpigot
Description AutoPluginUpdater is a versatile plugin that searches for updates for any type of plugin, regardless of whether or not it supports auto-updating. The plugin will locate the spigot source of the plugin and compare a hash between the latest version and the version currently installed on your server.
If the hashes match, then you have the most up-to-date version of the plugin. However, if the hashes do not match, the AutoPluginUpdater will automatically download the newest version and replace the outdated version with the new one.
The configuration of this process can be customized according to your preferences in the config.yml file. With this plugin, you can ensure that all plugins on your server are updated to their latest versions, maximizing their functionality and enhancing the overall performance of your server.
How does it work? (Read carefully)
Upon installation and initialization, the plugin will create necessary folders and configuration files to function properly. It will then generate a pluginMap which contains a path to a plugin as the key and the name of the plugin from the plugin.yml file as the value. This is done by unzipping the plugin in the temp folder and reading out the plugin.yml for each plugin. Once the pluginMap has been created, the plugin will begin searching for plugin sources. It will loop through every plugin name on your server and search for it on spigotmc.org. If it finds a resource URL that matches the plugin name, it will store those two values (plugin name and resource URL) in a .json file called pluginSources.json. After this file has been populated with some information, the actual update function is triggered. By default, the plugin does not search for updates at startup, but this can be changed in the configuration file.
To update the plugins, AutoPluginUpdater will loop through every plugin file and look for its key in the pluginSources.json. If it finds an entry, it will retrieve the value from the key (resource URL) and download the latest version from it. The plugin then compares a hash between the plugin file on your server and a hash of the recently downloaded file. If they match, the plugin is up-to-date. If not, it is outdated.
If an outdated plugin is found, the plugin will disable it and overwrite the contents of the plugin file with a 0 (making it empty). The plugin cannot delete the plugin file as it may still be in use by the server even if it is disabled. The recently downloaded file is then moved into the plugins folder and renamed accordingly.
You can configure the plugin to automatically restart every updated plugin in the config.yml file.