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
Does this plugin function with 1.7.9? MySQL seems to randomly disconnect and then I get an internal error has occurred when I try to check playtime. Is this the plugin or is it my MySQL? my MYSQL server seems to run mcMMO just fine.
can this be used along side the group manager from essentials and just use the groups from essentials and have it move players to the next group after a set amount of time using this plugin?
@MGbeenieboy
I have that same issue, but instead, I have players with just 4 days not showing up. EDIT: Just fixed it, sort of. The list removes the top player, so I just set a "fake" account (server) to a very high number (over 2 years) And the top player showed up again.
BUG: I've a player with > 30 days playtime and he's not in the toplist, another player with 28 days is number one instead.
Hey guys... I'm sorry but I can't get this to work... Like others have said, for some reason when someone gets to a new rank they don't change to what they're supposed to:
I did this and for some reason every 5 minutes (the check time) it will promote me through the ranks to what i should be at. Please?
hello,
sorry for my english. can you the plugin extended so that after some time a ranking is reset?
After 20 hrs. member, the player is rank VIP. After 10 hrs. is the player rank member.
@eo2day
Use MySQL
I have 4 servers currently running, I am so glad this plugin exists because I want people to be able to play on all servers with the same played time on the entire network.
I do however have one question, I have 1 user file that is the main user file of all servers. Basically what happens, all user files gets deleted on the 3 other servers and they get updated with the new users file from the main server. (when they pay for a donator rank they get it on all servers)
And here comes the question: when a certain user reaches the time he needs to rank up, will the plugin give them their rank automatically on all server or only on the server the player is on?
Thanks!
For some reason, every time the server restarts all of the time is reset on every player. How do I stop this from happening?
@raizenpk
Update plugin to 1.7.2 please?
@turtledude01
I will add it to my TO-DO list. However I'm having the end of the semester at university this month so it's unlikely that I'll update the plugin during this time.
I have an idea for you. Would it be possible to add commands so it can do commands when it ranks? This would probably eliminate all issues with permissions plugins unsupported, and add some fun possibilities for rewards maby? Thanks for the plugin
I can't seem to get the "Convert" command to run. When I try, there is no effect nor is there any error in the chat window or in the console. Everything else seems to work fine though.
Btw, thanks for the great plugin. :)
@exiHD2k
I'm glad you figured it out.
@raizenpk
Hi,
ok I have found the problem, I installed the wrong SQLibrary version ;)
Thx for your help
@levisn1
It only ranks up the MAIN group. AFAIK, most permission plugins have a main group and then several secondary groups for a certain user. This plugin only checks the main group and promotes that. It does not mess with secondary groups or what not.
What permissions plugin do you use ? Maybe it has a specific behavior i need to check.
@exiHD2k
The quotes are not necessary. Make sure the port and all the information is correct. What error message do you get ?
Hi, I could not connect to my MySQL Database. Are the ' ' necessary or not?
I run Bukkit 1.6.4 R02 with the newest Plugin. My MySQL Database work perfektly with other Plugins.
Thx for help
The plugin seems to stop to rank players if they are in two or more groups at the same time. It's a big problem for who have donators.
@raizenpk
people are sometimes getting demoted, using PEX
or really their times are rolling back is the problem
could you please look into this issue.