PlugMan
What is PlugMan?
PlugMan is a simple, easy to use plugin that lets server admins manage plugins from either in-game or console without the need to restart the server.
Features
- Enable, disable, restart, load, reload, and unload plugins from in-game or console.
- List plugins alphabetically, with version if specified.
- Get useful information on plugins such as commands, version, author(s), etc.
- Easily manage plugins without having to constantly restart your server.
- List commands a plugin has registered.
- Find which plugin a command is registered to.
- Tab completion for command names and plugin names.
- Dump plugin list with versions to a file.
- Check if a plugin is up-to-date with dev.bukkit.org
- Permissions Support - All commands default to OP.
Commands
Command | Description |
---|---|
/plugman help | Show help information. |
/plugman list [-v] | List plugins in alphabetical order. Use "-v" to include versions. |
/plugman info [plugin] | Displays information about a plugin. |
/plugman dump | Dumps plugin list and versions to a file. |
/plugman usage [plugin] | List commands that a plugin has registered. |
/plugman lookup [command] | Find which plugin a command is registered to. |
/plugman enable [plugin| all] |
Enable a plugin. |
/plugman disable [plugin| all] |
Disable a plugin. |
/plugman restart [plugin| all] |
Restart (disable/enable) a plugin. |
/plugman load [plugin] | Load a plugin. |
/plugman reload [plugin| all] |
Reload (unload/load) a plugin. |
/plugman unload [plugin] | Unload a plugin. |
/plugman check [plugin| all] [-f] |
Check if a plugin is up-to-date. |
Permissions
Permission Node | Default | Description |
---|---|---|
plugman.admin | OP | Allow use of all PlugMan commands. |
plugman.update | OP | Allow user to see update messages. |
plugman.help | OP | Allow use of the help command. |
plugman.list | OP | Allow use of the list command. |
plugman.info | OP | Allow use of the info command. |
plugman.dump | OP | Allow use of the dump command. |
plugman.usage | OP | Allow use of the usage command. |
plugman.lookup | OP | Allow use of the lookup command. |
plugman.enable | OP | Allow use of the enable command. |
plugman.enable.all | OP | Allow use of the enable all command. |
plugman.disable | OP | Allow use of the disable command. |
plugman.disable.all | OP | Allow use of the disable all command. |
plugman.restart | OP | Allow use of the restart command. |
plugman.restart.all | OP | Allow use of the restart all command. |
plugman.load | OP | Allow use of the load command. |
plugman.reload | OP | Allow use of the reload command. |
plugman.reload.all | OP | Allow use of the reload all command. |
plugman.unload | OP | Allow use of the unload command. |
plugman.check | OP | Allow use of the check command. |
plugman.check.all | OP | Allow use of the check all comamnd. |
Configuration
File | URL |
---|---|
config.yml | https://github.com/r-clancy/PlugMan/blob/master/src/main/resources/config.yml |
Source
PlugMan is open source and hosted on GitHub; feel free to fork, star, or contribute to PlugMan by making pull requests and opening issues.
Sponsors
To view those who enable this project to be developed, please refer to the GitHub page.
Tutorial
Samkio has made a tutorial showing the basic usage of the plugin.
User Content
- Logo: HariboPenguin
- Tutorials
- English (Samkio): http://www.youtube.com/watch?v=E_vQSEfYckA
- Spanish (cloud_strife_91spain): https://www.youtube.com/watch?v=euJH1XGunAk&feature=youtu.be
- German (ThePhantom123): https://www.youtube.com/watch?v=SYJfpGJQlvM&feature=youtu.be
- Portuguese (AbsintoJ): https://www.youtube.com/watch?v=VfoB6HlVeYQ
Notes
- PlugMan requires (at least) Java 7 to run.
- If you have an error, please use a paste service (such as http://hastebin.com/) instead of the comment box.
@Kloporte
@cnaude
This will be implemented as soon as I get my new laptop soon, mine is busted atm :P
@Kloporte
It is possible.
plugman list
12:19:15 [INFO] Plugins: AutoGamemode, BananaLogArchiver, BlockHat, BOSEconomy, ChestShop, Courier, CustomMessages, Deadbolt, DeathTpPlus, ecoCreature, Giant Trees, HawkEye, LagMeter, MagicSpells, MobArena, motd, MrFixit, Multiverse-Core, Multiverse-Inventories, MyWarp, ObviousRecipes, PermissionsBukkit, PlugMan, pvparena, Residence, ResMelt, Scavenger, SilkSpawners, StickyHelp, ThisLogMustDie, TimeAndWeatherControl, Vault, Whitelist, WorldEdit
Please add this feature so this plugin would even more awesome. Add a lag meter of plugins for example /plugman ram plugin_name shows how much ram the plugin uses ;)
Is it possible to show the plugin by alphabetical order when using /plugman list ant /plugman vlist ?
@mantegudo
I think it's not possible, because it's still loaded by java so you have to stop your server before replacing a plugin
I'm not a java developper so i may be wrong
@rylinaux
Hey, I can't use your plugin to update another plugin :/, If I disable a plugin then upload a new version of it then reenable it, it still says the old version, isn't there anything to do about it?
Thanks
@weja93
I'll agree that the command doesn't have much practical use, but I used it a few times on a localhost server to unload plugins and update them without having to do a restart. If you dislike the command, then simply remove it from the plugin.yml located within the plugin. As of version 1.6.7, the purge command defaults to false rather than OP so only people with plugman.purge are able to use it.
Thanks.
Remove purge command and I might just try this plugin. Who would EVER need that command? It's useless and dangerous. If you want to disable plugins, clear your plugins folder.
Thanks.
@xhaavardx
Version 1.6.7 has the usage command back in it, let me know if there are any bugs!
@rylinaux
Ok, that's fine for now.
@wolfenit415
I came here to report an issue but by reading the comments below it seems like its already known: the idea of disable and enabling plugins will NOT effect changes you do. One day, I was working on configuring schedule announcer plugin (it displays messages in the chat in a timed a loop). I tried changing the config and disabled and then enable the plugin but what it did was simply reloaded a copy of the plugin. The end result was the chat spammed with lots of messages.
I downloaded Plugman so that I can simply do some changes on plugin configs and simply "reload" them only. My idea was to find a way to not use the /reload command and only reload 1 single plugin. This plugin cant do what I want to do unfortunately. FORTUNATELY, some plugin developers have created their own /reload commnand. One example would be bpermissions. I would do some changes on the config and then type: /bp reload and boom! changes are quickly made and saved and i didnt have to restart server. The same goes for WorldGuard too and other plugins.
Ok thanks for the reply! Do you think this is something they will do? Maybe when the official mod api comes out? That would be amazing! So i guess the only question i have then is in the documantation it says that we can update a plugin without a restart does only mean the config then, not the actual plugin jar? Thanks again, other than those small things reloading and disabling a plugin is definately handy!
@xhaavardx
I'll re-implement this soon, just started to work on it :)
@wolfenit415
There is a difference between disabling, as you've done, and unloading, that Bukkit doesn't natively support. Once the server starts, it loads that jar into memory so if you delete the jar when the server is running the plugin will still work. Bukkit doesn't natively support a way to unload a single plugin, so to do so you will need to restart your server with the new jar. Once this is added, I will implement it right away.
@Rtzon
I know anderson quite well, so I was aware that this was possible. Reflection isn't the safest way to do it and will break with every update, whereas the methods I use right now -should- be good forever. I don't want to add something that will break the plugin, so I will hold off on it for now. I prefer to have a perfectly functional plugin from update to update rather than one that will break :P
What happened to the /plugman usage command?? That was the most useful command of them all.
I thought may be i would be able to take a plugin out of the plugin folder as the server was running after disabling a plugin. Was i wrong to think that? After disabling a plugin and trying to remove it says that java is still using that plugin? The console says that is disabled though? Also just tested trying to update a plugin and apparently im missing the entire point of this plugin or the documentation is entirely misleading and willing to except that im making a mistake. I disabled a plugin with the updated version ready to install as i stated before i cant take the plugin out so i thought i would maybe just insert file with same name, since its unloaded, and write over then reload plugin and Voila' updated....*sigh* but alas my attempts have been foiled. Please explain how to make this work. Also is this plugin supposed to create a config file upon loading because it has not. Im running recommended build for 1.2.4. Thanks for any help you can give!
@rylinaux
Also, somebody replied that he's using "reflection" to achieve it.
Do you know what that is? If so, could you implement it in? :)
Sorry, I'm a total noob at all these terms, I have no idea what he's talking about.
@rylinaux
Yup, I did :P
Thanks! :)
Awesome plugin, I hope Bukkit adds in the unload thing so I can update plugins w/o restarting the server! :)
@Rtzon
For the next update, I will default purge to false, since it is a semi-harmful command, and yes, plugman.purge should still work even if it's false.
Here is the link for the feature request, I think you just failed on that quote in the first comment you made :P
https://bukkit.atlassian.net/browse/BUKKIT-1103
@Rtzon
Oh, and also can you make the /plugman purge command to false in the plugin.yml? I really don't want to change it everytime I update. If you set it to false, anyone with the plugman.purge perm can still access the command right?
@Digitalink2008
Can I have a link for that feature request?
@rylinaux
I gotta say i've no idea why your plugin's functionality isn't just a part of bukkit its self ya know :)
Glad you're on the job.