HomeJavaModsMCStat-Plugin
MCStat-Plugin
ModsJava

MCStat-Plugin

Connect Bukkit servers, proxy networks and hybrid Minecraft setups to MCStat.org with signed HTTPS telemetry. Player ses

⬇ Download on HangarOpen in MCModsHubGet it on Google Play →
# MCStat - Minecraft Server Analytics Plugin MCStat connects your Minecraft server or proxy to **MCStat.org** with secure, signed HTTPS telemetry. It gives server owners more accurate analytics than public ping data alone: live player counts, player sessions, tracked playtime, uptime, TPS where supported, join/leave events, and dashboard-ready server activity. ## Supported Platforms MCStat provides separate jars for each platform family: - **Bukkit / Spigot / Paper / Purpur / Pufferfish / Folia** - **Velocity 3.x** - **BungeeCord / Waterfall** - Bukkit-compatible hybrid servers such as **Mohist, Arclight, Magma, CatServer** Pure Fabric, Forge, NeoForge, Quilt, or Sponge servers need a native adapter unless they run a Bukkit-compatible layer. ## Features - Live online player count and max player count - Signed server heartbeats - Player UUID and player name tracking - Join and leave event tracking - Session start time and total playtime tracking - TPS reporting on Bukkit-family servers - Proxy support for Velocity and BungeeCord networks - Retry queue for temporary network/API outages - `/vote` command with MCStat server vote link - Safe update checks through GitHub Releases - No chat, inventory, private command, world data, or player IP collection ## Privacy MCStat only sends operational telemetry needed for server analytics and public status pages. The plugin does **not** collect: - Chat messages - Private commands - Inventories - World data - Player IP addresses Telemetry is sent to `https://mcstat.org` over HTTPS using your server API key and local installation ID. ## Installation 1. Download the jar matching your platform. 2. Put the jar in your server or proxy `/plugins` folder. 3. Restart the server or proxy. 4. Open the generated MCStat config file. 5. Paste your server API key from the MCStat dashboard. 6. Run `/mcstat reload`. 7. Verify the connection with `/mcstat status`. ## Configuration Example Bukkit/Spigot/Paper config: ```yaml api-key: "YOUR_API_KEY_HERE" api-base-url: "https://mcstat.org" sync-interval: 90 metrics: tps: true player-count: true player-names: true player-playtime: true player-events: true updates: check: true notify-admins: true auto-download: false check-interval-hours: 24 ``` ## Config Reference | Key | Description | | --- | --- | | `api-key` | Server API key generated from the MCStat dashboard. | | `api-base-url` | MCStat API host. Keep as `https://mcstat.org` unless instructed otherwise. | | `sync-interval` | Heartbeat interval in seconds. Minimum is 10. | | `metrics.tps` | Sends TPS on Bukkit-family servers. Ignored by proxies. | | `metrics.player-playtime` | Tracks player sessions and playtime locally. | | `metrics.player-events` | Sends join and leave events when enabled. | | `updates.check` | Checks GitHub Releases for newer plugin versions. | | `updates.notify-admins` | Logs one warning when a newer version is available. | | `updates.auto-download` | Optional. Downloads the new jar into the local updates folder. Does not replace the running jar. | | `updates.check-interval-hours` | Update check interval in hours. Minimum is 1. | ## Commands | Command | Description | | --- | --- | | `/mcstat status` | Shows API connection, queue size, tracked players, uptime, version, and update status. | | `/mcstat reload` | Reloads config, validates the API key, and restarts heartbeat scheduling. | | `/mcstat link` | Shows masked API key info and dashboard link. | | `/mcstat update` | Checks whether a newer plugin version is available. | | `/mcstat update download` | Downloads the matching platform jar into the safe updates folder. | | `/vote` | Shows the public MCStat vote link for the connected server. | ## Safe Updates MCStat can check for updates automatically through official GitHub Releases. By default: ```yaml updates: check: true notify-admins: true auto-download: false ``` The plugin **never hot-swaps or replaces a running jar**. If download is enabled or `/mcstat update download` is used, the new jar is staged in the plugin data folder under `updates/`. To install a downloaded update: 1. Stop the server or proxy. 2. Replace the old MCStat jar in `/plugins`. 3. Start the server or proxy again. This avoids classloader issues, broken reloads, and partial update corruption. ## What MCStat Sends When enabled, MCStat sends: - Server name and version - Online player count - Max player count - Uptime - Timestamp - TPS on Bukkit-family servers - Player UUIDs and names - Session start times - Tracked playtime - Join and leave events Requests are signed with the server API key and installation ID. ## Troubleshooting ### `/mcstat status` says API key is invalid Create a new server API key in the MCStat dashboard, paste it into the config, then run `/mcstat reload`. ### Dashboard is not updating Check: - The server can reach `https://mcstat.org` - The API key belongs to the correct server - `/mcstat status` shows the API as connected - Firewall or hosting panel is not blocking outbound HTTPS ### TPS is missing on Velocity or BungeeCord This is expected. Proxies do not expose a Minecraft game tick loop. TPS is only sent by Bukkit-family server jars. ### Player events look duplicated Install MCStat at the layer you want to measure: - Use the proxy jar for network-wide session tracking. - Use the Bukkit jar on backend servers for per-server analytics. Avoid tracking the same player flow twice unless that is intentional. ## Downloads Official downloads and documentation: - Website: https://mcstat.org/plugin - GitHub: https://github.com/mcstatorg/MCStat-Plugin - Latest release: https://github.com/mcstatorg/MCStat-Plugin/releases/latest ## License MIT

MCStat-Plugin is a free Minecraft Java mod. Compatible with Minecraft 1.13, 1.13.1, 1.13.2, 1.14 and newer. Downloaded 2 times (via Hangar). Download it and open it directly in the game.

Explore more