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
Found some error reports in my console, can't seem to find when they exactly happen, but it's mostly 6 at a time, sometimes directly after block placement, or it could be other players
@daisyduck1
Pretty sure I've isolated the cause ( had checking of imported data vs. newer form the wrong way around). 0.6.4 (currently awaiting dbo approval) should behave as expected.
@Tehbeard
No, it´s shows the wrong date for all people.
Here ist the output in version 0.5.4:
Here is the output in version 0.6.3:
You can see, the line "I heard that ..... was first on......." are different. When i switch back to 0.5.4 it shows the right date again. On every version from 0.6 the firsts join date is wrong.
@daisyduck1
Is this on people who haven't logged in since the upgrade to 0.6 only? If it is I should have it fixed next release.
Since I have updated to version 0.6 and above, it shows me with the command /laston a wrong date. If I switch back to version 0.5.4 I get the right dates. Anybody else with this problem?
On a fresh install:
and
Fatal error: Uncaught exception 'Exception' with message 'No table entry found for searchKey default' in /var/www/clients/client1/web1/web/api/scoreboard.class.php:245 Stack trace: #0 /var/www/clients/client1/web1/web/api/scoreboard.class.php(110): SScoreboad->_generate_sql_expression(NULL, 'default', 'domainId') #1 /var/www/clients/client1/web1/web/scoreboards.php(8): SScoreboad->load('playtime') #2 {main} thrown in /var/www/clients/client1/web1/web/api/scoreboard.class.php on line 245
The string is my var_dump; It seems the category, domain, statistic, and world tables don't have data on a fresh install. This worked for 0.6 before though..
@Tehbeard
Can you tell me that I made to look at this was what I did 1.create database 2, then place the jar in my server 3 start the server 4. you installed the web page a fter that gives me these errors
@Bl0c
...And here was me thinking that the standard Java library would account for that sort of thing...
Fix incoming.
I'm flood by this error: http://pastebin.com/UpSNVYSp
I'm flood by this error: http://pastebin.com/UpSNVYSp
This error is not resolved already reinstall and nothing download the plugin again, But nothing is giving the same error
"Notice: Undefined variable: a in C:\xampp\htdocs\stats\api\sql.php on line 20 "
@alam33
Ah, same issue as before, I didn't account for a very new install, where an entry might not exist. Will work on patching it today.
Has already been fixed that error now tempted this http://minekills.com/stats/showplayer.php?playerName=alambp
error "Notice: Undefined index: vehicle in C:\xampp\htdocs\stats\api\tabs.class.php on line 123"
@Tehbeard
First install the plugin between my server was created the tables after install the web and i connect to my server after I got that error
Pushed out a new build that fixes this issue. @jaggy80
Bug on my part, you need to manually add the verbose configuration.
Edit your config.yml like so.
this should fix the problem.
Updated to latest version and getting this error at startup and also including mysql query log:
http://pastie.org/8384052
!COULD NOT INJECT! java.lang.IllegalArgumentException: Can not set boolean field com.tehbeard.BeardStat.StatConfiguration.verboseMode to null value
It sounds like it can't update the database?
@alam33
Have you ran the plugin with people on the server?
BeardStat generates the data (category names, worlds, statistic names) as it needs, it doesn't pre seed the database with values.
@Tehbeard
is new install, link the java plugin to the database after installing the web and gave me that error
@alam33
Looking at the code, it looks like the table it's looking at is empty. Is this a fresh install or perhaps a misconfiguration?
Can you help my status are these: http://minekills.com/stats/
I have error "Notice: Undefined variable: a in C:\xampp\htdocs\stats\api\sql.php on line 20"
are no statistics and no information