Skip to content

Dans-Plugins/Activity-Tracker

Repository files navigation

Activity Tracker

Simple CI Java Version License: GPL v3

Description

Activity Tracker is an open source Minecraft plugin that tracks the activity of players.

Features

  • Track player login sessions and play time
  • View leaderboards of most active players
  • Get detailed statistics for individual players
  • REST API - Expose activity data via HTTP endpoints for external dashboards and applications

For REST API documentation, see REST_API.md.

Performance & Testing

This plugin has been optimized for performance with comprehensive algorithm testing:

  • Algorithm Optimization: Top player algorithm improved from O(n²) to O(n log n) complexity
  • Performance Gain: Up to 100x improvement for large datasets (1000+ players)
  • Comprehensive Testing: 24 comprehensive unit test methods covering all scenarios
  • Automated Testing: Simple CI pipeline validates algorithm functionality and performance
  • Generic Architecture: Reusable TopRecordsAlgorithm with adapter pattern

Server Software

This plugin was developed using the Spigot API. Users may run into trouble using it with other available server softwares like Paper.

Installation

  1. You can download the plugin from this page.

  2. Once downloaded, place the jar in the plugins folder of your server files.

  3. Restart your server.

Usage

Support

You can find the support discord server here.

Experiencing a bug?

Please fill out a bug report here.

Roadmap

Contributing

Running Tests Locally

To test the algorithm optimization:

# Test algorithm compilation
javac src/main/java/dansplugins/activitytracker/algorithms/TopRecordsAlgorithm.java

# Run comprehensive tests (with JUnit setup)
mvn test -Dtest=TopRecordsAlgorithmTest

# Simple validation test
# The CI runs basic functionality and performance tests automatically

Development Requirements

  • Java 8 or higher

  • Maven 3.6+ (for full project build)

  • The TopRecordsAlgorithm can be tested independently without external dependencies

  • Notes for Developers (coming soon)

Authors and acknowledgement

Name Main Contributions
Daniel Stephenson Creator

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

You are free to use, modify, and distribute this software, provided that:

  • Source code is made available under the same license when distributed.
  • Changes are documented and attributed.
  • No additional restrictions are applied.

See the LICENSE file for the full text of the GPL-3.0 license.

Project Status

This project is in active development.

bStats

You can view the bStats page for this plugin here.

About

This Minecraft plugin tracks the activity of players.

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages