Skip to content
返回博客
bStats dashboard displaying Minecraft plugin adoption and server version statistics

bStats: Understanding Minecraft Plugin Data

ice
ice
@ice
Updated
18 次浏览
TL;DR:bStats is a free data collection service for Minecraft plugin developers. Track adoption, player counts, and version distribution automatically. Learn how it works.
🐙 Open-source Minecraft project

Bastian/bStats

bStats collects data for plugin authors. It's free and easy to use!

⭐ 236 stars💻 Shell📜 MIT
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:

java
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.

Frequently Asked Questions

What is bStats and how does it work?
bStats is a free analytics platform for Minecraft plugin developers. When you integrate the bStats library into your plugin, it automatically collects data like server count, player count, Minecraft versions, and custom metrics you define. This data is aggregated and displayed on public dashboards anyone can view. The entire process is anonymous and privacy-focused.
Is bStats free to use?
Yes, bStats is completely free for both plugin developers and server owners. The service is open source (MIT licensed) and doesn't charge for integration or data access. Plugin authors integrate the library at no cost, servers collect data automatically at no cost, and anyone can view public dashboards for free. All public statistics are available without authentication or payment.
Can I disable bStats if I don't want my data collected?
Absolutely. Server administrators can disable bStats for any plugin through that plugin's configuration file. It typically involves setting a single config option to false. When disabled, data collection stops immediately and the plugin continues functioning normally. There's no impact on plugin functionality or performance when bStats is disabled.
How do I add bStats to my Minecraft plugin?
For Java plugins, add the bStats library as a Maven or Gradle dependency in your build configuration, then add one or two lines of code in your plugin's startup method. The basic integration requires no complex setup. bStats maintains separate libraries for different server platforms (Paper, Spigot, Bukkit), and PocketMine-MP has a PHP-based library for PHP plugins.
What's the difference between bStats and just looking at download numbers?
Download numbers tell you how many times your plugin was downloaded, but not whether servers actually use it, update it, or keep it installed. bStats shows real-time adoption (active servers running your plugin), player engagement, and which versions people use. Download statistics show interest; bStats shows actual usage, which matters for development decisions.