Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for TheGabro

A simple playtime plugin manager

Report PlayTimeManager?

alt text

Discord Wiki

Hello and welcome to PlayTimeManager! I initially created this plugin for the server on which I am currently a developer. We don't have thousands or hundreds of players, but we had to find a way to track players' playtime to promote one whenever it reaches a certain amount. I looked around on the web, but I couldn't find any plugin that was able to satisfy our issue: we needed a playtime plugin, somewhat efficient, that could automatically execute a specific task like promoting a player through Luckperms. Well, that's what this plugin is supposed to do!

I thought this could be useful to other server administrators as well, so I decided to share it on Spigot! If interest arises, I'll keep it updated happily :)

What's PlayTimeManager?

PlayTimeManager is a high-performance plugin that tracks and rewards player engagement through efficient playtime monitoring. It features a comprehensive goal system where you can:

  • Set custom playtime goals
  • Grant automatic permissions and group promotions (Thanks to a LuckPerms integration)
  • Execute custom commands upon goal completion
  • Play celebration sounds
  • Display custom messages

The plugin's efficiency comes from smart technical strategies:

  • Caching: Intelligent in-memory caching reduces database calls and computational load.
  • Database Optimization: Uses lightweight SQLite for fast, low-impact storage with high-concurrency reads.
  • Connection Management: HikariCP ensures quick, pre-established database connections with no delays. This ensures lightning-fast performance with negligible server resource consumption.

PlaceHoldersApi (PAPI) is supported, allowing you to create leaderboards or let players view their own playtime through the use of placeholders.

While the plugin primarily supports English, player-facing messages can be customized in the config.yml. It also includes an automatic configuration update system that utilizes a config-version field, ensuring your config.yml file stays up to date with the latest settings while preserving your customizations. Additionally, the plugin seamlessly manages database and file updates, with a backup automatically created before any updates to the database. This ensures that your data remains secure while benefiting from the latest features and improvements.

Both Paper and Spigot are supported.

Commands and permissions

For a complete list of commands, permissions, and placeholders, please visit the PlayTimeManager Wiki.

Examples of use

Commands

  • /playtime TheGabro add 1d -> This command will manually add 1 day of playtime to the specified player.
    If a player with playtime.others.modify permission tries to get the playtime of TheGabro (who has a manually modified playtime), he will also be shown the added/removed time in addition to the normal time.
    alt text
    Multiple time formats at a time are supported (e.g. 1d,4h,3m,4s)
  • /playtimepercentage 1d:
    alt text
    Multiple time formats at a time are supported (e.g. 1d,4h,3m,4s)
  • /playtimegoal set veteran time:40d:
    alt text
    If not specified, the goal will be set to inactive by default. This means that the plugin will not check for its completion until it is set to active through GUI, command, or by editing the veteran.yaml config.

Placeholders

alt text
alt text

To do

  • Anti-afk system?
  • Add possibility to give custom items upon goal completion

Information

CategoryAdmin Tools
Published onJuly 27, 2024
LicenseGPL
Downloads66
Stars2
Watchers1

Pinned Versions

Members