BeardStat
BeardStat is statistics tracking plugin for bukkit. It tracks a wide variety of user statistics and makes them available to your playerbase and plugins.
Recorded stats
- last Login and logout time
- Total playtime
- block placement and breaking (including sub/metadata blocks like wool, logs etc)
- Items picked up/dropped
- Damage dealt and recieved
- Kills and deaths
- Food consumed
- Sheep sheared and dyed
- TNT detonated
- Distance travelled on foot/boat/cart/horse/pig
- Items crafted
- Animals tamed
- Teleports
- Fishing
Web interface (under development)
BeardStat also comes with a web interface for stats, this allows players to view their own and friends stats on your servers website. the Web interface also includes a scoreboard system to rank players based on various statistics (playtime, creepers killed)
Commands
Stats are recorded per world, and you can blacklist worlds/gamemodes from tracking. BeardStat also has a number of commands: * /stats - access to all stats information * /played - shows a players playyime. * /laston - Returns the last time the player was on * /statpage - Allows showing a selection of player stats, useful with Bukkit's command aliasing
Dev builds
Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
(Please note, zips in dev builds currently contain a broken implementation of the web interface, please instead download the .jar file instead. The web interface available on the right of this page) Development builds fresh from Jenkins
Issues
BeardStat has an issue tracker on github, https://github.com/tehbeard/beardstat/issues.
For error reports please include the following: * full stacktrace of the error * plugin version (inc. build number if using one from CI) * Bukkit version * Database type used (SQLite / MySQL)
Plugin integration
BeardStat provides a rich API for plugin developers to hook into BeardStat and read / record statistics.
For Developers
BeardStat stats are identifiable by a unique Id generated from 4 sub components: * Domain * World * Category * Statistic
Domain is the primary namespace for a collection of stats, the "default" domain is used by BeardStat, I ask that you use your own unique domain for your plugin (i.e. if you make a PvP arena plugin, you could use the domain "pvparena").
World represents the world in which this stat was recorded, these are for the most part the name of the world.
Two special cases exist however. "__global__" is a reserved world name, meant for stats that do not pertain to a world. The second case is "__imported__", this is a reserved world for stats that have been imported from an older version of BeardStat before per world storage was implemented.
While not intended, you can use the world id for a unique area that is not a whole world (Going back to our pvp arena example, you could use the arena names instead, such as old_forge, broken_bow instead of a world name)
Current plugins that are known to integrate BeardStat: * BeardAch - Achievements plugin * SimpleSpleef Evolution
Metrics
BeardStat includes the plugin metrics code developed by Hidendra (author of LWC), which collects anonymous information about the plugins deployment (minecraft, server, plugin version, assumed server location at country level and database type used by BeardStat, aggregated into graph form.) More information on this system, including how to disable it can be found here
It's possible to add the iron cooked? Example: A player bakes iron in a furnace, and when he take his iron ingots, you get one in "Iron cooked." I think it is possible because minecraft allows you to earn xp recovering ovens. It would be useful for me beardach
@Tehbeard
Oh, cool, totally missed 0.5.4. This version works again, thanks!
@dickwick
Down grade to 0.5.2 for the moment, fixing that error and waiting on DBO approval.
Every time someone logs in I get this error
@BlahBerrys
I hope to be releasing an alpha within the next few days for 0.6 (which will be built against the 1.5 dev builds).
This will be a fairly big, but hopefully awesome change,
heads up to server admins, 0.5 -> 0.6 WILL INVOLVE A DB MIGRATION. THIS SHOULD BE AN AUTOMATIC PROCEDURE, BUT WILL TAKE A WHILE TO MIGRATE ON LARGE DATABASES
The database design is terrible at the moment (lots of duplicated data, no room to really expand). The new database design brings to the table:
@Tehbeard
Looking to hook into this plugin for my plugin SimpleSpleef. When might you have a release compatible with the latest version of Bukkit?
@zonta_b First off, There should be an error dump in the log you can paste here.
Is the mysql on a seperate server?
Is the mysql user you are trying to connect with allowed to connect from external hosts?
Does the database you have selected exist?
I have a problem the plugin is unbale to connect to the mysql but all info is good :/
@MrYfory
pushed 0.5.3 to dbo, waiting on approval.
@MrYfory
I think I have a patch ready,will push to dbo when I can
@Tehbeard
That server is running 0.5.2 and the infamous Java 7. :)
@Tehbeard
I really like how the readme is wrote into the web folder :D. This maked my day!
@MrYfory
Which version is this in? 0.5.2?
Also Java version? (This bug has cropped up several times in the past, and is a real pain to nail down the cause of)
@genwing
There are no plans to add tracking mobs etc in external mod packs, be they mo creatures, tekkit, technic, ftb ccd, abc.
However, people are more than welcome to write plugins that track these and use BeardStat to store and collate the values.
Hey @Tehbeard :)
I saw this error on my public test server, thought you might like to know...
http://pastebin.com/kseRy1Sx
Hi,
Your plugin works really well for me, the only problem is that I use a server MCPC with forge. the mob standards are well recognized, but the mob from a mod are recognized as unknown. there will he a way to see all the mob?
the mod in question is MoCreature by DrZhark.
.....must....download.....this......
@xrnd88 Version 0.5.2 is currently being approved (hopefully soon). I removed the code causing the crash on startup.
@ArttuJarvinen
pastebin of the error?
Hey,
For some reason when i change:
comp.kd= $kills.total - $deaths.total
to
comp.kd= $kills.total / $deaths.total
it spams the log with errors and the killdeath stat doesn't show up, any idea why?
@Tehbeard
I'm running with 0.5.1 and it works amazingly!!!! Only thing that seems to not work is tracking player kills/deaths (nothing gets stored in the db). Thanks for the incredible plugin!!!