TrustManager
TrustManager- Trust-based permissions ranks
Introduction
TrustManager allows you to let your players rank up automatically using a system of trust. Great for large community servers, where promoting players manually is too time-consuming.
With TrustManager, your permissions ranks are based on trust levels or tiers. This is great to put down potential griefers- people who may only play on your server once just to mess with your stuff, will never get past rank 1. You can make your second rank have less restrictions, and so on, all the way up to a VIP rank. You can configure it however you want. See the "Configuration" section below for how to set up the plugin.
As of now, this plugin requires Essentials GroupManager as your permissions plugin. PEX support is coming in version 2.0, along with more useful bells and whistles. Please leave feedback in the comments! This is my first plugin, and I'd love to know what you'd like to see added!
Features
- Allow players to give and take away trust points from other players
- Each player can only vote on each other player once
- Define ranks with names, colors, and the amount of trust required to reach each one
- A special "staff" rank enables admins to circumvent the trust system
- Admins can set a trust handicap with any amount of points on a player
- Prevent voting on same- or higher-ranked players, to prevent newbies from trusting each other to get to a higher rank
- Supports voting on offline players and fully compatible with UUID's for name changing (Even though GroupManager isn't yet)
Commands
| /trust <player> | Give a player 1 trust point. If they reach the amount required for the next rank, they will be promoted automatically. |
| /untrust <player> | Take away a trust point you previously gave. If they drop to a lower rank, they will be demoted automatically. |
| /distrust <player> | Distrust a player and give them a negative (-1) trust point. This command can be disabled, see "Configuration" |
| /trustview | See your current trust level, rank, and how close you are to the next rank, if there is one. |
| /trustview <player> | See another player's current trust level, rank, and how close they are to the next rank. |
| /trustmgr staff <add|remove> <player> | Add or remove a a player to/from the "Staff" rank. Players who are marked as staff will be added to the staff group, and never have their rank changed by being distrusted. |
| /trustmgr handicap <player> <amount> | Give a trust handicap to a player. Great for boosting players the admins trust straight to the next rank. Also great for punishment, as this value CAN be negative. |
| /trustmgr register <player> | Add an offline player's info to the trust log file. This allows trusting of that player even if he/she hasn't yet been on the server. |
Permissions
| trustmanager.trust | Allows trusting, untrusting, and distrusting (if enabled) of other players. |
| trustmanager.trust.offline | Allows trusting, untrusting, and distrusting (if enabled) of offline players. Take away this permission to allow trusting only of players currently on the server. |
| trustmanager.view | Allows players to view their trust info. |
| trustmanager.view.others | Allows viewing of someone else's trust info. |
| trustmanager.admin | Allows the admin to manage the staff rank and give/remove handicaps. |
Configuration
The following lines are found at the top of the file TrustManager/config.yml
| allow-distrust | Set to 'false' to disable the /distrust command entirely. Players will only be able to give positive trust. (false by default) |
| vote-on-offline-players | Set to 'false' to completely disable trusting a player who is currently offline. (true by default) |
| vote-on-lower-ranks-only | If set to 'true' players can only trust someone who is a lower rank than they are. I recommend keeping this turned on, otherwise groups of newbies can all /trust each other to quickly achieve the next rank. |
Setting up your ranks
Each rank under "ranks" in the config.yml file must have the name "r1", "r2", "r3", etc. in the order they are to be reached, "r1" must be your default rank and have a trust point value of 0. To add more ranks, copy and paste the code and name it "r4"... you get the idea. The "staff" rank does not have a trust amount as it can only be reached via command. Here are all the things you can configure about your ranks:
| name | The actual name of your rank, i.e. "Newbies", "Trusted", "Well Known", "VIP". This appears when someone views their trust info. |
| points | The number of trust points needed to reach this rank. Must be greater than the previous rank. Make this negative and use "r0" as the label to create an "untrustworthy" rank that is below the default. |
| group-id | IMPORTANT: This is the name of the GroupManager group that corresponds to this rank. When a player changes to this rank, TrustManager will attempt to add them to that group in the default world on your server. You will need to mirror your other worlds' user data to the default world if you want the change to be server-wide on a multiworld server. |
| color | A number, 0-15, that represents the color used by messages for this rank. |
| broadcast-message | An optional message to be broadcasted to the whole server when someone achieves this rank. Prefaced by player name. Set to 'none' to disable. |
| player-message | A message to be sent to a player when he/she achieves this rank. |
Upcoming features
- As soon as school and work give me the time to, I'll be working on TrustManager 2.0, which will have most if not all of these features.
- PermissionsEx support- I have never used PEX on my server so I don't know much about how it works. Feel free to comment and let me know how you'd like TM to interface with PEX.
- An "import" command to set each player's rank and trust to what it should be based on their GroupManager rank
- Split rank data and user data into two different YAML files
- Better multiworld support (no time soon, sorry)
Known issues
- Usernames are case-sensitive only if the player is offline. This is because if the player is online, Bukkit can look up their name by the closest match, but if they are offline, then a UUID must be retrieved from the Mojang API, which is case sensitive.
-
View User Profile
-
Send Message
Posted Apr 19, 2015how about adding support for vault instead of PEX? that way you can support all the permissions plugins in one go, and potentially add costs/rewards for (dis/un)trusting and being ranked up :)
-
View User Profile
-
Send Message
Posted Dec 25, 2014This sounds like a really interesting plugin, I might give it a go!
-
View User Profile
-
Send Message
Posted Aug 11, 2014This is the best plugin ever! I love it finnaly i have ranks!