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

PlayTimeManager is a playtime tracker that monitors player activity with extensive customization and automated rewards.

Report PlayTimeManager?

alt text


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 :)

PlayTimeManager is optimized for Paper due to its superior performance, flexibility, and additional features not available on Spigot. These enhancements allow PlayTimeManager to run more efficiently and provide a better experience for both server administrators and players. As a result, Spigot is no longer supported.

alt text

PlayTimeManager is designed to work seamlessly with both offline and online servers, ensuring optimal compatibility for server administrators. Data integrity is a top priority, with robust techniques in place to safeguard player statistics and prevent data loss or alteration.

The plugin features an automatic update system that ensures database and configuration files transition smoothly across versions while preserving previous settings.

Additionally, player data is not strictly tied to the server’s statistics, providing flexibility for importing, exporting, and modifying records. When a player joins, PlayTimeManager initially retrieves their playtime from the server’s built-in statistics as a starting point. From there, the plugin tracks and stores all additional increments in its database, ensuring accurate and persistent records. This approach allows data to remain intact and transferable, even when upgrading your server’s jar file or making adjustments to player statistics.

alt text

Customization Preview

PlayTimeManager aims to provide a highly customizable experience, allowing you to tailor its features to match your server’s unique style. It supports hex colors alongside legacy formatting and styles, ensuring vibrant and personalized text displays.

Player-facing messages can be fully customized, with plans to expand customization options even further—your suggestions are always welcome! The plugin also includes specific placeholders for displaying formatted playtime, converting it into different time units, or simplifying it for easier readability.

Additionally, you can create a customizable playtime leaderboard, both in chat and through placeholders, with support for LuckPerms prefixes, making rankings even more dynamic and visually appealing.

Formatted Playtime Example Playtime Stats Example

alt text

PlayTimeManager is designed to run efficiently with minimal impact on server resources. It utilizes in-memory caching to reduce database queries and improve processing speed, with an automatic reset system to prevent memory leaks. The plugin also leverages lightweight SQLite for low-overhead storage, ensuring smooth performance even with multiple concurrent reads. To further optimize efficiency, HikariCP connection management keeps database connections readily available, reducing delays.

These optimizations help PlayTimeManager run smoothly and responsively while keeping resource usage low. alt text

Goals GUI Preview Join streaks rewards GUI Preview

PlayTimeManager offers two powerful and flexible systems for rewarding player activity: Goals and Join Streak Rewards.

  • Goals: Track total playtime and reward players as they reach customizable time milestones.

  • Join Streak Rewards: Motivate regular engagement by rewarding players for consecutive joins within a customizable time window. Thanks to the plugin’s high flexibility, streaks aren't limited to daily logins—they can be configured to any time interval that fits your server’s style. The longer the streak, the greater the recognition.

Both systems share the same versatile reward types:

  • Grant permissions
  • Assign ranks (LuckPerms support)
  • Run custom server commands
  • Send tailored achievement messages
  • Trigger celebratory sounds

All of this is easily managed through intuitive in-game GUIs, allowing administrators to build engaging progression systems without complex setup.

Commands and permissions

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

To do

  • Anti-afk system?
  • Add possibility to give custom items upon goal completion
  • Convert stats command into a customizable GUI
  • Add customizable requirements to goals
  • Add customizable format for playtime display

Information

CategoryAdmin Tools
Published onJuly 27, 2024
LicenseGPL
Downloads182
Stars3
Watchers2

Pinned Versions

Members