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
@Lolmewn
Looks like I /didn't/ update stats, just Minecraft. Upgraded from Bukkit 1.7.10 to Spigot 1.8.3. Players reported that their time played reset.
@davewolax
Sounds more like a Highscores addition.
@SXRWahrheit
Did you upgrade Stats, MC version or both? From which to which versions?
@davewolax
You can do rank upgrades with AutoRank.
Updating for 1.8.3 from an older version seems to have "reset" stats for users, but we didn't wipe any data. Is there a UUID conversion command I need to run?
@Lolmewn
Hi!
I have an Idea for your plugin. - > [Stats Ranks] <-
Can you add a function in the config that can add Prefix for a player based on their score/playtime etc..?
For example player has 23hours play time and in the SQL table his username stands in the 352nd place.
Can you make it so in chat it shows his rank in prefix like "[352] <player>: hello"
And when someone join the server for first time, their prefix will be the highest (which is the total number of players that have joined like "[80426] <player>").
The more time player play on the server, the higher his rank will be until reach Number #1.
The goal for this thing is that people will fight to stand on #1st place and play and stay more on the server.
If possible, add more functions for the Stats Ranks for example using walking distance instead of play time or number of votes. or combination of those would be great!!
Thanks!
@MotheMan
I'm not sure you actually can do that on one sign. There's something like this in the dev-builds of Highscores where you can say "show me the top 5 players with regards to playtime", but it's not in Stats.
@Lolmewn
I sent a donation for the work on stats3 also would like to know is there a way to convert the mysql data to flat-file....?
How can you use the in-game signs to show the maximum playtime of all players and the corresponding player name? I am able to do it so the play time shows up, however i am not sure how to set the player.
@SatansDaughter66
When you've installed MySQL you practically only have to enter the information to access your database. Oh well.
In Stats 3 there will be support for flatfile and other storage techniques. You can grab it if you wish from my CI, but do not that they are not marked as stable yet and are mostly untested.
well i found it. and also does this really need to hook into mysql? i downloaded workbench, spent 2 hours looking up how to even use it and nothing helped me at all. i dont understand how to use mysql.
@SatansDaughter66
Try reading the description of the plugin. After you've read the first 8 words you'll know where to find it.
so...i downloaded the newest one which happened to be a zip file...where in the world is the jar file?!
@GodsDead
Since you have snapshots disabled in the config - Yes. Whenever you feel like enabling that functionality it'll just generate those columns back.
I have had this show up in my console since forever, Im finally getting around to tidying up all these "not really a problem, just irritating" things. Is it safe to remove these columns from the mysql table?
@ursak
Might've explained that wrong a bit :P The sign basically sees Block_place and Block_break, both called "Block break" or place (can't remember which one it was. Probably break). So then it counts the block break's twice, since the player data will just be called with "Give me block break data".
Database is not affected though, as block place and break are the only two stats that have their own separate saving mechanism as they are more complex.
@Lolmewn
Block_break and Block_place would be updated at the same time in-game?
You mean no matter if I place any blocks? I'm sorry, but I'm not sure I got that correct. When I break blocks and it show up strange on a sign I don't place any blocks. I only break blocks.
Should it still double on sign?
@GodsDead
Yep, each stat has its own table. Nice and clean, I'd say. It does generate quite some tables, but I feel like that's okay. The benefit of this layout is so much bigger, I could practically add new data to each stat whenever I wanted to.
@Lolmewn
Awesome, Are there some major chances to the databse that I will need to completely re-make my web UI? I still haven't uploaded what ive made..
@vipersonickenneth94
Spigot related error - can't do much.
@GodsDead
Already am. Talked to Staartvin for a bit and showed him around the new API a bit. I'm currently writing the Stats2 converter, after which the first alpha release (with limited functionality) is ready. Follow my twitter to keep updated ^^
@MotheMan
@ursak
I think there used to be a bug in Stats where Block_break and Block_place would be updated at the same time in-game. However, the database does have the correct values (if I remember correctly). Will be fixed in a new version (Stats 3? :O)
@Lolmewn
Hi, I have another error upon a new player's login again. The player-id field is already set to auto-increment as before.
Pastebin