IOBattleStats
Track all kinds of player gameplay statistics, not only from battles!
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 ID `amount`: The amount of times this task was completed `world`: 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 place `cause`: the cause of the death (which weapon or item) `weapon_name`: the weapon's custom name, if set `amount`: the amount of deaths matching all of the above `player_source`: if the player was the cause of the death `player_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.
`arrows` `beds_entered` `blocks_broken` `blocks_placed` `buckets_emptied` `buckets_filled` `change_world` `chat_words` `commands` `consumed` `crafted` `damage` `deaths` `eggs_thrown` `enchants` `enderpearls` `fish_caught` `heals` `hunger_refills` `inventories` `item_broken` `item_dropped` `item_picked_up` `joins` `kicks` `lighters` `maxes` `milk` `move` `pvp_streak` `shears` `splashes` `tamings` `teleports` `trades` `xp_gained`
Installation
1. Download the plugin and place it in your plugins/ directory. 2. Start and stop the server to generate the configuration file. 3. Edit config.yml with your MySQL database information. 4. Start your server. After a minute, the MySQL table will start getting results.
Configuration
`database.host`: Database host `database.port`: Database port `database.base`: Database name `database.username`: Database username `database.password`: Database password
Commands
`givehead PLAYER`: Obtain the skull of the specified player
Permissions
`iobattlestats.track`: Add to any player or group to be logged `iobattlestats.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!


