OnTime

OnTime Logo

OnTime

Now every MineCraft server can track the playtime (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, loyalty points, 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, been absent from the server for a specified number of days, shops with their accumulated points or wealth, upon player's death, 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.

SUBSCRIBE TO GET LATEST UPDATES

Don't forget to subscribe to OnTime to make sure you are automatically made aware of OnTime updates,which will give you the link to download the latest version even before it is approved by BukkitDev moderators!

Plugin Notes

IMPORTANT NOTES on V3.13.x

While Bukkit v1.7.9-R0.2 is listed as a compatible release with OnTime V3.13.4, this version still does not have full support for UUIDs. So while no issues or problems are expected, there may still be some compatibility issues with other plugins that do have full UUID support. OnTime V4.0.0 is still in the works and should be out before too long.

The "online tracking" function DOES NOT WORK properly in a multi-server configuration. If you are using a single OnTime MySQL database to store data from multiple servers, conflicts will arise between the servers, and errors and some server lag may result. Until I can get this corrected, please disable this function on all multi-server systems.

From OnTime/config.yml:

# Enable if Online player status should be tracked in MYSQL Table
onlineTrackingEnable: false

OnTime v3.13.x is compatible with Bukkit v1.2.5! So Tekkit Classic or other Bukkit v1.2.5 based servers can enjoy the FULL CAPABILITIES of the OnTime and its companion plugins!

OnTime will automatically modify the contents of your config.yml, playerData.yml, and output.yml when you upgrade from any release previous to v3.13.0. OnTime will put a copy of your current versions of these files into the plugins/OnTime/backup folder prior to this update, so you can revert back if you find the need to downgrade back to an earlier version of OnTime.

If you are using OnTime V3.9.0 or later with CraftBukkit 1.6.2-R1..0, the definition and use of enchanted items as rewards will not function correctly. There was a change in the CraftBukkit enchantment functions that make it incompatible with OnTime, and I have not had time yet to address this issue.

Please see the release notes page for additional information about changes that have occurred since your last upgrade.

"ontime.*" Permission Group

In v3.11.0 support for the "ontime.*" wildcard permission has been removed. This was causing problems based on how OnTime sometime uses negated permissions. This has been replaced with better defined 'recommended' wildcard permission sets for 'admin', 'moderator', and 'player' roles.

ontime.track Permission

In v3.10.0 a new permission string ("ontime.track") was added, which allows admins to enable/disable OnTime tracking of individual players. When this is set to "false" OnTime will not process players upon login, nor will it create OnTime records for new players. This permission is "true" by default, and most permission plugins will pick up this default setting, and server owners will see no change from previous versions of OnTime. But some permission plugins (e.g. bPermissions, others?) do not pick up the default and treat this as "false" for all players, which effectively disables the OnTime plugin. In this case of such permission plugins, the "ontime.track" should be added to the base set of permissions for all groups whose users are to be tracked by OnTime.

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.
  • If you are going to use OnTime rewards, make sure that the "groups:" keyword is set to "- all" instead of "- global" when using bPermissions.
  • Make sure to add the permission string "ontime.track" to your base group, or all groups for which you want tracking enabled.

Integration with AFK Terminator

I have an independent plugin "AFKTerminator" that detects and potentially eliminates 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 their daily/weekly/monthly and total scores for playtime, votes, and referrals. With OnSign you can also create signs showing the "top" players for playtime, votes, and referrals. With OnSign v1.3.0 or later OnSign supports signs that interact with the OnTime Shop rewards, allowing players to pick their own rewards by spending Points or 'coins'.

OnSign and OnTime version compatibility

  • OnTime v3.8.1 or earlier will work with OnSign v1.0.0
  • OnTime v3.8.2 - v3.9.0 will work with OnSign v1.1.0
  • OnTime v3.9.1 - v3.10.3 will work with OnSign v1.2.0
  • OnTime v3.11.0 or later will work with OnSign v1.3.0

Automated Update Check

OnTime performs an automated check to see if there is a new version of the plugin available for download. It will NOT download new versions, but simply notify the server administrator that one exists via console messages. By default, this function is enabled, but can be disabled by setting "updateCheckEnable" in the OnTime/config.yml to 'false'.

Features:

(Items in BOLD are new in the latest 3.13.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, points accumulated, econ balance, 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, ranked by total points
  • 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 the 'top #' players who are logging AFK time on your server for today, current week, and current month
  • 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)
  • 'Loyalty' 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)
  • Define rewards to be issued when a player has been absent from the server for a specified number of days
  • Define rewards to be issued when a player dies
  • Define rewards that players can purchase using Points or 'coins'
  • 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, points, voting, or referring players daily, weekly, monthly, and/or overall total
  • 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.
  • Define rewards that are only issued when player is in a specified world
  • Make purchase of a 'shop' reward for a specified player via admin command
  • Make a purchase of a 'shop' reward by a player for themselves

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

  • Manually add a player to the OnTime database
  • 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
  • Set a player's total points
  • Add or subtract time to/from a player's total OnTime
  • Add or subtract points to/from a player's total points
  • 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, TXT, and MYSQL 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
  • Auto purge/delete of old report files/tables you no longer want
  • Generation of an 'OnLine Report' which stores an admin defined set of data for all online players to a MYSQL table

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
  • Execute admin defined commands when players are purged from the OnTime 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 player information, top players, build Reward shop, all 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, votes, and referrals.
  • Execute other plugin console commands when players are auto-purged by OnTime


Please see the pages for permissions, configuration, commands, etc.


Installation

  1. Place ontime.jar in your plugin folder
  2. Download vault.jar and place that also in your plugin folder
  3. (Option) Download a Vault supported permissions plugin and place that in your plugin folder
  4. (Option) Download and install the AFKTerminator plugin
  5. (Option) Download and install the OnSign plugin
  6. (Option) Download and install the votifier plugin
  7. Modify permissions groups to enable OnTime functions. (click here for permission nodes)
  8. Reset your server

    If the optional Permissions plugin is installed:
  9. 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:
  10. 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:
  11. 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:
  12. 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:
  13. 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:
  14. Edit the /plugin/ontime/messages.yml, to add any pre-defined messages you need. (editing this file is not required to use this feature.)

  15. 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.13.4

Compiled/Tested with Bukkit 1.7.9-R0.2; Java7; Vault 1.4.1;Votifier 1.9
Fixes
  • Fixed 'array out of range' error when "/ontime rewards" is executed (TIcket #507)
  • Fixed MySQL error seen when sometimes trying to save the 'online-report' (TIcket #497)
  • Fixed issue where 'ontime-data' is created if it is found missing from MySQL database. (TIcket #492)
  • Fixed issue where players online at the time of a plugin reload are logged in twice when OnTime reloads. (TIcekt # 481)
  • Fixed multi-server (e.g. Bungee) support problem where player data was lost or recorded incorrectly when players were OnLine at midnight (No Ticket)
  • Fixed console errors seen sometimes with 'audit logout' function (Ticket #476 & #473)

V3.13.3

Compiled/Tested with Bukkit 1.7.2-R0.3; Java7; Vault 1.2.31;Votifier 1.9
Fixes
  • Fixed another NPE issue of 'null' UUIDs (Ticket #470)

V3.13.2

Compiled/Tested with Bukkit 1.7.2-R0.3; Java7; Vault 1.2.31;Votifier 1.9
Fixes
  • Fixed issue of rapid promotions for votifier-based rewards. (Ticket #458)
  • Fixed NPE issue of 'null' UUIDs (Ticket #465)
  • Fixed problem with 'days on' rewards not schdeduled properly (Ticket #437)

V3.13.1

Compiled/Tested with Bukkit 1.7.2-R0.3; Java7; Vault 1.2.31;Votifier 1.9
Fixes
  • Fixed MySQL 'Insert' error prevention storage of new player data. (Ticket #460)
  • Fixed NPE issue on player change world event while server is starting up (No Ticket)

V3.13.0

Compiled/Tested with Bukkit 1.7.2-R0.3; Java7; Vault 1.2.31;Votifier 1.9
Fixes
  • Fixed NPE error in "/ontime rewards recur" command when RewardTags are used. (Ticket #444)
  • Fixed array index error in AFK reporting (Ticket #451)
  • Fixed issue where referral source was not properly stored in the MySQL database. (Ticket #455)
  • Improved OnTime performance in many areas: (Ticket #445)
  • Auto save function
  • Votifier stats and reward processing
  • Player quit events
  • Report generation
Functional Enhancements
  • Added player executable command to purchase from reward shops (Ticket #420)
  • Added ability to disable votifier statistics collection, in support of multiple server environments (Ticket #446)
  • Added option where players will only be eligible for per-world rewards if they are on the world for a specific reward, at the time the reward is issued. Normally rewards are held until the player moves to the right world, but in this case the reward will be discarded if they are "off world". (No Ticket)
  • UUID Support (Phase I)
  • UUID information on players will now be collected and stored (both YML and MySQL methods). In this release the UUID information will NOT be used to verify a player's OnTime record, so if a player were to change their game ID, a new OnTime record will be created. (Ticket #442)
  • UUID can now be added to the output for the "/ontime <playerName>" command. (Ticket #442)
  • Improved handling of corruptions found in the "output.yml" file to help admins diagnose and fix YML syntax errors (Ticket #449)
  • Improved confirmation of reward edit when "/ontime rw refer" and "/ontime rw votifier" are used (No ticket)
New Permissions
  • ontime.rewards.purchase -

When 'true' players will be able purchase 'shop rewards' with the command "/ontime rewards purchase <rewardTag>". Default is 'true', (Ticket #420)

New Configuration Parameters
  • NONE
New Commands
  • ontime rewards purchase <RewardID/RewardTag>
New Output Variables
  • [uuid] - A player's Universal User ID
New Configurable Output
  • NONE

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Edge209 Edge209 Aug 28, 2014 at 04:20 UTC - 0 likes

    @ZachBail: Go

    I'm sure its not random, but it could seem that way. To help you I need to see more information. If you can provide a link to a copy of your rewards.yml, and if you turn on OnTime logging and capture a couple of instances where players get rewards that would be great.

    Turn on logging with:

    /ontime logfile enable 1

    Post a link to the resulting OnTimeLog.txt file.

    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

  • Avatar of ZachBail ZachBail Aug 27, 2014 at 18:10 UTC - 0 likes

    Thanks for the update Edge209.

    I have it set to where people are promoted as well as receive a few diamonds and some money at the same time. I noticed some warnings while I was setting this up and people seem to be getting the diamonds and money at a random time "after" they are promoted.

    Is this because you can't set promotions at the same time as giving people items? If so, can I just set them to go to the players a few seconds after to fix?

    Thanks again, ZachBail

  • Avatar of chris_61 chris_61 Aug 27, 2014 at 14:00 UTC - 0 likes

    @Edge209: Go

    I tried to do the URL trick but it just redirected me to the latest one :P.

    Thanks for your help, once the latest version is out ill give it a go and let you know how I get on. Thanks for the great support for this plugin over the years.

  • Avatar of Edge209 Edge209 Aug 27, 2014 at 13:18 UTC - 0 likes

    @chris_61: Go

    Yes, you need to mark one as 'primary' (true) and the rest are set as 'false'.

    The online tracking is only needed if you are looking to support a web page to show player's current status, etc. It has no other function in the plugin. This function is still not working correctly in multi-server environments so I recommend you leave that disabled.

    As soon as v3.13.4 is approved by bukkitdev moderators, it will be visible to you under the Files tab.

    (hint: if you look at the paths for the visible files, you should be able to figure out how to find the new version before it is approved, but I always recommend you wait until it is approved.)

  • Avatar of chris_61 chris_61 Aug 27, 2014 at 09:57 UTC - 0 likes

    @Edge209: Go

    Awesome, so to run this 3.13.4 on my bungee network I put ontime on all my servers, enable mysql, put one server as the primary and the rest as false? do i also enable onlineTrackingEnable on every server?

    How do we get our hands on 3.13.4, it's not showing under Files?

  • Avatar of Edge209 Edge209 Aug 27, 2014 at 01:53 UTC - 0 likes

    Hi OnTime Users.

    My apologies for such a long time without an update, but other things going on this summer have not left me with a lot of time for MineCraft. I have just posted OnTime v3.13.4. This version is NOT the big updated version that I am still working on. This version addresses a number of faults that have been reported since v3.13.3, including the issue with using OnTime in a multi-server environment such as Bungee.

    This version does not have any additional support for UUIDs than what was already in V3.13.3, but it should still work fine with bukkit v1.7.9-R0.2.

    OnTime V4.0.0 is still in the works, but will now soon be ready. This version adds in full support for UUIDs, will have full per-world tracking of player time, true per-world rewards, per-server tracking for multi-server environments, a cleaner configuration file, and new (and hopefully simpler) configuration for rewards.

    I hope you all are still enjoying the fruits of my labor, and please let me know any issues or problems you are having.

    BR, Edge

  • Avatar of Edge209 Edge209 Aug 27, 2014 at 00:14 UTC - 0 likes

    @chris_61: Go

    I will have a small update out in the next couple of days (maybe even tonight) which will address the basic issue with making OnTime work correctly across the multiple servers.

    Moving to AutoRank alone will not address the problem because the issue of the multiple servers is coordinating the saving of the time correctly across the servers, not the promotion/reward component.

    There is some multiserver support already available in the current version, but there is an issue where players that are online at midnight are losing credit for some of their time played if they are not on the server designated as the "primary" server. So if that does not concern you or you just want to test it out knowing to expect some strange playtimes recorded for players on at midnight, you can use the current version with Bungee servers.

    Last edited Aug 27, 2014 by Edge209
  • Avatar of chris_61 chris_61 Aug 26, 2014 at 14:43 UTC - 0 likes

    Also will I be able to use this in a multiserver environment if i use version OnTime V3.12.2 if the newer versions have problems. I will use AutoRank for the rank rewards and to hook into your plugin to get the player time. Will it track peoples time across all servers if i use MySQL?

    Last edited Aug 26, 2014 by chris_61
  • Avatar of chris_61 chris_61 Aug 26, 2014 at 13:46 UTC - 0 likes

    Hi, I have used this plugin on my server for over a year for tracking my players time and promoting them based on time played but I noticed above you said there is issues by using it on a multi server environment? I'm planning on switching over to Bungee and having separate servers for each game-mode and i would like the same ranks and time across all servers.

    Would having having AutoRank do the rank promotions and hooking into Ontime to get the play time required fix this issue? I would rather keep with the same plugin rather than having players loose all their stats and moving to a plugin that supports multi server etc.

    If the above doesn't work, do you have an ETA on when this issue will be fixed?

    Thanks, Chris.

    Last edited Aug 26, 2014 by chris_61
  • Avatar of galaxygamers galaxygamers Aug 21, 2014 at 15:44 UTC - 0 likes

    you must update 1.7.10 in my server this is problem

Facts

Date created
Feb 25, 2012
Categories
Last update
May 24, 2014
Development stage
Release
Language
  • enUS
License
All Rights Reserved
Curse link
OnTime
Downloads
62,582
Recent files

Authors