ActiveTime ⏳ The Simple Playtime Logger

Development has already commenced on a system to better track statistics for the player as well as Milestones, which I believe is what you’re looking for. After Pixelmon received the C&D, I’ve taken some time away from things to refocus my efforts in more places than just development. It’s something in the works, but for now the best I can say is Soon™.

Hiya all! Two months after the last release (kind of ironic for an activity plugin, right?) I present to you ActiveTime v1.2.0. This version makes some major changes to nearly every aspect of the plugin and adds a lot of new features, such as daily logs and Milestones. Additionally, the entire logging system has been redesigned so nearly all calculations are run async with the server, so that should help out with performance a ton! I’ve still got some other ideas in the works, but with the internal changes I felt it was best to give the new system a go before moving any further. Happy logging!


Update Info:

  • Added daily logging system
  • Added tracking for activetime and afktime (Nucleus required)
  • Added Milestone functionality
  • Nearly all calculations are now async (increased performance)
  • Temporarily removed ActiveTime Top

Issues should be reported with the version [1.2.0]

Note: This version ‘jumps’ over v1.1.0-v1.1.3 as they were privately tested versions. This is not a versioning error.


@Jinlin_Chen
It’s been a while, but if v1.0.4 didn’t suit your needs for a 1.11.2 build give this one a go!

@PokeNinjaEX
Take a look at the Milestone system, this should do everything you need!


Special thanks to @FoxFire and Levinsky (who isn’t on Sponge :cry:) for helping test the performance of the new system. Kudos!

1 Like

Does this plugin show the active time for months and weeks (how long they have been online in the past month/week) if not can you add that functionality

Not yet, but that’s precisely the reason why I rewrote the storage system to contain daily logs! I’ll be working on a system to do that as well as calculate a variety of other useful statistics shortly.

Awesome! I cant wait till you can get that added! How long do you think it would take?

Soon™

But in all seriousness, perhaps a week or so? I’m working on an advanced command and API system for CmdControl, so after I get that done I’ll likely shift back over to ActiveTime.

Awesome. Thanks a ton

:confetti_ball: Yay! New releases!

Hate to repost the same question, but how is it going with being able to check for ontime for a week/month. Our server is kinda needing it, so I am just double checking. :slight_smile:

Whoops! I’ve gotten a bit carried away with some of the other projects I’ve been working on and completely forgot about this! Are you able to create a GitHub issue for this, I tend to loose tracks of things otherwise xD

1 Like

Alrighty, let’s rock and roll!

A per requested, this version introduces /ActiveTime Report, a command that generates an activity report for a use based on the available log files. There’s still a lot more things I’d like to do with this system, but this will handle most use cases and give some real testing to the new system. Future statisticians; enjoy!

I’ve also added in a bit of new system to handle limiting the time a player can be on the server by using permission options. For those of you that have a use for it, information on how to set that up can be found here.

Back by popular demand, we also have the return of ye o’l /ActiveTime Top in the form of /ActiveTime Leaderboard - it does basically the same thing, but somehow better!

Changelog:

  • Added system to generate user activity reports
  • Added system to limit user playtime
  • Added commands Leaderboard and Report
  • Cleaned up outdated code
  • Improved message formatting
  • Change some code to async (yay performance!)

Issues should be reported with the version [1.2.1]


@Elrol_Arrowsend That should take care of what you need! If you have any other suggestions, feel free to let me know or (better yet) create a GitHub issue so I don’t forget again xD

1 Like

After scrambling around through a jungle of issues, I’m pleased to say that ActiveTime 1.2.4 is here and better than ever! This version fixes a lot of bugs and issues present since 1.2.1, so it is strongly recommended to update - plus, it’s like twice as cool!

If you are using Nucleus, please update to v1.1.3 (1.10.2 & 1.11.2) or v1.2.0-pr1.2 (1.12.1) as an error dealing with checking a player’s AFK status on login has been fixed.

Changelog:

  • Fixed reports being bugged (a lot) and cutting off dates
  • Reports now display a list of days, weeks, and months
  • Changed some formatting aspects for viewing pleasure
  • Converted command responses to PaginationLists
  • Fixed Report’s signature in the documentation

Issues should be reported with the version [1.2.4]


@yepidoodles This should address the armada of bugs you’ve found. Thanks for helping me test things out and make sure this release is perfect! :heart:

@anon34495435 Likewise, the issues you’ve been experiencing have been fixed (I swear!) for this version. Please update Nucleus to fix the NullPointerException issue.

@Elrol_Arrowsend With report working properly, you should be able to view a player’s activity for the current day, week (starting on the past Sunday), and month (the 1st). You can now also view a list of individual days, weeks, and months in the report, however you’ll have to be on the server as it uses Pagination.

3 Likes

Can we add rewards to playing a certain amount of time?

IE -playing for 1 hour gives 1k money
-playing for 10 hours can give a crate key
-playing for 20hours can do a broadcast

You can handle that cumulatively through the use of Milestones. This only applies to a player’s total activetime, not daily - I’ll be implementing that when I make the update to API 7.

So I am updating from 1.0.4 but when I do the plugin just creates a new directory and does not carry over the players play time. Is there a way to import data from the old format? I have tried to update from 1.0.4 => 1.2.0 too but no luck

There is not a way to import previous data. These versions were created months apart, and v1.2.0 implements a couple features that do not merge nicely with the logs from v1.0.4 (daily logs, tracking both activetime and afktime, milestones). For that reason, I opted against having a converter because the resulting data wouldn’t be accurate (and, admittedly, I may have been a bit lazy :disappointed_relieved:).

If it’s a necessity, PM me the old configuration file and I can convert it into the new format for you.

1 Like

At long last, API 7 has finally come to ActiveTime - rejoice!

In addition to API 7, this update also has some internal improvements and cleans up some messages, such as empty results in reports. For developers, I have also introduced a simple ActiveTimeAPI class with a variety of methods for getting activity information about a user.

Finally, I have reached the point where I no longer have any ideas or projects left for ActiveTime that I feel capable of implementing. I’m open to any ideas people have for new features and ways to improve ActiveTime, but beyond that releases will be primarily limited to bug fixes.


Changelog

  • Update to Sponge API 7
  • Added a developer API
  • Cleaned up activetime/afktime calculations
  • Reports no longer show empty days
  • Fixed various formatting/spelling issues

GitHub Release: ActiveTime v1.3.0


@anon34495435, @Krosta8, @amiroslo: Enjoy API 7 - it’s certainly been long enough!

@Eufranio: I took some steps to set up a basic API that documented and contains a majority of the actions you might need. If there’s something I’m missing, feel free to let me know ^^

2 Likes

Nice!
Thank you a lot!
With any problem, I will give you feedback immediately.

Good morning everyone! Today’s update comes with a variety of internal changes as well as some external improvements helping us move towards the next major release. One of these features is the daily report system which shows an activity log for the entire server - give that one a go! I’d also like to point out that while this build was designed for API 7, it should work fine on API 5 and 6 - if that’s not the case, please let me know and I’ll look into a fix.

The next version from here might end up being 2.0.0 - I have a couple things I’d like to do, but the largest of which is going to be moving log data into a database. I’d also like to keep track of when a player is active, afk, or simple offline rather than just an amount and provide some interpretations on this as well. A version that saves this data should be released by the end of the year, although it may be a bit longer before I have anything set up internally to process it - storing the data is pretty simple, but displaying it in a readable way is the tricky part.


Changelog:

  • Added a variety of utility methods to simplify code
  • Added daily reports of users activity
  • Made preparations for future major changes
  • Most command arguments now have default values
  • Reports now have an upper limit of 365
  • Fixed formatting of dates and some coloring issues (they absolutely refuse to stay inside the lines!)

GitHub Release: ActiveTime v1.3.1

1 Like

Not sure if directly updating from 1.0.4 to 1.3.1 had anything to do with this, or maybe the 1.3.x versions just don’t work on API 5/6?