
bStats: Understanding Minecraft Plugin Data
Bastian/bStats
bStats collects data for plugin authors. It's free and easy to use!
View on GitHub ↗Ever wondered what Minecraft plugins are most popular? Or what Minecraft versions most servers actually run? bStats answers these questions automatically by collecting anonymized data from plugin installations across the entire Minecraft server ecosystem. It's free, open source, and already gathering statistics from millions of servers worldwide.
What bStats Does
At its core, bStats is a data collection platform designed specifically for Minecraft plugin developers. When you integrate a simple library into your plugin, it automatically starts reporting statistics back to bStats servers. And that data gets aggregated, visualized, and made available on public dashboards where anyone can see trends in the plugin ecosystem.
The bStats project itself is open source (MIT licensed) and maintained on GitHub as a parent repository containing several submodules: the backend infrastructure that receives and stores data, the web frontend where you view charts and statistics, a data processor that transforms raw data into metrics, and libraries for both Java-based plugins and PocketMine-MP. The entire stack runs in Docker, making self-hosting possible if you need complete infrastructure control.
Most plugin authors don't need to self-host anything. You simply integrate the bStats metrics library into your plugin, and your statistics automatically flow to bstats.org, where dashboards are free to view for anyone interested in ecosystem trends. What makes this interesting is that all the data is completely public. No private dashboards, no paywalls, no account gates.
Why Plugin Developers Use This
Plugin developers are flying blind without data. You release a plugin, people download it, and then what? Are servers actually installing it? Are they upgrading to new versions? What Minecraft versions do your actual users run?
bStats answers these questions with hard numbers. You get metrics like total server count (how many servers have your plugin installed), player count (how many players interact with it), Minecraft version distribution, and server software breakdown. Over time, these metrics show growth patterns, adoption curves, and whether your user base is growing or declining.
The version distribution data is particularly valuable. If you see that 85 percent of your user base runs Minecraft 1.20 or newer, you can confidently deprecate support for older versions. And that frees up development time for features your actual users care about.
Custom metrics let you track data specific to your plugin's functionality. An economy plugin might track total currency in circulation. A dungeon plugin might track which dungeons are most visited. A minigames plugin might track which games are most popular. You control the metrics that matter to your plugin.
And here's what many developers miss: bStats tracks plugin dependencies. You can see which libraries are genuinely critical to the Minecraft ecosystem and which are niche. This data informs decisions about which dependencies to take on.
Privacy, Security, and Opting Out
All data is aggregated and completely anonymous. You cannot identify individual servers. A plugin installed on just three servers shows aggregate trends, not raw server data.
Server owners can disable bStats by setting a single config option in the plugin's configuration file. Collection stops immediately with no other impact on plugin functionality. Data transmission happens asynchronously in the background roughly once every 30 minutes using minimal bandwidth.
Technically, bStats is open source with publicly visible source code on GitHub. You can inspect exactly what gets collected and how it's processed. No black boxes.
Getting Started with bStats
The experience depends entirely on what you're doing.
If you're a server owner running plugins, you probably don't need to do anything. Modern plugins that support bStats handle integration automatically in the background. Zero configuration required. If you ever want to disable it, you can usually just add one line to a plugin's config file.
You can browse public bStats dashboards right now without any account. Visit bstats.org, search for any popular plugin, and you'll see real-time statistics about adoption, Minecraft versions, and custom metrics.
If you're a plugin developer, adding bStats is intentionally simple. For Java plugins, you add a Maven or Gradle dependency to your build configuration, then add a few lines of code to your plugin's startup method. bStats maintains separate libraries for different server platforms (Paper, Spigot, Bukkit, Bungeecord), so you pick the right one for your target.
Here's what basic Java integration looks like:
public void onEnable() {
//... other plugin initialization code...
int pluginId = 12345; // Replace with your actual bStats ID
new Metrics(this, pluginId);
}
Once deployed, bStats automatically starts collecting and reporting metrics. Advanced setups let you register custom charts, but the basic integration requires almost no code.
PocketMine-MP developers have a separate PHP-based metrics library that works the same way.
What Data Does bStats Track?
Server count is the most basic metric: how many active servers have your plugin. Paired over time, you see whether your plugin is growing or declining.
Players count tracks how many players across all servers interact with your plugin. A popular plugin on a 1,000-player server counts as 1,000 players, while the same plugin on a 10-player server counts as 10. Together with server count, this tells the full adoption story.
Minecraft version tracking shows exactly which versions your user base runs. Over a few weeks you see distribution patterns: maybe 60 percent run 1.20.4, 30 percent run 1.21, and 10 percent run older versions. And this directly informs compatibility decisions.
Server software tracking shows adoption of different platforms. Is your ecosystem mostly Paper, Spigot, or a mix? bStats shows you exactly what your user base uses. Custom metrics are completely up to the plugin author. A PvP plugin might track player kills and deaths. A survival game might track games played and average duration. You only report metrics relevant to your plugin's functionality.
All of this data is aggregated and displayed publicly. Anyone curious about Minecraft plugin trends can browse and explore.
Common Questions and Gotchas
Does this slow down my server? No. bStats operates asynchronously on a separate thread. Data transmission happens roughly every 30 minutes and is just a few kilobytes. Completely unnoticeable on modern connections.
Can server owners disable it? Yes, through the plugin's config file. So it stops immediately with zero other impact. What if the bStats service goes down? Your plugin continues running normally. bStats is optional infrastructure, not critical to functionality.
One important caveat: bStats data represents a sample of the ecosystem, not the entire picture. Not every plugin integrates bStats, so version distribution data shows servers running bStats-enabled plugins, which might not be identical to all Minecraft servers. That said, for popular plugins the sample is pretty representative. There's usually a few hours lag between when servers report data and when it appears on dashboards.
Alternatives and Where bStats Fits
bStats has no real competitor in the Minecraft plugin analytics space. Some plugins maintain proprietary telemetry, but that requires significant infrastructure work. Other Minecraft tools track different data entirely (block changes, player actions, economy transactions).
If you're trying to understand your server's performance generally, tools like the Minecraft Server Status Checker and the Minecraft Server List help you benchmark against other servers. But for genuine insights into plugin adoption and ecosystem-wide trends, bStats is the only real option.
Could you run your own analytics? Sure. bStats is open source and can be self-hosted. But self-hosting adds complexity, and most developers find the public service meets their needs perfectly.
bStats exists in that perfect sweet spot of being genuinely useful, completely free, and low-friction. Plugin developers get actionable data without maintaining infrastructure. The entire plugin ecosystem moves smarter and faster because developers make data-driven decisions. Server owners benefit from better-maintained plugins. It's infrastructure that's so well-designed it becomes invisible.
