Timed Ranker


TimedRanker is a simple Bukkit plugin that allows your server to automatically promote/rank-up players based on their total online time.


  • 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


  • 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


  • 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


#true for MySQL and false for SQLite
useMySQL: false

#MySql databse information, if useMySQL is set to true
  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

   #Group to be promoted from
       #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

       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


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.




  • 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


  • Update to CB 1.6.2-R0.1 Snapshot
  • Minor fixes


  • Update to CB 1.5.2-R0.1
  • Fixed bug with Privileges not promoting
  • Updated ChatColor parsing and lang.yml


  • Support for colors in lang.yml


  • 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


  • 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


  • Added RoyalCommands AFK Integration
  • Added lang.yml for message configuration


  • 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


  • Initial Release

Other Stuff

My Plugins

  • Reaction Rewards - Periodic reaction tests/trivia questions with rewards in items or money. Check it out :D

Source Code


Posts Quoted:
Clear All Quotes

About This Project



Recent Files