IOBattleStats
Track all kinds of player gameplay statistics, not only from battles!
📖About IOBattleStats
Record various gameplay stats on a Minecraft server to better track the activity of the players. This is logged to a MySQL database and can then be used for other purposes like finding sources of griefing, grant rewards for completing tasks, build player profiles, or anything of your choosing. Multiple servers on a network can share the same database.
No visualisation tools are included, this is left up to the server owner.
This plugin was developed out of a growing frustration from other plugins no longer getting updated, or giving inaccurate results.
Basic table format
uuid: The player's unique IDamount: The amount of times this task was completedworld: The name of the world the action took place in, automatically read from the server.
Additional fields are added on the tables to record relevant data, while some others have a different format.
For example, the more complex stats_io_deaths:source: the source of the death (player or entity)target: the target of the death (player or entity)world: the world where the action took placecause: the cause of the death (which weapon or item)weapon_name: the weapon's custom name, if setamount: the amount of deaths matching all of the aboveplayer_source: if the player was the cause of the deathplayer_target: if it was a player that died
stats_io_maxes has a slightly different format: it will store the maximum value of various stats for each player.
Database tables and tracked values
All table names are prefixed with stats_io_ to avoid naming conflicts with other plugins.
arrowsbeds_enteredblocks_brokenblocks_placedbuckets_emptiedbuckets_filledchange_worldchat_wordscommandsconsumedcrafteddamagedeathseggs_thrownenchantsenderpearlsfish_caughthealshunger_refillsinventoriesitem_brokenitem_droppeditem_picked_upjoinskickslightersmaxesmilkmovepvp_streakshearssplashestamingsteleportstradesxp_gained
Installation
- Download the plugin and place it in your plugins/ directory.
- Start and stop the server to generate the configuration file.
- Edit config.yml with your MySQL database information.
- Start your server. After a minute, the MySQL table will start getting results.
Configuration
database.host: Database hostdatabase.port: Database portdatabase.base: Database namedatabase.username: Database usernamedatabase.password: Database password
Commands
givehead PLAYER: Obtain the skull of the specified player
Permissions
iobattlestats.track: Add to any player or group to be loggediobattlestats.givehead: Determine who is allowed to use the /givehead command
Why is this plugin reliable?
I use all of my plugins on my own servers, and I like my plugins to be stable, reliable and low maintenance. Breaks on version upgrades are not expected, but should they happen, they will be quickly fixed.
Support my work
If you enjoy my work, I welcome sponsors! I've been running Minecraft servers since 2011, developed several plugins and tools for server owners, and I'm now working my way through releasing many of them. Your support would go a long way toward encouraging me to put more time and effort into this, plus fix any issues that might be discovered over time!


