Stats - made by Lolmewn
What does this plugin do?
This plugin provides you with a server-end plugin and a website-end set of files. It writes data collected through events to a MySQL database (plugin), and reads and displays that to users (website).
How do I install this?
It's really simple! Download the plugin, and drag the jar to the 'plugins' folder of your server.
Start your server, you don't have to worry about any settings file! When you join the server (You either have to be OP or have the permission-node 'stats.config'), the automatic configurator will start. This will guide you through the configuration of the plugin from in-game!
The website is also simple to install. You can check out the forum thread for detailed instructions.
And that's all! Now you can let the plugin worry about the rest ;)
Please remember to edit your server name in server.properties, as this will be sent to the global server to track your data with
There now is a side-plugin which allows you to create Achievements. You can find it here: http://dev.bukkit.org/server-mods/lolmewnachievements/
A new plugin allowing you to track highscores with a configurable time basis. You can find it here: http://dev.bukkit.org/server-mods/highscores/
Don't have a permissions plugin? Click here!
stats.track - All users who have this node will have their stats tracked and uploaded.
stats.sign.place - Allows users to place [Stats] signs.
stats.sign.destroy - Allows users to break [Stats] signs.
/stats - This command shows your stats! No permission node.
/stats <player> - This command shows someone else's stats. Permission node: stats.view.others
/stats reset - This command resets your statistics. Permission node: stats.reset.self
/stats reset <player> - This command resets <player>'s stats. Permission node: stats.reset.other
What does this plugin log?
This plugin logs all actions to a MySQL database. So, you might ask, what does it log?
|Block break||All broken blocks with their Datavalues||itemId itemData breaking|
|Block place||All placed blocks with their Datavalues||itemId itemData breaking|
|Death||All deaths with their causes||cause entity(boolean, true is safest)|
|Kill||All kills with their causes||type|
|Move||Walking, sailing, riding a train, on the back of a pig or by horse.||type (0=walk, 1=boat, 2=train, 3=pig, 4=pig in train, 5=horse)|
|Playtime||Time played in seconds|
|Xp gained||Total XP gained|
|Joins||Total times joined|
|Fish catched||Total fish Caught (Yes, I know it's caught.)|
|Damage taken||Total damage taken|
|Times kicked||Total times kicked|
|Tools broken||Total Tools broken|
|Eggs thrown||Total eggs thrown|
|Items crafted||Total items crafted|
|Omnomnom||Total times had a snack|
|On fire||Total times being on fire|
|Words said||Total words said|
|Commands done||Total commands done|
|Votes||Total times voted for the server (uses Votifier)|
|Worldchange||Total times worlds changed|
|Bucketfill||Total buckets filled|
|Bucketempty||Total buckets emptied|
|Bedenter||Total times bed entered|
|Itemdrops||Total times items dropped|
|Itempickups||Total times items picked up|
|Teleports||Total times teleported|
|Shear||Total times sheared|
|Lastjoin||The time the player joined the server last|
|Lastleave||The time the player left the server last|
As of Stats v1.30 (using Beta functions), you can now enable per-world support. Just set useBetaFunctions to true in the config and you're all set. If you're coming from an old version, it will set all already collected stats to the main world (world 0).
As of Stats v1.30 (using Beta functions), you can now enable snapshots. Just set useBetaFunctions to true in the config and you're all set. Explanation of the config:
|enabled||true||Enables or disables the creation of Snapshots|
|timeToLive||1W||After a certain amount of time, old snapshots get deleted if their name is 'auto_generated snapshot'. A list of what you can use:|
- m = Minute
- h = Hour
- d = Day
- W = Week
- M = Month
- Y = Year
|interval||1D||The interval at which to take a snapshot. Note that taking snapshots is done off the main thread, and shouldn't affect performance.|
|previous||The timestamp at which the previous snapshot was taken. Do not change this.|
Disabling certain stats
You can, as of v1.26, disable stats you want in the config. You can disable any stat, just put the statname in the list. You can find all statnames up on this page.
As of 1.15, Stats now supports signs showing statistics in-game.
The layout of a sign must be the following when placing it:
SignDataType can be any Stat there is. Even custom ones provided by other plugins! Check the big table above and use the Stats' name on the sign.
SignType can be either player, global or custom.
If you use player on line 3, the name of the player of which you want his stats to display must be on line 4.
Global will take the total amount of that specific stat. Custom signs will ask you to say an SQL query. If you don't know what this is, you probably shouldn't use it. If the query succeeds, you are asked to say some text that will end up on line 2 and 3 of the sign. This can be 30 characters max (15 per line).
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, they may or may not work at all.
Development builds for Stats can be found at my CI, over at http://ci.centrility.nl/job/Stats/.
MCStats plugin stats
How many servers use this plugin? How many players have the benefits of this plugin?
You can see all that here: http://mcstats.org/plugin/Stats
Stats API and dev portal
There's a small API for the plugin where you can get some data.
Here you can see how to use it.
Plugins using Stats
You can find me (and possibly, when I'm around, support) in my IRC channel #Lolmewn on irc.esper.net - See you there!
Global statistics server disclaimer
You might be wondering what the global server is tracking. Here is a list of what it logs:
- Your server name, specified in server.properties
- Your server port, specified in server.properties
- All queries the plugin has sent to the local MySQL server.
What would I need your server name and port for? This is to keep track of the different servers out there. There are servers where multiple servers run on one box (same IP), with the same name, the only thing different is the port it's running on. I need it to tell the difference between both servers.
This plugin utilises Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
- A unique identifier
- The server's version of Java
- Whether the server is in offline or online mode
- The plugin's version
- The server's version
- The OS version/name and architecture
- The core count for the CPU
- The number of players online
- The Metrics version
If you wish to disable this feature (/me cries), you can do so by opt-ing out, which you can do in the config file under /plugins/PluginMetrics/
This plugin has a built-in auto-updater, which connects to BukkitDev to check for updates. If you, for some reason, wish to disable this process, you can do so by setting 'update' to false in the plugins' settings file.
Table of contents
- 1 What does this plugin do?
- 2 How do I install this?
- 3 Extra functionality
- 4 Commands/Permissions
- 5 What does this plugin log?
- 6 Signs
- 7 Global Stats
- 8 Development builds
- 9 MCStats plugin stats
- 10 Stats API and dev portal
- 11 IRC Support
- 12 Tutorial
- 13 Global statistics server disclaimer
- 14 Metrics
- 15 Auto-updater
- Date created
- Aug 19, 2012
- Last update
- Oct 29, 2013
- Development stage
- GNU General Public License version 3 (GPLv3)
- Curse link
- Recent files