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
@raizenpk
I Know ! But no difference :/ I think is in your code you have to add the UTF8 support
@PCM_Tazmaik
Edit lang.yml with notepad + + and select utf-8 for the encoding.
@raizenpk
Lovely update, will test it soon! :) +1
Maybe a support for UTF8 ? It's work but in game: http://puu.sh/4W5Bx/b666be99c9.png
Version 1.4.1 is awaiting approval. New features are in the changelog.
Enjoy !
@Taybosquee
I am currently updating the plugin for 1.6.4 and implementing the features that the users have requested. I have already added MySql as a database option, I will also make it possible to convert sqlite to mysql and viceversa and also add a few more comands which people wanted.
The new version will be out in a couple of days.
Amazing plugin. There are other rank plugins out there, sure, but I personally don't think any stand up to this. Confirming what AsianWiz said, it does in fact work with the latest 1.6.4 Bukkit builds. One thing I wanted to ask about is the deletion of specific player data. I've been using this for some time and have gone over the feature list but the closest thing I have found is dumping all player data with the purge command. Is there something I missed? If not, would you consider adding this at a future date? Thanks again for creating this. Having this plugin saves A LOT of admin time.
EDIT: Another extremely useful feature that just popped into me head is having some kind of configurable threshold for deleting the date of players who have not been on in x days.
@surechoice
Works for 1.6.4. I'm using it atm.
@surechoice
I will update it.
no, it doesn't work for 1.6.4. I gotta find a new plugin, this one seems inactive
nice plugin. very simple to use. Does it work for 1.6.4?
Could you add MySQL to this plugin? And if you do could you have a converter as well? The plugin works great, but if MySQL was an option it'd be 100 times better :D
http://pastebin.com/vM2AQ11K This configuration doesn't work (For me) After I get promoted to Citizen, I'm supposed to get promoted to Huntsman, but instead I get demoted back to Traveler..any idea on how I can fix that?
so i have essentials AFK set to true.
Does this means that when a player is AFK it does not count towards their ranking timer?
(yea i do use essentials afk)
Small idea/request that I would love if you implemented. /tranker addtime <player> <minutes>
This way you can configure votifier to take 30 minutes off their clock each vote for the server.
If you could add that simple command I would love you :D
@raizenpk
I see, plugin is also working great atm. No issues so far! I'll post here if i find any.
Btw, are you able to make this plugin not break on future updates? Just like how Votifier and Vault never does?
Thanks for updating!
@dotapurex1
That's what I updated it for, I just wrote 1.6.1 by mistake.
@raizenpk
Aren't you suppose to update it for 1.6.2? As thats the latest version for bukkit.
A new version for CB 1.6.2-R0.1 Snapshot is awaiting approval. Initial testing seems to render the plugin as working. If any bugs occur please post a ticket.
Also, if anyone has any suggestions or problems I would prefer them to be posted as tickets. It's much easier for me to track them.
I apologize for the long wait, college kept me very busy up until a few days ago. I plan on resuming my development work on this plugin and I also have an idea for a new one, so stay tuned. Thanks for your downloads and support.
Plugin is consistently breaking, when i do /tranker playtime [username] the time is always the same or if a new player joins, it dioesn't record their data