Timed Ranker
TimedRanker is a simple Bukkit plugin that allows your server to automatically promote/rank-up players based on their total online time.
Features
- Records total minutes online on server
- Easy to use configuration
- Per World (World Specific) promotions supported (if Permission plugin supports it as well)
- Customize how often promotion check is run to optimize the plugin for your server
- Essentials AFK Integration
- RoyalCommands AFK Integration
- lang.yml file for easy message customization
- Uses Vault for permission management
- Stores total gameplay time in an SQLite .db file or a MySQL database
- Constantly maintained
Commands
- tranker playtime [player] - See yours/others' gameplay time
- tranker top - See top 10 player with longest gameplay time
- tranker left [player] [world] - See how much time you/others have left until your/their next promotion
- tranker settime <player> <minutes> - Set number of minutes played for a player
- tranker addtime <player> <minutes> - Add specified amount of minutes played to a player
- tranker delete <player> - Delete the specified player from the database
- tranker convert - Convert SQLite to MySQL
- tranker purge - Purge the database
- tranker reload - Reload configuration file
Permissions
- tranker.playtime - Permission to use /tranker playtime - Default: true
- tranker.playtime.others - Permission to use /tranker playtime <player> - Default: op
- tranker.top - Permission to use /tranker top - Default: true
- tranker.left - Permission to use /tranker left - Default: true
- tranker.left.others - Permission to use /tranker left <player> - Default: op
- tranker.settime - Permission to use /tranker settime <player> <minutes> - Default: op
- tranker.addtime - Permission to use /tranker addtime <player> <minutes> - Default: op
- tranker.delete - Permission to use /tranker delete <player> - Default: op
- tranker.convert - Permission to use /tranker convert - Default: op
- tranker.purge - Permission to use /tranker purge - Default: op
- tranker.reload - Permission to use /tranker reload - Default: op
- tranker.* - Permission to use all commands
Configuration
#true for MySQL and false for SQLite useMySQL: false #MySql databse information, if useMySQL is set to true mysql: username: 'mysql_username' port: 3306 password: 'mysql_password' host: 'mysql_host' database: 'mysql_database' #Integrate Essentials AFK (default: false) essentialsAfk: false #Integrate RoyalCommands AFK (default: false) rcmdsAfk: false #Debug mode. If you don't know what you're doing, leave it false (default: false) debugMode: false #How often, in minutes, does the server check for promotions (default: 5) checkPeriod: 5 #Delete players from the database who haven't logged in the set amoutn of days. Set 0 to disable. purgeAfter: 0 #Default group for new players defaultGroup: default #If groups are set-up per world. Eg. in world "creative" the player is in group "moderator", #but in world "survival" player is in group "user" #Only enable this if your permission plugin supports per-world groups. #Notice: If you enable this, the plugin will use perworld.yml #so you'll need to set up rank promotions in that file instead of this #(default: false) worldSpecificGroups: false #Promotions list promote: #Group to be promoted from group1: #Group to be promoted to to: group2 #After specified amount of time played. Usage: d - for days, h - for hours, m - for minutes; #use spaces between days, hours and minutes timeReq: 1h 2m group2: to: group3 timeReq: 2d 3h
You can set up as many promotions as you like.
NOTE: Starting with v1.3 world specific promotions are supported. In order to set them up, edit perworld.yml instead of config.yml
Installation
First install SQLibrary and Vault and then a permission plugin of your choice. If you want AFK Integration, you need to install Essentials or RoyalCommands as well. Then drag and drop the jar file in your plugins folder and run the server to generete the config file and database. After that you can proceed to editing the configuration.
Dependencies
- Vault
- SQLibrary
- Essentials (if essentialsAfk is set to "true" in the config )
- RoyalCommands (if rcmdsAfk is set to "true" in the config)
Changelog
v1.4.1
- Update to CB 1.6.4-R0.1
- Added support for MySQL databases
- Added feature for converting old SQLite databases to MySQL
- Added feature which deletes players who haven't logged in for a configurable amount of time from the database
- Added command for adding playtime to a player
- Added command to delete a player from the database
- Minor fixes to some commands and methods
v1.3.7
- Update to CB 1.6.2-R0.1 Snapshot
- Minor fixes
v1.3.6
- Update to CB 1.5.2-R0.1
- Fixed bug with Privileges not promoting
- Updated ChatColor parsing and lang.yml
v1.3.5
- Support for colors in lang.yml
v1.3.4
- Commands are now case insensitive for players' names
- Changed command /tranker left to /tranker left <player> [world]
- Added a few fields in lang.yml
- Fixed up onDisable() disabling all tasks by other plugins (thanks gmcferrin)
- Minor fix-ups and tests
v1.3
- Added per world promotions
- Added option to choose how often the plugin checks for promotions
- Added perworld.yml for setting up world specific promotions
- Minor fixes and code clean-up
- Changed debugInfo to debugMode in config.yml
- Added defaultGroup in config.yml
- Made config.yml easier to read and added extra comments to help server admins
v1.2
- Added RoyalCommands AFK Integration
- Added lang.yml for message configuration
v1.1
- Added Essentials AFK Integration
- Added command /tranker left
- Added debugInfo configuration option
- Changed how time required for rankup is set in the config file
- Some minor fixes for some commands
v1.0
- Initial Release
Other Stuff
My Plugins
- Reaction Rewards - Periodic reaction tests/trivia questions with rewards in items or money. Check it out :D
Can we please get an ETA on when this is exactly gonna be updated to 1.6.2? The playtime tracker is broken. It will nolonger keep track of the playtime of players.
Edit: Actually it still works, but can you update it to 1.6.2 anyways and make it so it won't break on future updates? Just like how Vault / Votifier never breaks?
Thanks!!!
@sejemus
I'll try to make a virtual machine with Linux and test it there but I don't promise anything.
@MGbeenieboy
I'm sorry I was very busy with the end of college. I'll release an update some time this week for 1.6
You are the only reason, why my server is still in 1.5.2 :D
Can you make this compatible with linux? It's working fine on windows, but when I move it to my linux server, it wont load.
Thanks in advice.
The plugin is just not working, not ranking anyone up. Config:
Integrate Essentials AFK (default: false) essentialsAfk: true
Is there a chance of other database types being added in the future? Flatfile/YML/MySQL/ect. It would also be great if there was a option to execute a command on rank up... Great plugin, I hope you continue to develop it! :D
@turtledude01
bperms has issues. Try Privileges.
im having some issues when using bpermissions, I cant use the global promotions for it, I am forced to do per world. using that is fine, but players cant see their time left using /tranker left . they cant see it even if they specify world and user. maby either commands that are triggered on the time they get the time required? or maby fix the bpermissions issue, It doesn't promote the m when uding global and doesn't allow them to see the time left. Thanks (sorry for misspelling, broke my wrist a few days ago, only have my left hand type with)
@raizenpk
Does not work still, what could be the problem? I get to the second rank and when I am suppose to get promoted to the third it says "You were moved to Newbie" then it says "You were promoted to Esquire" The same problem still occurs. Any more ideas? :/ I have no idea what is causing the problem.
@raizenpk
Alright, I am going to go try it now.
@poobis
You need to set defaultGroup to Newbie. I don't see what else is wrong, I tested EssentialsGM and it works for me..
@raizenpk
Okay, here is the GroupManager config: All of the groups currently work and have been put into Timed Ranker: http://pastebin.com/raw.php?i=ZfnymVwP Also, I just thought of something, all of the groups in TR currently have the same permissions, I just did the basic perms before I was going to start adding to them for higher ranked groups. Do you think that groups having the exact same permission nodes would effect the rank-up? By the way, what it actually says in the game is: "You have been moved to the group Newbie". Then on the second line: "[TimedRanker] Congratulations ! You have been promoted to Esquire !" But it actually puts you back to Newbie.
@poobis
I need to see your permissions config files for groups and users as well.
Okay, I'm back again. Another problem has emerged. After I get to either the second or third group it brings me back to the first group. Here is my current config: http://pastebin.com/raw.php?i=L4deSX40 I removed the ignored lines that talked about how to set the time, etc. and it seems to have had no effect, this problem emerged BEFORE I did that. The promotions work until I get to the third rank. Any idea what could be causing this?
@raizenpk
It works, I got it all done properly. Thanks for your help.
@raizenpk
I use Essentials Group Manager, I noticed that some people also had "subgroups" Like someone on my server was in the group Newbie, but in the subgroup Esquire, I thought that this may be causing a problem so I removed the subgroup. Do you know anything about this?
@poobis
Still not properly indented. After the second promotion, all of them are one space to the left.
Also, what permission plugin are you using ?
@raizenpk
Okay, so again it is saying that no promotions are pending. Here is my current entire config, and I believe I have done it right. I did not mess with anything, other than I added some ranks after the second example rank. http://pastebin.com/raw.php?i=RT0ZWbku
@raizenpk
Okay, thank you. I didn't know whether to line up the decimals or the end of the ranks, I tend to overthink things. Thank you, this solves my issue.