PluginManager
QuarterBukkit | (PluginManager) | MinecartRevolution
This project is took over. Nevertheless you can download the latest source here (until we have a git-repo).
English | German
Basic Description
What is PluginManager? It's a simple plugin for managing your Bukkit-Plugins.
PluginManager features:
- Install plugins from BukkitDev ingame
- Return a list with installed plugins and additional information
- Show detailed infos about plugins
- Load/Unload/Reload plugins
- Search for plugins on BukkitDev
- Check if a new version of a plugin is avaiable
- Update to the latest version of a plugin
For this, the plugin accessing the official BukkitDev-Website (http://dev.bukkit.org), fetching the plugin-pages and scanning them.
For Plugin Developers
PluginManager has already one of the best Url-Genrators (for BukkitDev). But for some plugins, this isn't enough.
You want to make sure that your plugin is supported by PluginManager?
- First, you need your BukkitDev-Url. So go on your BukkitDev-Plugin-Site and click on the tab "Overview" (If you aren't already there).
- Copy the Url of the site (For this plugin, it's http://dev.bukkit.org/server-mods/pluginmanager).
- Insert this key-value-pair (like name: PluginManager) in your plugin.yml: Simply replace <URL> with your BukkitDev-Url, so its looking like this (for this plugin):
dev-url: <URL>
Commands
If the parameter in this list contains "Plugins...", you can write down unlimited plugins and split them with spaces (like "/pm list Essentials WorldEdit"). If your plugin name contains a space, try it with a "-" or nothing (like "/pm list Marriage-Reloaded" or "/pm PermBukkit")!
If the parameter in this list contains "all", you can write "all" or no paramerer for ALL plugins (like "/pm list all" or "/pm list").
The Permission "pluginmanager.*" gives access to use all PluginManager functions (Byte default for OPs).
Command | Description | Permission |
/pm help | Shows a help-page. | pluginmanager.help |
/pm list <Plugins... \ all> | Lists some or all plugins with additional information. | pluginmanager.list |
/pm listfile <Plugins... \ all> | Lists some or all plugins with additional information into a file. | pluginmanager.listfile |
/pm info <Plugins... \ all> | Show detailed info about some or all plugins. | pluginmanager.info |
/pm infofile <Plugins... \ all> | Prints detailed info about some or all plugins into a file. | pluginmanager.infofile |
/pm load <Plugins... \ all> | Loads some or all plugins. | pluginmanager.load |
/pm unload <Plugins... \ all> | Unloads some or all plugins. | pluginmanager.unload |
/pm reload <Plugins... \ all> | Reloads some or all plugins. | pluginmanager.reload |
/pm search <Search-String> | Searches for plugins on BukkitDev. | pluginmanager.search |
/pm checkversion <Plugins... \ all> | Checks some or all plugins for a new version. | pluginmanager.checkversion |
/pm update <Plugins... \ all> | Updates some or all plugins if a new version is avaiable. | pluginmanager.update |
/pm install <Plugins...> | Installs some plugins. | pluginmanager.install |
Config
When you start the plugin the first time, it will automatically creates a config.yml in plugins/PluginManager.
Config (the comments aren't in your config, they're for explaining):
# Should PluginManager prints update and installation infos on the console # and log them? # Useful for controlling the version activity. logVersionInfo: true checkVersions: # Should PluginManager checks all plugin versions when the server starts? # (also on reload) # May requires much RAM. onStart: false # Should PluginManager checks all plugin versions when a permitted player #(pluginmanager.checkversion and pluginmanager.update) joins? # May requires much RAM. onJoin: false update: # Should PluginManager updates all plugins when the server starts? # (also on reload) # May requires much RAM. autoUpdate: false error: # Debug: Should PluginManager print internal and not-so-bad errors on # the console? # Not recommended! printSilenceErrors: false file: # PluginManager prints the plugin-list with "/pm listfile" into this # file. list: plugins.txt # PluginManager prints the plugin-info with "/pm infofile" into this # file. info: plugin-info.txt pluginlist: # Should PluginManager build a plugin-cache on startup? (Recommended for # people who use the search-function) # Will take much time! buildOnStart: true # Until which plugin-page (the pages on http://dev.bukkit.org/server-mods) # should PluginManager fetch plugins? # There are about 300 pages on BukkitDev. pageCount: 100 # Which plugins should PluginManager ignore? (You can also let it empty) # PluginManager will also don't unzip files with one of these names. blacklist: - Plugin1 - Plugin2
It is sad to see a project like this go inactive or abandoned. I use this for my server all the time but now cannot. It so happens that it breaks with 1.4.6... Goodbye best plugin ever... :(
Is it possible to deposit a new .jar file into the plugin directory and load the plugin while the server is running? It used to be the /pm load [plugin name] command, but now I believe that feature has changed.
17:13:57 [INFO] Scanning BukkitDev for plugins (may take a while) ...
17:13:57 [INFO] Fetching page-count ...
17:13:58 [SEVERE] Exception in thread "Thread-1560"
17:13:58 [SEVERE] java.lang.NullPointerException
17:13:58 [SEVERE] at com.quartercode.pluginmanager.util.BukkitDevPlugin.generateBukkitDevUrl(BukkitDevPlugin.java:142)
17:13:58 [SEVERE] at com.quartercode.pluginmanager.commands.CheckVersionCommand$CheckVersionThread.run(CheckVersionCommand.java:55)
...
newest version
Some of it is, not all of it though Shvesley
Broken in 1.4.5 :/
@netherfoam Can you read this top page, commands?
Why is this happening?
can u add command block support pls
How do I enable a plugin without rebooting the server? (Or reloading)
When I check all my plugins for updates it everytime stops when it checks MuliInv.
Error: http://pastie.org/5172211
whats going wrong?
also
wth?
@LHammonds
We're currently recoding the plugin. It began as a small idea, but now it's so big we cannot use the old code design. We will create a new system which can parse complicated version numbers (not as an AI, but better then now).
EDIT #1: I found out what it means when it says "The plugin Vault isn't version-supported!"
For Vault, the version inside the plugin.yml is 1.2.19-b248, the website is 1.2.19 (changing it fixed the problem)
For mcMMO, the version inside the plugin.yml is 1.3.11-b1030, the website is 1.3.11 (changing it fixed the problem)
Hmmm....For BleedingMobs the version inside the plugin.yml is 3.7a and the website says 3.7a. Does that mean it cannot handle alpha characters in the version? EDIT: Confirmed...any alpha characters in the version will guarantee the "not version-supported' message. Can this be changed where it can detect newer versions than the currently installed one? For example, if you have 3.7a and the most recent version does not equal "3.7a", it could be assumed there is a newer version.
If I edit the plugin.yml and simply remove the alpha (and the website does have the alpha), I get the following console error:
EDIT #2: I get console errors which causes the processing to stop with the plugin called Armor Abilities 2.1. The plugin.yml does not contain website/dev-url and the name does not perfectly match the web url. Name = ArmorAbilities but actual URL is http://dev.bukkit.org/server-mods/armor-abilities/
Same problem with MachinaCraft 4.1.6 plugins (all plugins have same dev page) which do not have website/dev-url but it keeps pm from blowing up if added.
EDIT #3: Even though I fixed the Armor Abilities plugin.yml with the URLs to stop the java errors, it would not detect that I had an out-dated version. I have version 2.1 but the current version available is 2.1.5. Even though the cache was created today, I deleted the cache and let pm rebuild it but it still thinks 2.1 is the latest version available.
This makes me wonder which of the plugins that are not coming back with a new version is actually reporting it correctly. If I have to check each one manually, it kinda defeats the purpose of using this as a notification tool. Oh, and yes, I was wanting to create a Bash script that calls this plugin checker and somehow get just the list of plugins that needs to be updated and send an email notification...hopefully with the links to the plugin page with it. :)
Thanks, LHammonds
@ProfLiebstrumpf
Thank you for your suggestions!
@QuarterCode
it says: This plugin is not installed
because the name is: Marriage
but the url is: marriage-reloaded
On /pm unload <pluginname> and restart the server the plugin is loaded again.
IF i have many plugins unloaded sucks this to disable it after every restart.
Oh.. And if i use in console pm install wrongwritedpluginname it has searched and installed all plugins i have loaded. (i'm scared to use it again )
@mrchasez
Which PluginManager do you mean?
@EpicTrance
Use /pm unload.
what about the -plugin command disabler
Is this like a modified version of PluginManager?
@TeamCobalt
The user has to type /install marriage-reloaded (ignoring the case), because a space is the mark for a new plugin (Replace all spaces with "-"). I will add this in the description.
@Mr__Rainbow__
I don't know what the error means, but checkv your Java-Version!
@EpicTrance
/pm load and /pm unload do the same. You can also use /pm reload for reloading plugins.