Sure, OnTime can tell you who has the most time played, who has made the most votes for the server, and who has referred the most friends; but who is really the Most Valuable Player (MVP)? With the addition of "Loyalty" Points to the OnTime system, server owners can now know the answer to this question. (Use of MYSQL as the dataStorage option is required in order to use the OnTime 'points' system.)
"Loyalty" Points, or simply 'Points', can be awarded to a player same as any of the other types of rewards supported by OnTime. By giving different amount of points for time played, votes cast, and players referred a single 'point score' can be measured to determine the value of any player. 'Bonus' points can be awarded to top players, voters, or referrals on a daily, weekly, or monthly basis too!
It is also possible to subtract points from a player's total due to consecutive days absent from the server.
In order to use the Points function, MYSQL is required for storage of the player's point data. Basic MYSQL configuration for OnTime is done via the config.yml and is something like this:
# Selection of Data Storage Method. Valid values= YML, MYSQL dataStorage: MYSQL # MySQL - This must be enabled and properly set up if MySQL is to be used for data storage and/or # data import is to be done from another plugin MySQL table. (currently support for LogBlock is provided) MySQL: enable: true host: localhost port: 3306 user: root password: <password> database: minecraft table: ontime-players
At the bottom of the config.yml the server administrator will find two items needed to enable and configure the basic 'points' system. The first simply states that 'points' will be used, and the second indicates if point totals that are less than zero (0) will be allowed.
# Enable if 'loyalty' Points are going to be used pointsEnable: true # If 'pointsEnable' above is true, Enable this if negative 'loyalty' Points totals should be possible negativePointsEnable: false
By default the "points" are called 'Loyalty' points (borrowed from a now defunct plugin called 'Loyalty Points'), but they can be known to players by any other name by editing the OnTime/output.yml in a couple of places.
If the server administrator wants to call them something other than then "Loyalty Points", they must simply search the output.yml file for occurrences of the string 'Loyalty Points', and edit accordingly.
There are several commands available for administrators for the purpose of manually modifying a player's point totals.
/ontime set points <playerName> <# points>
This command allows the administrator to set the player's point total to the value specified.
/ontime add points <playerName> <# points>
This command allows the administrator to add to the player's point total the amount specified.
/ontime sub points <playerName> <# points>
This command allows the administrator to subtract from the player's total the amount specified.
Time Based Rewards
To set a points reward that is issued every hour, the following commands are required:
/ontime rewards add point 10 1h
/ontime rewards perp 1 1h
The first command will start the reward on the first hour of 10 points. The second command will make the reward repeat every hour. The "1" in the second command is the RewardID assigned by the first command.
If the administrator does not want a player to be informed every time points are added to their total, the first command should be replaced with the following:
/ontime rewards add point 10 1h msg=off
For more examples and more sophisticated time-based rewards Click Here.
To issue points for voting for the server, two commands are required:
/ontime rewards add point 100
/ontime rewards votifier 1
The first command establishes a reward of 100 points. The second command identifies this as a 'votifier' reward. The "1" in the second command is the RewardID assigned by the first command, and may not be '1' in all cases.
For more information about voting rewards Click Here.
To issue points for referring other players to the server, two commands are again required:
/ontime rewards add point 50
/ontime rewards refer 1
The first command establishes a reward of 50 points. The second command identifies this as a 'referral' reward. The "1" in the second command is the RewardID assigned by the first command, and may not be '1' in all cases.
For more information about referral rewards Click Here.
Milestones and Top Player Bonus Rewards
Bonus points can given to players for logging in each day, achieving daily/weekly/monthly playtime milestones, or achieving 'top' status among all players for time played, votes cast, or referrals made per day, week, or month. These rewards are set up similar to other such rewards and information can be found if you Click Here
It is also possible to automatically take points away from a player.
A 'penalty reward' can be set up such that players that are absent from the server for a specified number of consecutive days, they will receive that reward each day until they again log in. For example if I want players that have not been on in the last 30 days to lose 100 points per day, I would use the following command:
/ ontime rewards add points -100 30d absence
Note that the number of points is negative (-100) in the command above.
I can also create a penalty that is issued each time a player dies on the server.
/ontime rewards add points -2 death
Note that the number of points is negative (-2) in the command above.
Viewing Point Totals
Individual Player's Points
Players can view their own point totals simply using the standard "/ontime" command, and can view other player's totals using "/ontime <playerName>".
NOTE: When upgrading to OnTime v3.10.0 (or later) from a version prior to v3.10.0, the '/ontime' and '/ontime <playerName>' output as specified in "output.yml" is NOT automatically updated to include the player's point totals. Please Click Here to see the standard default output.yml for an example where this information is included.
Top Player's Points
Players and administrators can see the player's with the highest point totals using the 'ontime top' command:
/ontime top 10 points