TorrentStats is a modular Minecraft paper plugin for tracking player statistics across your server network. Built to support a wide variety of popular plugins (like mcMMO, EvenMoreFish, Vault, and more), it centralizes all relevant data into a MySQL or SQLite database for use in web dashboards, leaderboards, player profiles, etc.
- 🧮 Tracks a select few core Bukkit stats (e.g., kills, blocks mined, distance walked)
- 🪙 Economy tracking with Vault support
- 🎣 Legendary fish tracking via EvenMoreFish
- 💸 Shop & profit tracking via EzChestShop
- 🧪 A hacky way of tracking XP bottles
- 📖 Tracks completed quests from BeautyQuests
- 🏢 Plot tracker using PlotSquared
- 💼 Job XP and level tracking via AdvancedJobs
- 👤 Team info via BetterTeams
- 🧠 Skill XP and level tracking via McMMO
- 📈 Modular plugin support (enable/disable hooks in
config.yml
) - 🛠️ Supports MySQL or SQLite backends
- ⚒️ Designed for use with websites, leaderboards, and web profiles
- mcMMO
- EvenMoreFish
- Vault
- EzChestShop
- AdvancedJobs
- PlotSquared
- BeautyQuests
- BetterTeams
- FlightControl
- ExpBottle
- Bukkit Stats
- SkyFactionsReborn (coming soon)
- TheDungeons (planned)
- Java 17+
- Minecraft server (Paper or compatible fork)
- (Optional) MySQL/MariaDB for persistent stats across servers
TorrentStats creates and manages the following tables automatically:
player_stats
player_jobs
player_skills
player_team_stats
Each table has a server name column for splitting up data on networks.
After installing the plugin and running the server once, a config.yml
will be generated. Here's a sample:
# ______ __ _____ __ __
# /_ __/___ _____________ ____ / /_/ ___// /_____ _/ /______
# / / / __ \/ ___/ ___/ _ \/ __ \/ __/\__ \/ __/ __ `/ __/ ___/
# / / / /_/ / / / / / __/ / / / /_ ___/ / /_/ /_/ / /_(__ )
#/_/ \____/_/ /_/ \___/_/ /_/\__//____/\__/\__,_/\__/____/
# This is the per-server configuration for TorrentStats: https://github.com/JerichoTorrent/TorrentStats
# The server name is unique; this will be how your split up stats from each server across your network.
# If you want to share statistics, use a remote database (MySQL, MariaDB, etc) for the plugin hook/listener.
server-name: Survival
# Enable plugin hooks. If the plugin is not detected at run-time, it will ignore it. If the plugin fails to
# start, report it on Github.
enabled-hooks:
mcmmo: true
evenmorefish: true
vault: true
ezchestshop: true
flightcontrol: true
thedungeons: true
betterteams: true
plotsquared: true
expbottle: true
beautyquests: true
bukkitstats: true # Tracks a select few important stats from https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Statistic.html
# Input your MySQL database credentials here. If you're using SQLite, just change the type to sqlite and leave the rest alone.
database:
type: mysql # or sqlite
host: localhost
port: 3306
name: torrent_stats
user: root
password: password
# Your web URL is the base URL for your website.
web-url: "https://torrentsmp.com" # or your dev env URL
/login
- Generates a link code to connect your Minecraft account with your website profile. See -> https://github.com/JerichoTorrent/TorrentWeb
/torrentstats <debug|reload>
- Shows debug info or reload the config file.
Requires Maven
- Clone the repo and compile:
git clone https://github.com/JerichoTorrent/TorrentStats.git
cd TorrentStats
mvn clean package
The compiled .jar will be found in target/TorrentStats-.jar
TorrentStats is built to power:
- Player profile pages
- Gamemode leaderboards
- Personal dashboards
- Server stats and xp/leveling rewards
Want to add support for a new plugin? Open a PR or issue! Hooks are modular and easy to extend.
Developed for Torrent Network. IP: torrentsmp.com