Stats by Lolmewn
Stats - made by Lolmewn
Plugin description
Stats is an advanced statistics gathering plugin, currently focused on player statistics. Information such as PVP kills, blocks broken, playtime and much more. You can store this data as simple files, or store them in a MySQL database. The benefit of using the database is that you can also use any web-end out there to display your players' statistics on your website.
Installation instructions
To install the plugin, simply drag-and-drop the Stats.jar into your 'plugins' folder.
When you start the server, a "Stats" folder will be created, containing a config file.
For a detailed description on the config file, click here.
The most important option is "storage", which can be set to either "flatfile" or "mysql" by default.
If you choose MySQL, there is another file (mysql.yml). Fill in your MySQL details there. That's all!
If you're installing a web-end as well, please read the instructions for said web-end on how to install it.
A list of web-ends compatible with Stats 3:
Made one, too? Let me know!
List of available Stats
This is a list of all available stats. Please note that there might be more stats in your environment, as other plugins can add their own stats to the plugin. For those stats, please see the documentation of the plugin providing them.
Stat name | Description | Available Metadata |
Arrows | Amount of arrows shot (not hit!) | world |
Beds entered | Self-explanatory | world |
Blocks broken | Self-explanatory | world, name, data (see here for more info) |
Blocks placed | Self-explanatory | world, name, data (see here for more info) |
Buckets emptied | Self-explanatory | world |
Buckets filled | Self-explanatory | world |
Commands done | Amount of commands done | world |
Damage taken | Self-explanatory | world, cause |
Death | Amount of times died | world, cause |
Eggs thrown | Self-explanatory | world |
Fish caught | Self-explanatory | world |
Items crafted | Self-explanatory | world, name |
Items dropped | Self-explanatory | world, name |
Items picked up | Self-explanatory | world, name |
Joins | Amount of times joined the server | None |
Kill | Amount of kills gotten | world, (name of) weapon, entityType |
Last join | Last time (in milliseconds epoch time) joined the server | world |
Last seen | Last time (in milliseconds epoch time) left the server | world |
Money | Not yet functional | world |
Move | Amount of blocks moved | world, type (0 = walking, 1 = boat, 2 = minecart, 3 = pig, 4 = on a pig in a minecart, 5 = horse, 6 = flying) |
Omnomnom | Amount of food eaten | world |
PVP | PVP kills gotten | world, victim (UUID of the other player), time (in milliseconds epoch time), (name of) weapon |
PVP streak | Current kill-chain, gets reset when killed | world |
PVP top streak | Highest PVP streak ever achieved - may be moved to Highscores in the future | world |
Playtime | Time in seconds played on the server | world |
Shears | Amount of sheeps sheared | world |
Teleports | Amount of times teleported | world |
Times kicked | Self-explanatory | world |
Tools broken | Self-explanatory | world, name |
Trades | Amount of times traded with a villager | world |
Votes | Removed since 3.1.1-RC due to incompatibility. If the player name is not found, the vote is ignored | None |
Words said | Amount of words said | world |
Times changed world | Self-explanatory | None |
Xp gained | Amount of XP gained in total | world |
Permissions
Some commands require special permissions to be executed. Here is a list with all permission nodes:
Node | Default value | Description |
stats.view | true | Access to /stats |
stats.view.others | true | Access to /stats <player> |
stats.custom | op | Gives access to nodes stats.add and stats.create |
stats.add | op | Access to /stats add |
stats.create | op | Access to /stats create |
stats.admin | op | Access to /stats admin |
stats.reset | op | Gives access to nodes stats.reset.self and stats.reset.others |
stats.reset.all | op | Access to /stats reset all |
stats.set | op | Access to /stats set |
stats.sign.place | op | Can create [Stats] signs |
More info soon
Donations
If you feel like giving something back to me, you can donate to me. All income from donations will be spent on coffee or similar.
I'm accepting donations through:
- Bitcoins on address 1QC19kut8nuMJNAsMZ3QneKuW2a8f5QgQG
- Dogecoins on address DKN8Lrm4KfC7Jh9M2KopjPkwcRfA7Ak3zj
- Paypal, either via email lolmewn(at)gmail.com or via this link
27% of global stats belongs to me. xD http://play.lazlecraft.net/blockstats/
@rudolf323
@silentdojo
Here you go: *LINK REMOVED - I should get my CI working again (Ports won't open for some reason)*
Note: This is badly tested. Should work though :P
@silentdojo
@rudolf323
I'll throw a build in the dropbox later (after testing it actually sends queries, of course). Note that no BukkitDev staff has checked this file, so you're gonna have to trust me it's safe to use ;) (Besides, I am BukkitDev Staff. Why would I upload something malicious?)
@silentdojo
@Lolmewn
Can you send me too? because in my server if its more than 25 players online, its lagging every 20 seconds
@Lolmewn
Thanks! If you'd like me to test it out when you're done send me a PM or something.
@silentdojo
Ah, yes. I myself run a very small server, so I didn't notice flooding, but I can imagine so. I am rewriting the part that takes care of sending the queries to the database, as well as possibly changing the driver of the database around.
Great Plugin! We're using it over at inCRAFTion.com. We have one major request though: Would it be possible to add configs for disabling specific checks? Our mySQL database seems to get overloaded with so much information flooding the database. I'd specifically like to disable The Distance checks. Any help with this would be great, or I may just fork this when I get time.
@jaytwitch
Thanks!
@Yourdogsdead
Glad to hear you solved it. 150 connections seems a bit much, but I guess that's needed for your own application thingy.
@Lolmewn
@Lolmewn:
It worked perfectly! Thank you very much! Thank you for your excellent work on this plugin too! :)
@Lolmewn
Did it. I have around 150 connection of a max of 500. It's possible I corrupted the database, so I will probably be wiping it tonight.
Edit: I wiped the database, and so far it seems good. This is what I get for porting it to rails :(
@Yourdogsdead
Possibly. I use the 'MySQL Workbench' to check my MySQL server status, as well as connections made to it. I recommend you take a look at that too, it's a very useful program.
@LaxWasHere
They are, but only if your server-ip is 127.0.0.1
@jaytwitch
There is. Open up the .jar, find plugin.yml
In there, you have to add the 'permissions' part. It looks like this: http://pastebin.com/5MRcZmVe
Just paste that at the bottom, save it, should work!
We currently don't use a permissions plugin on our server, and it's only tracking the Op (me) so I assume it's because we don't use something like PermissionsEx
is there some way of getting everyone else tracked without a permissions plugin? Or is it absolutely required :(<
Using BungeeCord, so stats aren't being sent to global.@Lolmewn
Makes sense. I have a rails app reading from the database, as well as many other plugins. I will contact my hosting company regarding this. I do however have it at 500. Is there anyway that the server could be overloading that? Is it possible that my Rails app is interfering?
@LaxWasHere
Probably, yeah. If the code is fine, maybe he used worldedit? Not sure how else he's gonna break that many blocks in that little time.
Nvm didn't see the bottom page. Ti's a problem with WSx
EDIT How did this guy be online for 5 mins and break 20k blocks? xD http://play.lazlecraft.net/blockstats/single_player.php?p=JeepersCreepers6
Or should I ask at the WebstatsX page?
My DB isn't a liar :P
IF u want some ideas how to upgrade this Web Stats, you can connect for example the minotar.net and add to the statistics :)
@Yourdogsdead
Hi again, It seems the plugin cannot aquire a connection, because all connections are already in use. You can fix this by either allowing more connections (edit your mysql settings), or by checking which plugins are also using mysql, and setting them to something else. The first is recommended though. I'd like to see what the results are.
@Lolmewn
Hi :D
I was checking your signature image then checking this plugin then checking the comment then checking the src of that bug and yeah seems easy to fix just check if from and to are different worlds :P