PluginReloader
This plugin allows you to load, reload, and unload plugins straight from Minecraft or your console. With PluginReloader you can reload plugins for updating, unload plugins, or load new plugins.
Recommended Build | Support | Contribute | Feeds |
---|---|---|---|
Files | Create Issue | Source | Subscribe |
Information | Donate | Builds |
Features:
- Simple plugin loading, unloading, and reloading.
Information:
Development Builds:
Development builds of this project can be acquired on Bamboo.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
@laCourj
Ok, thanks for the reply. I'll try to find a plugin that works perfectly with it and use that as a template.
@Hangar
As of the last update, all reloading/loading is now handled by Bukkit itself. However to answer your question it's a mix of different things. Some plugins may have listeners that don't unload nicely for reasons outside of the developers control (now fairly rare due to our recent changes), which is the primary cause of a plugin failing to reload. So it's all outside of the plugin developer's control unless they're doing something dirty in their code. I apologize for the delayed response and hope this answers your question!
@skaviouz
Thanks for your ideas and thoughts, they are appreciated! Unfortunately this is too risky to do for this plugin, though our plugin is completely open source under the MIT license so you or another developer could try developing this idea. Sorry for the late reply.
I'd still like to know what causes a lot of plugins to not play nicely with this (errors when unloading or failed unloading). Is there a Best Practices that devs should follow to ensure compatibility? I'm curious for my own forays into development as well. If there are things you should or should not do in your plugin to make it compatible, perhaps you could make a page for that here :)
well about ohjays problem, you could setup a map of loaded classnames, and compare strings, but this is potentially dangerous considering you could have 2 plugins with same names in different cases, in-which case overly complicate and bloat the checking to require case-sensitive inputs when multiple names are the same. OR, download a spell check addons for your IDE. just some thoughts, This plugin is a must for any server that doesn't want downtime :)
@ohjays
Unfortunately I'm unable to do this, Bukkit's API requires the plugin name to be the correct case.
@ohjays
Sure thing, this will be done in the next update.
can this be made to ignore case ? keep having to remember the uppercase chars ( running on linux ) a somewhat common problem unfortunately. ie WorldEdit ->worldedit
just another thought wildcard support ie some plugins append a version number. instead if reloading "plugin_123.jar" allow "plugin*.jar" perhaps ??
thanks for a very very handy plugin
@Bimmr
Updates for most of my plugins will be shortly, thanks for your interest. If you have any feature requests for future version you can file a support ticket.
I know it works for 1.3.1 but can we have an update?
oooooh. this is one of those where you say "#*@$ why didn't I know this existed BEFORE????"
Thanks just what i needed very helpful :)
@computerkidt
This is because they both use the same bukkit API. The bukkit API doesn't support completly unloading a plugin and so the plugin is just disabled, hence why it appears as disabled in your plugin list. There is a new feature request about it so comment on there saying you want it :D. https://bukkit.atlassian.net/browse/BUKKIT-1103
For those that don't know: - When the server starts, a copy of the plugin is put in memory so that if the jar file is deleted, the server can still run and wont error out and crash. - Unloading a plugin removes it from the /plugins list and also the memory so that you can edit the original jar file and then load it again later. - Disabling a plugin just stops the plugin functioning which is not helpfull if you want to change the plugin .jar file to a different file.
Thanks
Zackpollard
I unload a plugin but i cant replace/rename it its still locked. (atm this does nothing more then plugman does :S please help or fix)
PS im running Windows 7 64Bit & Bukkit 1.2.5-R2.0
oooh someone finally came a redid this. There was one like a year ago.
@laCourj
Windows 7 Ultimate x64
@ThisUsernameIsMine
What version of Windows?
@laCourj
Hmm, then something's wrong on this end. It said it unloaded a plugin, but the file is still in use o_O (the plugin isn't listed under /plugins or /pl)
Bukkit related problem?
@Royalgamer06 @ThisUsernameIsMine
Yes, that's the point of the plugin. Once you unload a plugin you will be able to replace it then load a new version, or do as you please with the unloaded JAR.
@Royalgamer06
Yeah, i would like to know the answer on this, too. If it really unloads the plugin, it should be possible to overwrite/update the file/plugin with a newer version?
Thanks.
@laCourj
I eagerly await a update! Its a great plugin!