RankBot
Automatically promote a player's rank
Using either time played or players using a secret phrase.
How to install RankBot
1) Add RankBot to your plugins folder, start your server or /reload your plugins
2) Edit the config.yml file in the RankBot Folder.
3) Reload or restart again for your changes to take effect.
Example Secret Phrase Setting
SecretPhrase:
Phrase0: rank me
FromGroup0: guest
ToGroup0: nomad
Example Timed Hours Played Settings
HoursPlayed:
Hours0: 8
FromGroup0: nomad
ToGroup0: citizen
Commands
/rankbot {secret_phrase) - Used for secret phrase promotions.
/rb time - Used by a player to show their time until their last log off, doesn't count current time since logging back on. Requires rankbot.time permission, which is defaulted to false.
/rb time {playername) - Used by admins to either list a player's time since last log off, or lists all players if no name is supplied. Requires rankbot.admin permission, which is defaulted to op.
Permissions
rankbot.time - Allows the use of the player time command, which reports back to the player their play time since the last logout (not counting current time).
rankbot.admin - Allows the use of admin commands, the only current admin command is the admin version of "/rb time"
Requirements
RankBot requires Vault and a supported permissions plugin.
Visit the Vault Webpage to see the current list of supported permissions plugins
Notes
To make RankBot more efficient the ranking isn't done the moment the time requirement is met, this would require a timed event that would check all player times vs. all the RankBot Times. Instead, a player isn't ranked until the next logon.
The playertime.db file in the RankBot Folder contains the playtime of players (in minutes) since the file was written to disk, this file is only written from memory to the disk file on server stops or plugin reloads.
There are up to 30 Secret Phrases and 30 Timed Hours Played Automatic Ranks
Correct me if I'm missing something but it sounds like fastest way to rank up player "in real time" is to use secret phrase. That seems to work whenever player is on and types /rankbot [phrase] I tested that method and it does not require server restart. However player needs to re-login to get full ranking update. Would it be good idea to have that information part of "You have been promoted" message?
@AxelDios
Thanks for the hard work. I'll re-test it.
@hopeformylife
Sorry to tell you I made a mistake, I was using a floating-point number in the configuration but switched to integers so you can't use the ".5" like I said, only whole numbers.
And there is an update being released to allow for up to 30 Secret Phrases and 30 Hour Based Ranks.
Also the addition of saving all the online player's time during a plugin reload, and faster parsing of the player joins (because all plugins should be optimized where possible for the better of the server).
The output in playertime.db is in minutes and is only for the plugins internal use if the server is restarted or the plugin is reloaded. It is only updated when the plugin is disabled (like the server being stopped). It does not reflect the "live" count for the players, that is held in memory until a server shutdown.
I really like the idea of this plugin, we are currently running it for a timed promotion but we are not sure it is working properly. Can you please clarify some questions for me?
1. Can we use any decimals in the config file? (beyond the .5?) 2. Is the output in playertime.db in hours or minutes or? 3. We have 81 players in playertime.db, but some of our users don't seem to be getting added or tracked? Any ideas on this front?
I do like the simplicity of this plug-in. Thanks for your work.
@AKlarvanto You can use .5 hours to get the 30 minutes.
But to reduce server demand, plugin lag, and plugin complexity the ranking based on time doesn't rank a play until the next time they join the server. So they would need to leave the game and rejoin it even after the 30 minutes has passed.
Is it possible to set time less than one hour? 30 minutes would be perfect. I will have guest account for new players and 1 hour in server doing nothing sounds long time to wait unless secret phrase is provided.
@drakogate
So far 10 Timed ranks, I'll think about adding more in the future.
@AllStateNy
So far 10 Secret Phrases is the limit, but I will think about more.
Dear god, please make more more hours played ranks. I need at least 30 to make this work properly for my server. I would kill for this plugin.
Can You add the amount of secret phrases that can be used?
@Evanito Yes it does, RankBot uses Vault so any permissions plugin Vault supports would be supported by RankBot.
Vault's Current List: Permissions 3, bPermissions, PEX, GroupManager, PermissionsBukkit, zPermission, SimplyPerms.
For more information go to Vault's Page.
Works with PermissionsBukkit?
That's all I needed, sounds great!
@Cleverstuff
Due to other projects and things taking up all my time I'm releasing 1.0 with only two features Secret Phrases and Hours Played.
At this time there won't be any other methods, but both of the above allow for up to ten assignments each. And there currently isn't an idle player check.
Can't wait for the full release, this'll be great to have on my server. I hope the release is soon and you sure as hell have my support!
@AxelDios
My ProtectionStones and Cop plugins just got minor updates, and next in line is RankBot, so I'm hoping at the latest, the end of next week should see a RankBot release with up to 10 Secret Phrase Promotions and up to 10 Hours Played Promotions.
The Hours Played will be stored in a simple text file.
Delayed a few weeks because of the 1.3 release.
How is this coming along? I just need something to track player gametime. My server is on a large SSD. If its all stored and updated in a text file that is not a problem.
@WEB11
Yes, that feature is coming soon, i was away for a week, so hopefully if all goes well some time next week.
Also looking for a way to auto promote users based on join date / play time.