CmdRank
There are a couple of plugins out there that do ranking up but the problem I have had with many is getting it to do what I want. Rather than using API hooks into permissions plugins directly which limits the server admin to doing just what the plugin developer wanted the plugin to do when ranking a player up, this plugin relys on console commands in order to rank the player up. When a player does "/rankup" a criteria is checked for each matching rankup rule and the associated commands are executed. With configuration, this would be set to be the commands required to "rankup" the player and perform additional tasks like give them bonuses, give them timed permissions or anything that can be done via a command (something other plugins don't give you). The main goal behind the plugin is to provide you with a ranking system for your role-play that allows you to configure and customise it perfectly for your role-play scenario as well as your server setup. Personally I made this so that I would have rankup system that worked well with PEX ladders which other plusing don't allow but due to the flexibility in the way this plugin is designed, you can do this as well as use it for multiple ladders.
Features
- Execute any console command(s) to rankup the player
- Execute batches of commands with as many commands as you need for your permissions plugin and additional tasks
- Supports money, experience, hunger and health as requirments. (Please suggest more in the comments if you have any ideas - see ToDo list for planned implementations)
- Can just check requirements or take requirements configurable per requirements (e.g. can be configured to check they have full health but take $5000)
- Supports rank streams and spanning rank trees with correct implementation (e.g. players can rank from one to another or players can rank from serveral starting ranks to one main rank)
- Allow rankups to be used 1 or many times by the same player
- Optional cooldown between rankups on a global or rank by rank level to control the pace that players can rankup and stop abuse.
- Command for players to check what thier next rankup will be and get information such as requirements and a description
- Highly customisable player experience
- Rankup from buttons using TriggerCmd
- Compatible with all Vault compatible Permissions and Economy
- Usage can be customised for much more than just ranking up
Depenancies
- Vault - Provides hooks to permissions and optionally economy plugins.
- Vault compatible Permissions - required with vault in order for the plugin to work. This is for internal permissions (i.e. command permissions) as well as being used to find out what rank(s) the player has.
- Vault compatible Economy - optional if money is to be used as a rank-up requirement. All money settings will be ignored if an economy plugin cannot be hooked into.
How it works
The way the plugin works when the player executes /rankup is by trying to find a rank that matches one in the config file, if multiple match they will be executed in the order that they are matched. The plugin checks the requirements for each rankup and takes the requirements where needed then will execute the commands as configured in the config file. Currently the plugin support monetary, and experience requirements but I am happy to take suggestions on what else you would like to see to make this fit into your role-playing server.
Commands
- /rankup - Checks which rankups the player meets the requirements for then executes.
- /rankcheck - Shows all rankups that will be attempted when /rankup is executed and their requirements
- /cmdrank reload - Reload the config from the config file.
Permissions
- cmdrank.rankup - can execute rankup command in order to be ranked up
- cmdrank.admin - can execute all /cmdrank commands
- cmdrank.reload - can execute /cmdrank reload
- cmdrank.bypass.cooldown - bypasses any cooldown restrictions
- cmdrank.bypass.disabled - bypasses any disabled ranks
- cmdrank.bypass.reranks - bypasses any rerank restrictions
Configuration
You can view a full commented version of the config file here which should allow you to get started with configuring however, if you would like a full configuration tutorial click here.
ToDo List
- Customisable rankup alias to make it fit with other usages
- Implement McMMO skills as requirements
- Add time online as a rankup requirement
- Add admin commands to invoke rankups on other players
- Add admin commands to manage rankups
- Stats based requirements - blocks placed, players killed, etc.
- Inventory based requirements - Must have specific items in inventory to rankup
- Translate into other langauges (if you can help with this, please contact me)
- Developer API to access data, initiate rankups, and plug in your own requirements
Development
The current development source code can be found on GitHub or on GIT:flungo (the latter being more likely to be up to date). You can download development snapshots from my Jenkins.
Donating
Making a donation is totally voluntary, however if you wish to donate I am happy to accept. I don't expect everyone using my plugin to donate however if your using my plugin (or any developer's plugins for that matter) on a server where you too receive donations then how about considering passing along some of that love to the people who make the plugins that make your server possible? I wouldn't expect people who don't make money from the use of the plugin to donate but all donations are appreciated and would help speed up development and get feature requests completed. If you would like to donate to me then you can use the button below:
@flungo
Thanks for your reply, I look forward to these features! I am using group manager.
Thanks,
- Tech
@zzjakeyzz
Could you post or pm me a link to a pastebin with your config.yml.
Without seeing it I can only think that you have set "reranks: 0" somwhere in the config for a rank which denotes disabled. If you did this with the intention of infinite re-ranks this is "reranks: -1" (or you can drop this variable all together if rerank is true). Hope that made sense. I can try to explain better if that doesn't make sense?
Hi, when I go to rank up is says the rankup is disabled.
What shall I do?!?
@joshwenke
Will do but I have a lot of other projects and work so just trying to fit it all in around this. For a while there hasn't been a plugin that can do a lot of what this does so I really want to add as much functionality as I can to make this the complete solution for ranking up for any server. If you have any feature requests not already in the todo list, leave in the comments. Thanks for your feedback.
@xtechgamer735
Planning to add some functionality to control how the player sees things and what they see in the next patch (v1.1.1). Will add the ability to mute certain messages and if not in v1.1.1, but in v1.1.2 I will try to get all the messages in a messages.yml so that it can be translated, internationalised and tweaked for your needs. Thanks for the feedback.
What permissions plugin are you using? With pex once the player is removed from the old rank they will not get the old messages however I have had a report from a user about GroupManager where it will say you are in all groups that a group inherits from. The rankup limit introduced in the latest version was to combat this problem (where players would be re-ranked up as the lower ranks too) so hopefully that's now working. With better control about what messages are shown this should allow this plugin to work even in this situation. I have tried to avoid the literal ladder approach that most rankup plugins use to allow users to create ladders and trees as well as multiple ladders without them conflicting.
@KeyOM13
Does it say anything in the console? Any error messages or stack traces? If so please put in a pastebin and post me back the link.
Please can you add a messages.yml and make it more like a ladder so players can go up it and not get a "You cannot rankup to <rank> again" message?
Thanks,
Olly.
Planning on using this for multiple servers! Keep adding features and fixing bugs :)
It doesn't load, please help!
@DetonatorAgent
The plugin is now up, by the way. I will be adding some in game admin commands, possibly around version 1.3/1.4 but since this is in the most a one time configure and go plugin this is not high on the priorities. I would like to provide some more API hooks and requirements in the next versions to make the plugin more robust and more configurable. With regards to your examples such as "/rankup powers [rank]" would this not be the job of the permissions plugin you are using? If you wanted to give a 'power' you would add a command that get's your permission plugin to do that. even default rank should be determined by your permissions plugin. I am not writing a permissions system but a plugin that can work alongside any permissions plugin and use all the features of that permissions plugin by being able to execute any command.
Nice plan!
I like how you are going to setup the commands for this plugin. Keep it up!
Also, make commands like: !!!p.s. all of the commands in the list are for ops only.!!
/rankup add [rank]::::add a rank to the list of available ranks.
/rankup [rank] {player}::::rank a player of choice to a rank.
/rankup default [rank]::::set a default rank for players to log in with.
/rankup powers [rank]::::set the powers (commands, flying, etc.) that a rank has.
please take these suggestions!