SMPStats
PluginGPL-3.0-only

SMPStats

SMPStats is a lightweight Paper 1.21.x plugin that tracks player stats in SQLite and provides in-game commands plus an optional authenticated JSON API.

42
Downloads
0
Followers
4 months ago
Updated
📦
3
Versions

📖About SMPStats

SMPStats

Comprehensive Player Statistics & Analytics for Paper 1.21.10

What This Plugin Does

SMPStats is a powerful yet lightweight statistics tracking plugin designed specifically for Paper servers running Minecraft 1.21.10+. It automatically monitors and records detailed player activity across your SMP server, providing deep insights into player behavior, achievements, and server dynamics.

Core Tracking Features:

  • Player Activity: Playtime (sessions, pauses), join/leave timestamps, first and last seen dates
  • Combat Statistics: Player kills, mob kills, damage dealt, damage taken, deaths with detailed death causes
  • Building & Mining: Blocks placed and broken (tracked by type), with support for heatmap generation
  • Movement & Exploration: Distance traveled (separated by dimension: Overworld, Nether, End), biomes visited
  • Crafting & Consumption: Items crafted and consumed
  • Skill Profiles: Automatic calculation of player skill levels across categories (Mining, Combat, Exploration, Builder, Farmer) based on configurable weights
  • Moments System: Captures memorable in-game events like "first death," "diamond mining runs," "clutch plays," "TNT fails," and more through a customizable event definition system
  • Heatmaps: Visual activity maps showing player deaths, mining hotspots, and other activity patterns
  • Death Replay: Detailed snapshots of death events including location, cause, health, nearby entities, and inventory state
  • Social Statistics: Tracks proximity time between players and cooperative kills (planned feature)

Why Download This Plugin

For Server Owners:

  • Zero Configuration Required: Uses SQLite database—no external database setup needed
  • Performance Optimized: Lightweight design with async operations and configurable autosave intervals
  • HTTP API Included: Optional REST API with authentication for integrating stats into websites, Discord bots, or other tools
  • Highly Customizable: Configure which stats to track, skill weights, moment definitions, and more
  • Rich Data Export: JSON export capabilities for all statistics

For Players:

  • Detailed Personal Stats: View comprehensive statistics through in-game commands
  • Skill Progression: See your skill profiles and understand your playstyle strengths
  • Memorable Moments: Automatic tracking of significant achievements and events
  • Leaderboard Ready: Compare yourself with other players across multiple metrics

For Communities:

  • Engagement Insights: Understand which players are most active and in what areas
  • Event Tracking: Perfect for recording SMP milestones, first achievements, and server history
  • Integration Ready: API enables creation of stat websites, Discord integrations, and community tools

Critical Information Before Downloading

Requirements:

  • Server Type: Paper 1.21.10+
  • Java Version: Java 21 or higher

Commands:

  • /sstats - View your own statistics
  • /sstats user <player> - View another player's statistics
  • /sstats reload - Reload the Plugin & the API
  • /sstats user <player> <reset|set> [value] - Reset or set stats of a player.

Optional HTTP API:
The plugin can expose a REST API for external integrations. Configure in config.yml:

  • Enable/disable the API
  • Set custom port (default: 8765)
  • Configure API key for authentication

Endpoints:

  • GET /stats/<uuid> - Retrieve individual player statistics
  • GET /stats/all - List all tracked players
  • GET /online - List currently online players

Data Storage:

  • All data stored locally in plugins/SMPStats/stats.db (SQLite)
  • Configurable autosave intervals
  • No external database required

Customization:
The config.yml file allows you to:

  • Enable/disable specific tracking modules (movement, blocks, kills, biomes)
  • Configure skill profile weights to match your server's focus
  • Define custom "moments" to capture specific events (e.g., "Diamond finds within 30 seconds")
  • Set up heatmap parameters and hotspot regions
  • Configure autosave intervals and API settings

Performance Notes:

  • Async database operations prevent server lag
  • Configurable tracking granularity to balance detail vs. performance
  • Automatic data flushing at configurable intervals

This plugin is ideal for SMP servers that want detailed analytics, player engagement tracking, and the ability to showcase player achievements and statistics both in-game and through external platforms.