Repository navigation
Commands
List of available commands:
- /playtime
- /playtime <playername>
- /playtimestats
- /playtimegoal
- /playtimeaverage
- /playtimepercentage
- /playtimetop
- /playtimejoinstreak
- /claimrewards
- /playtimereload
- /playtimeattribute
- /playtimebackup
- /playtimemigration
Shows your own playtime statistics.
Permission: playtime
Default Access: Enabled for all players
Shows another player's playtime.
Permission: playtime.others
Default Access: Disabled
Adds playtime to a specified player.
⚠️ ️️ This will modify the artificial playtime record. It will not affect the server'splay_one_minutestatistic or the actual playtime stored by the plugin. Instead, it will only update an additional record that is combined with the actual playtime.
Permission: playtime.others.modify
Default Access: Disabled
Time Format:
- Multiple time units can be specified, separated by commas
- Player's total playtime cannot exceed
Long.MAX_VALUE(approximately 14.6 million years)
Examples:
/playtime TheGabro add 1d,4h,3m
/playtime Steve add 20s,1y,3d Removes playtime from a specified player.
⚠️ ️️ This will modify the artificial playtime record. It will not affect the server'splay_one_minutestatistic or the actual playtime stored by the plugin. Instead, it will only update an additional record that is combined with the actual playtime.
Permission: playtime.others.modify
Default Access: Disabled
Time Format:
- Multiple time units can be specified, separated by commas
- Player's total playtime cannot go below
0
Examples:
/playtime TheGabro remove 1d,4h,3m
/playtime Steve remove 20s,1y,3d Resets playtime data of players.
Permission: playtime.others.modify
Default Access: Disabled
Usage:
- Use
*instead of<playername>to apply the reset action to all users. This requires the permissionplaytime.others.modify.all - If no parameter is specified, it defaults to
everything.
Reset Types:
-
server_playtime: Resets only the server'sPLAY_ONE_MINUTEstatistic (stored in world stats folder) -
playtime: Resets database playtime records only (both artificial and actual playtime) -
last_seen: Resets the last seen timestamp data -
first_join: Resets the first join timestamp data -
joinstreak: Resets both absolute and relative join streak records to 0- Learn about different types of join streaks here
-
joinstreak_rewards: Resets join streak reward progress and restarts reward tracking -
goals: Resets all completed goals data -
everything: Resets all player data (equivalent to the oldallparameter)- Includes: playtime, goals, first join, last seen, and join streak data
- Does NOT reset server statistics - use
server_playtimeseparately if needed
Important: This action cannot be undone.
The GUI used by this command can be completely customized and may require the understanding of views. Learn more here.
Shows registered stats of the sender in a customizable GUI.
Permission: playtime.stats
Default Access: Enabled
Alias: /ptstats
Displays the player's own statistics through a customizable GUI interface with organized stat categories. This command uses the owner view configuration, providing full access to all personal statistics.
Shows registered stats of the specified player in a customizable GUI.
Permission: playtime.others.stats
Default Access: Disabled
Displays statistics for another player using the player view configuration, which shows publicly available statistics. If the executor has the playtime.others.stats.staff permission, a special staff view is displayed instead, providing enhanced statistical information and administrative details.
Display Format:
- Player: Customizable GUI interface with organized stat categories
- Console: Text-based statistics output with detailed formatting
For a tutorial on goals you can take a look here.
Opens the goal management interface.
Permission: playtime.goal
Default Access: Disabled
Alias: /ptgoal
Permission: playtime.goal
Default Access: Disabled
Triggers a completion check of the target goal. This will also re-schedule the next check if it is a seconds based one.
Example:
/playtimegoal goal1 checknowCreates a new goal and sets it to inactive by default.
Example:
/playtimegoal create goal1Deletes an existing goal.
Example:
/playtimegoal remove goal1Renames an existing goal
Example:
/playtimegoal rename goal2 goal1Displays average playtime across all stored players.
Permission: playtime.average
Default Access: Disabled
Alias: /ptavg
Shows statistics for players meeting or exceeding specified playtime.
Permission: playtime.percentage
Default Access: Disabled
Alias: /ptpercent
Time Format:
- Multiple time units can be specified, separated by commas
Example:
/playtimepercentage 30d
#Shows the percentage and number of players who have played for 30 days or moreDisplays a leaderboard of the 100 players with highest playtime.
Permission: playtime.top
Default Access: Disabled
Alias: /pttop
✅ The chat output of this command can be completely customized in
Translation/Commands/commands-config.yml.
Usage:
- Maximum amount is 100 and can't currently be changed
- Pages are represented as p1, p2, p3... (up to p10). These are not mandatory and you can use the clickable arrows in chat to switch page.
- Each page displays 10 players maximum
- If page is not specified, defaults to first page (p1)
Example:
/playtimetop 30 p1
#Shows the first page of top 30 players sorted by playtime
/playtimetop 30 p2
#Shows the second page of top 30 players sorted by playtime🔎 For a tutorial on join streak based rewards you can take a look here.
Opens the join streak rewards management GUI
Permission: playtime.joinstreak
Default Access: Disabled
Alias: /ptjsk
Opens the same visual GUI as /claimrewards, but viewed from the perspective of the target player.
⚠️ Important: This GUI is read-only when viewing another player’s rewards. Admins cannot claim or modify rewards through this interface.
Permission: playtime.joinstreak.seeplayer
Default Access: Disabled
Sets the target player's relative join streak to the specified value.
Permission: playtime.others.modify
Default Access: Disabled
Usage:
- Use
*instead of<playername>to apply the set action to all users. This requires the permissionplaytime.others.modify.all
Opens the GUI to claim available rewards
Permission: playtime.joinstreak.claim
Default Access: Enabled
playtime.joinstreak.claim grants the permission to use /claimrewards. As explained here this allows players to manually claim their rewards based on their current join streak.
Alternatively, players with the playtime.joinstreak.claim.automatic permission will automatically receive their rewards without needing to use the command.
Refreshes system configuration and goals.
Effects:
- Reloads config.yaml
- Reloads goals
- Restarts goal completion check schedule
Permission: playtime.reload
Default Access: Disabled
Alias: /ptreload
Manages internal attributes of players in PlayTimeManager.
Permission: playtime.others.attributes
Default Access: Disabled
Alias: /ptattr
Available Attributes:
-
hidefromleaderboard: Controls whether the player appears on playtime leaderboards. This affectsplaceholders.playtime-leaderboard-blacklistconfig field.
Triggers a manual database backup.
Permission: playtime.backup
Default Access: Disabled
Alias: /ptbkp
Manages database migration operations.
⚠️ Console Only: This command can only be executed from the server console for security reasons.
Important Notes:
- Migration occurs on the next server reload/restart
- Make sure that target's data is correctly set in
config.ymlbefore restarting (e.g. username, password, etc...) - A backup is automatically created before migration starts
- Existing PlayTimeManager tables in the target database (if any) are dropped
Subcommands:
-
start <dbtype>- Schedules a database migration to the specified type (mysql, mariadb, postgresql, sqlite) -
cancel- Cancels a pending database migration -
status- Displays current database type and any pending migration status
Available Database Types:
mysqlmariadbpostgresqlsqlite
Using playtime.* grants access to all playtime commands.
Permission: playtime.*
Default Access: OP only
| Permission | Commands Granted |
|---|---|
playtime |
/playtime (view own playtime statistics) |
playtime.others |
/playtime <playername> (view other players' playtime) |
playtime.others.modify |
/playtime <playername> add <time> /playtime <playername> remove <time>`/playtime reset [all |
playtime.others.modify.all |
All /playtime.others.modify commands with * wildcard (apply to all users) |
playtime.others.attributes |
/playtimeattribute <player> <attribute> [true|false] (manage players internal attributes of PlayTimeManager) |
playtime.others.stats |
/playtimestats <playername> View another player's statistics (uses player view in GUI or formatted text output in console) |
playtime.others.stats.staff |
/playtimestats <playername> View another player's statistics with enhanced details (uses staff view in GUI or detailed formatted text output in console) |
playtime.stats |
/playtimestats View own statistics (uses owner view in GUI or formatted text output in console) |
playtime.goal |
/playtimegoal (open goal management interface)/playtimegoal create <goalname>/playtimegoal remove <goalname>/playtimegoal rename <goalname> <newgoalname>
|
playtime.average |
/playtimeaverage (view average playtime across all players) |
playtime.percentage |
/playtimepercentage <time> (view statistics for players meeting specified playtime) |
playtime.top |
/playtimetop [page] (view playtime leaderboard) |
playtime.joinstreak |
/playtimejoinstreak (open join streak rewards management GUI) |
playtime.joinstreak.seeplayer |
/playtimejoinstreak seeplayer <playername> (view another player's rewards GUI in read-only mode) |
playtime.joinstreak.claim |
/claimrewards (manually claim available rewards) |
playtime.joinstreak.claim.automatic |
Automatic reward claiming (no command needed - rewards are given automatically) |
playtime.reload |
/playtimereload (reload configuration and goals) |
playtime.backup |
/playtimebackup (trigger manual database backup) |
playtime.* |
All playtime commands (global permission for all functionalities) |