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
@nejento
Have you got bungeecord infront of the server?
Hi, there's a problem which is still spamming in console:
Where's the problem, if it's my problem?
@HadrienCubic
Say the world's name (folder name) is bob:
How disable a world in the config ? I have this in worlds.yml and I would disable the world: events
Thanks you !
@GodsDead
I've only been able to replicate the issue with offline mode servers (Perhaps you're behind bungeecord? The proxy handles the auth while the game server is in offline mode)
@Tehbeard
I edited my post to get the errors since I wiped my logs and disabled beardstat pasted them in: http://pastebin.com/NC0cmiH0
Nope the server is set to online.
@GodsDead
Can you paste the log on pastebin or gist? dbo comments are messing up the formatting on it.
Also, is the server in offline mode?
Ok, I run BeardStat-0.8-SNAPSHOT with sqlite and mysql, both errord out majourly. Starting with Mysql
An Error with mysql
Beardstat loading without mysql
Errors
@Tehbeard
Superb, was starting to loose hope! Glad the projects still alive, there really is no decent alternative.
How safe would it be to throw this development build onto a live server? I'll give it try now! Whats stacktraces? Also will BeardAch work with this current build? or will it need updating? Thanks TehBeard.
@GodsDead
real life getting in the way of things a bit :/
There is a build on jenkins targeted for 1.7 (BeardStat 0.8), It should be working (there may be a few misnamings due to using a script generator and bukkit labeling oak as generic and such, I think I got them all). I recomend grabbing the zip from there, it contains a newer version of the web ui with some updates, but the older ui should work just fine.
Preliminary tests show it working, but there's always a chance for bugs. If anyone's willing to try it and report back any errors and stacktraces, I'd be grateful.
It also includes a new feature, documents. I'll elaborate on those when I have a build stable enough to post on dbo, but they're a way to store more than just numeric data (a record of a player's inventory for example).
Hows it coming along?
@Tehbeard
Alright, sounds good. Ive recently re-built my server from the ground up, hoping to release by the weekend, but I might hang on until you release an updated beardstats so players can be tracked fresh from day 1. Yeah before I had a really dirty hack using just a php include on a custom wordpress page template and creating a new page inside wordpress so the header/footer etc was fluid, its actually still up, I never created a script to auto download the database from my minecraft host to my webhost for near live stats, I did it manually! need to find a way to do that again. But with the inclusion of bootstrap css & jquery it wonked my design using the latest version, I never got around to figuring out a way to do it without creating a plugin since you would need to add the dependencies into the head section.
edit: Don't think of it as demand, think of it as a selling point, what other stats plugins actually integrate with the largest CMS out there? None, they all have half-made web interfaces.
@GodsDead
I should have a version out in the next few days that tracks 1.7 item/blocks (new fish) correctly.
BeardAch should be working with this if you are keeping up to date with releases.
A Wordpress variant of the ui isn't top priority. the web ui includes an api that users can use to make such a thing (or alternatively they can bolt the wordpress header/footer methods into the existing app). If there's enough demand I'll bump up the priority.
@Tehbeard
Are hooks in the works for bukkit? Worth releasing without the fish data? I never managed to get BeardAch working, will this be updated with it, Im planning on using both to handle auto ranking based on specific stats of users.
Bukkit really screwed the development community taking so long to release a build, 1.8 snapshots are already out.
With the Web UI any chance it could be easily implementable, a stand alone stats UI is really hard to add into an existing website to look fluid, I use wordpress to power my website, Creating the stats UI as a plugin would make integration into existing sites much smoother, plus the extensive library of wordpress functions that are pre-made.
PM Sent
@Wu_Zhao
Can you provide some screenshots, I've done some tests with that version of the jar and RC2 of the web ui, and can't replicate the issue.
[23:55:42 INFO] BeardStat version 0.7-SNAPSHOT-Ambrosia-git-"7718bff"
I can't see "mcver" in the config file, this is what i see:
@Wu_Zhao
BeardStat Version? ( run /version BeardStat ingame)
if there is a mcver: entry in the config, try removing it (used to check whether to rerun scripts that add readable names to the stats.
@GodsDead
Still active, current 1.7 bukkit releases don't have the hooks for 1.7 stuff (namely it doesn't appear to have a way to determine what has been fished) so I've been waiting for that to appear.
I'm also intending to migrate to something closer to minecraft string names when possible (going from my own id system of wool_5 to minecraft:wool:5), this will be automatically done when it comes out, but again I'm stuck waiting on bukkit for this.
I'm also working on a way to store non-numeric data in BeardStat. In theory the system could be used for anything from a Eve Online style killmail system (list of who you killed/who killed you, how and with what) to a record of the players inventory, accessible via the web api.
Speaking of which, I am still working on the web api, currently working on the administrative area and making it easier to create/modify/delete scoreboards. Trying to find a nice way autocomplete component to handle finding the correct world/category/statistic name.
Yo Beard, Still active? Got 1.7+ in the works? PirateCraft would love it!
I have had beardstats since the beginning, but when i updated my server now and also beardstat i got a problem.
I missing the text in the webui.
I can only see things like:
Ores mined
800
865
48
7
0
12
30
0
But not WHAT ore, the ore names is missing.
Same goes for everything else under general, blocks, crafting, kills and deaths and redstone.
I can see the numbers but not the names.
I also get this Warnings:
[20:13:23 WARN] [BeardStat] No External metadata file detected
[20:13:23 WARN] [BeardStat] Could not save config.yml to plugins\BeardStat\config.yml because config.yml already exists.
[20:13:23 WARN] [BeardStat] Could not save worlds.yml to plugins\BeardStat\worlds.yml because worlds.yml already exists.