OnTime
Now every MineCraft server can track the playing time (current login, daily, weekly, monthly, and all time) for all players with this powerful, full function plugin. With OnTime a “top 10” list can be generated in game, current and total playing statistics can be displayed (also in game), and daily/weekly/monthly reports of all players can be generated and viewed (off line). Administrators can define OnTime Rewards which will result in econ amounts, items (including enchanted items and potions), item kits, group add/delete, group promotion/demotion, permission grant/denial, command executions, personalized messages, and XP to be automatically issued to a player when they have achieved a specified amount of daily, weekly, monthly, or total playtime on the server. Rewards can also be issued when players refer other players to the server, voted for the server, played for a specified number of different days, or they achieve status as a top player. A built in Votifier Listener makes issuing of rewards for web-site voting a snap. Vault is used so OnTime Rewards and permissions are supported by multiple economy and permission plugins.
Plugin Notes
NTR
Online Support
If I am online you may find me here for IRC
bpermissions plugin compatibility
Please make sure you are using a version of Vault (v1.2.24) or later in order to maximize the compatibility between OnTime and bpermissions.
Integration with AFK Terminator
I have created a new, independent plugin "AFKTerminator" that will detect and potentially eliminate AFK Machines. An "AFK Machine" allows a player to avoid "AFK" detection through continual movement. See the [|Other Function] page for more details.
Integration with OnSign
There is a second companion plugin for OnTime, which I have named OnSign. OnSign allows players to create MC signs that will show a player's current online/offline status, time of last login/logout, and various OnTime play time statistics.
OnSign and OnTime version compatibility
- OnTime v3.8.1 or earlier will work with OnSign v1.0.0
- OnTime v3.8.2 or later will only work with OnSign v1.1.0 or later
DAT File Support
SUPPORT OF "*.DAT" FILES FOR PLAYER DATA WAS DISCONTINUED WITH V3.5.0. IF YOU ARE PLANNING TO UPGRADE FROM ANY VERSION EARLIER THAN V3.5.0, AND YOU ARE STILL USING .DAT FILES FOR STORAGE, YOU MUST DO A DATA CONVERSION IN ORDER TO RETAIN COLLECTED PLAYER DATA BEFORE YOU UPGRADE TO VERSION 3.8.x.
- PLEASE FOLLOW THIS LINK FOR INSTRUCTIONS ON HOW TO CONVERT YOUR DATA TO YML OR MYSQL. http://dev.bukkit.org/server-mods/ontime/pages/other-functions/#w-data-export
IMPORTANT NOTES on V3.8.1 & V3.8.2
The recommended setting in the rewards.yml file for the "worlds:" keyword has changed/been expanded. Set this list as follows:
- " - global" - If your permissions plugin supports a "global" group/player configuration files.
- " - all" - If your permissions plugin supports multiple group/player configuration files (e.g. one per wrold)
- To a list of specific worlds if your permission plugin supports multiple group/configuration files (one per world), but you want rewards to only be active in certain worlds.
- Click here for more information
NOTE: In V3.8.0 I had introduced the use of the word 'default' for the "worlds" setting. I've decided that was confusing, when I really meant 'global'. OnTime will still handle 'default' and will update your rewards.yml file automatically to 'global'
IMPORTANT NOTES on V3.8.0
- If you are upgrading from V3.6.1, I have reverted back to an internal version of the SQLibrary, so if you added SQLibrary.jar when you upgraded to OnTime v3.6.1, you can now delete that jar from your plugin directory.
- This release supports CraftBukkit versions 1.5.2, 1.5.1, 1.4.7, 1,4.6, 1.4.5, 1.4.4, and 1.42 !
- When upgrading from v3.7.2 or earlier, this version will perform auto updates to the ontime/config.yml ontime/rewards.yml and ontime/output.yml files. It is recommended that you make backups of your current copies of these files before installing and running this version for the first time.
- For a detailed list of changes see here.
Features:
(Items in BOLD are new in the latest 3.8.x release of OnTime)
Player Statistics
- Display your own OnTime data: (configurable) plugin default: current login, daily, weekly, monthly, and total time on the server
- Display anther player's OnTime data: (configurable) plugin default: days since first login, different days on server, current login time, AFK status, AFK time for login, today, week and month; current day, week, and month play time, total OnTime, next OnTime reward(s), and voting and referral statistics.
- Display all online players’ current session and total time
- Display ‘top #’ players, ranked by play time
- Display ‘top #’ players, ranked by total time for the day, week, and month
- Display 'top #' players who have voted for your server for today, week, month or total
- Display the 'top # sites' to see where the votes are originating
- Display the 'top #' players who have referred other players for today, week, month or total
- Display list of players referred by a specified player.
Rewards
- Define rewards issued to players for their time played on the server:
- Cash! (Economy)
- MineCraft Items
- Enchanted Items
- Potions
- Item sub-types (e.g. Chiseled Stone)
- MineCraft Item Kits
- Permission Group Add/Remove
- Permission Group Promotion/Demotion
- Give Permissions
- Take Away Permissions
- Execute (almost) any command
- XP (experience points)
- Send a message
- Issue Rewards based on daily, weekly, monthly, or total playtime
- Define Econ, Item, Command, and XP rewards as recurring or perpetual
- Define rewards for referring new players to the server
- Define reward to be issued when a player identifies who referred them.
- Define rewards to be issued when players vote online for your server (via Votifier)
- Definition of Individual (or indi) Rewards, which can be issued to a specific player at a specified future time.
- Issue some rewards to only members of certain permission groups. e.g. donors
- Issue rewards to the 'top' playtime, voting, or referring players daily, weekly, and/or monthly
- Give ‘temporary’ rewards such as rank/group memberships or permissions
- Enable/disable display of 'reward issued' messages to all players
- Enable/disable display of ‘reward issued’ messages on a per-reward basis
- Customize displayed ‘reward issued’ message on a per-reward basis
- Broadcast a message to all Online players when someone else receives a reward. (Good way to advertise rewards issued for voting and referring players.)
- Display of the next rewards to be issued to all online players
- Ability to suspend issue of rewards while a player is AFK.
Messages
- Pre-define messages that can be issued to players at login, or based on time
- Define messages adhoc (on the fly) that can be issued to players at login, or based on time
- Assign customized messages to be displayed when rewards are issued
- Send a message to a player based on play time (daily, weekly, monthly, or total play time)
- Define 'welcome' messages to the player, and server announcements on player's login showing OnTime data
- Enable/Disable server broadcast announcements per player via permissions node
- Manage messages set via edit of .yml file or in-game/console add/remove/list commands.
Manipulate a Player's Data
- Set a player's total OnTime
- Set a player's number of different days on server
- Set a player's first login to the server date
- Add time to a player's total OnTime
- Remove a player from the OnTime data files
- Configure plugin to exclude players time 'AFK' from total and daily/weekly/monthly calculations
- Import player names and their total OnTime (play time) data from YML files, OnTime Reports, or LogBlock plugin.
Generate Reports
- HTML and TXT Report format options
- Generate a report file of all players total time and time stamp of last login event
- Generate a report file of all players time on your server today, for the week, or for the month
- Generate a report of player's AFK time daily, weekly, and monthly
- Configure the 'first day of the week' for weekly reports
- Configure the 'first day of the month' for monthly reports.
- Auto generation of total, daily, weekly, and monthly reports
Manage The OnTime Plugin
- Automated detection of the availability of a new version of OnTime
- Select method for storing the OnTime player data: .yml files (default), or MySQL database
- Auto-purge inactive or players with low total OnTime from the data files
- Scheduled saves of OnTime data to disk
- Auto update of all online players data, file save, and data purge on server shutdown/reset
- 'test’ commands to simulate login/logout events; creating fake OnTime records; test daily reports; test votifier rewards
- Logging of OnTime auto purge activity, player login and quit events, and reward system events
- Manual and Automated Generation of Backup versions of OnTime '.dat' files.
- Import playername and total OnTime data from a .yml file.
- Importplayername, total OnTime and last login data from the 'logblock plugin' MySQL database.
- Configure OnTime Report file names and location
- Administrator defined "help" information that players can easily access.
- Suspend/Resume all OnTime activity while administering rewards or other OnTime data manipulation
- Enable/Disable/Configure OnTime LogFile and Console data in game or from the console
Other Plugin Integration
- Use of Vault for support of multiple economy and permission plugins [REQUIRED]
- Integration with Vault Permissions for group changes and permissions add
- Import playername, total OnTime and last login data from the 'logblock plugin' MySQL database.
- Issue rewards when players vote for you server on website which also support Votifier.
- Integration with "AfkTerminator" for discounting time spent AFK while using an AFK Machine
- Integration with OnSign, to display and auto-update player information on user defined signs.
- API: OnTime offers an APIto allow other plugin integration with access to OnTime's collected data for player's time on the server.
- Collection of OnTime plugin usage data via MCStats
Please see the pages for permissions, configuration, commands, etc.
Installation
- Place ontime.jar in your plugin folder
- Download vault.jar and place that also in your plugin folder
- (Option) Download a Vault supported permissions plugin and place that in your plugin folder
- (Option) Download and install the AFKTerminator plugin
- (Option) Download and install the [http://dev.bukkit.org/server-mods/votifier/files/9-votifier-1-9/|Votifier] plugin
- Modify permissions groups to enable OnTime functions. (click here for permission nodes)
- Reset your server
If the optional Permissions plugin is installed: - Edit /plugin/ontime/rewards.yml, listing the permissions groups from lowest to highest under the 'groups:' keyword
If the optional commands rewards are to be used: - Edit /plugin/ontime/rewards.yml, defining the commands that can be 'rewarded' under the 'commands:' keyword
If the optional 'kit' rewards are to be used: - Edit /plugin/ontime/rewards.yml, defining the kits that can be 'rewarded' under the 'kits:' keyword
If the optional MySQL database is to be used to maintain the player data: - Edit the /plugin/ontime/config.yml, enabling the use of mysql and setting up the definition of the MySQL database.
If the you want to change the output the plugin sends a player: - Edit /plugin/ontime/output.yml, following the instructions found in that file.
If the optional OnTime Messages is to be used to displayed timed messages to players: - Edit the /plugin/ontime/messages.yml, to add any pre-defined messages you need. (editing this file is not required to use this feature.)
- If the config.yml, output.yml and/or rewards.yml have been modified, then you must reload this data with the command "/ontime reload all"
Future Enhancements Under Consideration
- See BukkitDev Tickets tab for OnTime
Feature Requests:
If you want to request a feature to be added to this plugin, or you think any of the above should be given a higher priority, please submit a ticket or vote for existing ones.
Please Leave Comments
I'd love to hear what you think (good and bad) about this plugin. It will help me know if it's worth keeping up on the maintenance. Thanks. Edge
Change Log
For a more detailed change log, see here.
V3.8.2
Compiled with Bukkit 1.4.7-R1.0; Java7; Vault 1.2.25
Fixes
- No longer including patpeter sqlibrary. Replaced with a lighter set of sql functions
V3.8.1
Compiled with Bukkit 1.4.7-R1.0; Java7; Vault 1.2.25
Fixes
- Fixed error where OnTime reports would fail for servers with >9999 player entries (Ticket#269)
- Fixed Issue with promotion rewards happening inconsistently (Ticket #267, #264)
- Fixed issue with ontime.top.exclude not working due to plugin timing error (Ticket #260)
V3.8.0
Compiled with Bukkit 1.4.7-R1.0; Java7; Vault 1.2.25
Functional Enhancements
- Added "top ten" lists for votes and referrals on a daily, weekly, monthly, and total basis (Tickets #231, #160)
- Added function to display the names of all players referred by a specified player (Requires MYSQL) (Ticket #150)
- Added function to suggest possible player names, when name used in the "referred by" command is not in the OnTime database (Requires MYSQL) (Ticket #232)
- Added function to find players in database 'like' a name, when the exact name is not found. When there are multiple possible matches, they will be displayed to the user of the 'ontime <playerName>' command. (Requires MYSQL)
- Global (multi & mirrored) world support of permission and group rewards. (Group changes/promotion/demotion and permission add/remove applied equally to all worlds where rewards are enabled.) (Ticket #215)
- Admin configurable output for "referred by" commands
- Admin configurable output for when no OnTime record is found for a player specified in a command
- Added basic API to allow other plugins to access some OnTime data
- Added Automated backup of output.yml, rewards.yml, and config.yml when OnTime does auto updates to these files.
New Commands
- ontime top <#> vote [total/today/week/month]
- ontime top <#> refer [total/today/week/month]
- referred list <playerName>
New Permission
- ontime.referredby.list
When true a player is able to execute the "referred list <playerName>" command.
Fixes
- Fixed issue where long player names (>14 chars) were losing their first character when added to OnTime reports. (Ticket #209)
Facts
- Date created
- Feb 25, 2012
- Categories
- Last update
- May 13, 2013
- Development stage
- Release
- Language
- enUS
- License
- All Rights Reserved
- Curse link
- OnTime
- Downloads
- 33,145
- Recent files
- R: OnTime v3.8.2 for CB 1.5.2-R0.1 May 13, 2013
- R: OnTime v3.8.0 for CB 1.5.1-R0.2 Apr 29, 2013
- R: OnTime v3.7.2 for 1.5.1 Apr 14, 2013
- R: OnTime v3.7.1 for 1.5.1 Mar 24, 2013
- R: OnTime v3.6.5 for CB 1.4.7-R1.0 Feb 24, 2013
- Reply
- #1460
Edge209 Jun 19, 2013 at 11:56 UTC - 0 likes@Macro201115: Go
I'll need more info to help figure out what is wrong. Please open a fault ticket and provide all of the requested info.
Thanks.
My plugins:
OnTime - Playing time tracking, auto-reward system
OnSign - Displays player online and playtime status on signs
afkTermnator - Find/ punish players using machines to avoid AFK detection
BFAK:90639269,cc8ede1c827ab863e33f253fde1eb070fa3a817f9e515f4fd7d7ba357cfc88da
- Reply
- #1459
Macro201115 Jun 19, 2013 at 09:33 UTC - 0 likesI am unable to get exclusive to work, I have many many perm groups only 2 of which will get these rewards. they are teams and each have a votifier reward where they get the command points but ive tried every combination of permissions and groups config however everyone with the ontime.rewards.recieve get the rewards.
- Reply
- #1458
Edge209 Jun 19, 2013 at 04:48 UTC - 0 likes@BlueFusion95: Go
Hi, if you enable OnTime logfile and console logging, you will see messages from the import function that may offer some clues as to why some players are not imported:
/ontime logfile enable 1
/ontime console enable 1
The logfile will be plugins/OnTime/OnTimeLog.txt
Please provide the entire output from the NPE, and that may help me figure out what is going on.
I cant explain the large number of days, unless you can perhaps share some of your "lb-players" data for the players that get this large number.
- Reply
- #1457
Edge209 Jun 19, 2013 at 04:25 UTC - 0 likes@donkeyman90: Go
You will find the answer here:
http://dev.bukkit.org/bukkit-plugins/ontime/pages/faq/#w-q1-how-do-i-read-convert-the-data-found-in-the-playerdata
- Reply
- #1456
Edge209 Jun 18, 2013 at 13:22 UTC - 0 likes@jorisk322: Go
It is possible , but you would need to do some editing of the yml file to get it into the format recognized by OnTime. You will find that here:
http://dev.bukkit.org/bukkit-plugins/ontime/pages/import-yml/
You would need the "minutes" set to true, and get all of the player names under the "players" keyword and do some global replacement to add " - " in front of each line, and change the ":" to ",".
I see there are flaws in my design here to handle cases like this, but I can't get around to fixing it any time soon.
If you are struggling, you can send me an IM with a link to you player YML data file, and I can try to get it into the right format. But please give it a shot first.
- Reply
- #1455
jorisk322 Jun 18, 2013 at 07:35 UTC - 0 likesJust to make sure: Would this be able to import my data from the legacy plugin (http://dev.bukkit.org/bukkit-plugins/legacy/)? It stores it's data in a yml file in this format:
username:playtime
I think it stores seconds played. If it's possible to import the data I'm going to be using this plugin for sure, because it has some awesome features.
Fly - A simple flight plugin with permissions and adjustable flight speed
BacktoSpawn - Teleport players to spawn on join
Enhanced Max Players - Create reserved slots for special people
BuyRandom - Give players a random reward for their donation
- Reply
- #1454
Macro201115 Jun 17, 2013 at 10:27 UTC - 0 likesHey fantastic plugin! just a few points that could help you. Basically everything that is hyperlinked on this main page can you add to your dev.bukkit side bar ie links to commands and permissions. Also from a developers side point adding pvp rewards would be great and if the config files could have all parameters editable from config the autogenerated formats are hard to interpret. however this is a must have i would say for any competitive server
- Reply
- #1453
BlueFusion95 Jun 16, 2013 at 19:37 UTC - 0 likesFor some reason, the LogBlock import is still not working correctly. For some reason, not every player is imported, even if none of their data is null. Furthermore, when trying to use /ontime top after a import it gives me an NPE.
These are the commands I am using: /ontime import logblock (replace) < Tried both using and not using replace /ontime export mysql /ontime save
I have tried so many different things, none of them working. I really want to move over to this plugin, but I have almost 8 months of playtime logged in logblock.
Any help would be appreciated!
- BlueFusion12
EDIT: Furthermore, it seems to be randomly setting people's playtime to 15872 days, which is completely insane and was not previously in the logblock database.
- Reply
- #1452
Edge209 Jun 16, 2013 at 19:19 UTC - 0 likes@Slind14: Go
global = if your permissions plugin supports only one set of groups/permissions for all worlds, then use this setting
all = if your permissions plugin supports different groups/permissions for different worlds, then use this setting.
In both cases each promotion, group added or removed, each permission added/removed by OnTime will be applied the same across all worlds.
If you list out your worlds instead of using "all", any world not included in the list will have no reward capability.
OnTime does not support different rewards for different worlds. Its all or nothing and all worlds with rewards enabled (in that list) are treated the same.
- Reply
- #1451
Slind14 Jun 16, 2013 at 14:29 UTC - 0 likesI dont realy understand what u mean with this. Could u explain this more detailed?
Im using PEX, and every player is in 3 groups. The groups are the same for every world. But i have different permissions for each world (same group).
FTB Ultimate Server - Mine Your Mind