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
@banansnegl
Please create a ticket for it or it'll get lost in the comments.
@BotanistT
You should use their search function
@GodsDead
I use InnoDB by default, it's awesome. You can safely transfer.
@puckman1971
You can use /lolmewnstats or open up mcmmo.jar, open plugin.yml and remove the stats alias from the mcmmo command.
@Lolmewn
Ok! after much frustration with the tables going corrupt, they will continue to do so as they are set as MyISAM instead of InnoDB, this is a very sensitive database type and corrupts tables for fun it seems; any little disruptive and tables die, never had issues with InnoDB tables. I've found this out all today, Ive never looked into the table types before; It turns out that MyISAM dousnt work very well with multiple things trying to read/write to it i.e using a stats web UI & the plugin! This is copied from a stack overflow comparing the two:
I would do a conversion on my tables, but im not sure if this would then break the plugin recording the data, can you please read up on the conversion and tell me if it would break anything from the plugin recording data. http://dev.mysql.com/doc/refman/5.6/en/converting-tables-to-innodb.html
Also the /stats command is used by mcmmo so when I enter it I get their stuff. Is there a way to change the command of either?
The fluid stats web interface seems to think my server is offline. I have entered all the right details and the plugin I have on my Wordpress website can see my site online just fine.
Anyone got any suggestions?
http://www.kaizen-worlds.net/ http://kaizen-worlds.net/stats/
@Lolmewn
I tried that, I ended up having to restore a backup. That worked for a few days, not its corrupted my players table, this is much worse.
I cant have to keep restoring backups.
You should move to spigot
@Crux22
Please open a ticket. I do not provide support through comments.
@Lolmewn
I updated to the latest build, now i keep getting this warning:
https://gist.github.com/anonymous/2a7896a5e193cc66f073
And this error: https://gist.github.com/anonymous/9d01dca41be9693732d0
Any fix?
@Crux22
I think querying was disabled in the latest build due to the API he was using being down. You can hardcode it to something else, of course ^^
@GodsDead
Try this, this worked for me: http://networking.ringofsaturn.com/SQL/mysql-table-repair.php
Stats has decided to crash my burn my block table, any ideas on the best way to fix this? I ran a repair in phpmyadmin, but it only crashed again.
java.sql.SQLException: Table './username_stats/Stats_block' is marked as crashed and last (automatic?) repair failed at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) [craftbukkit.jar:git-Spigot-44c59bf-1880a9c] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) [craftbukkit.jar:git-Spigot-44c59bf-1880a9c] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) [craftbukkit.jar:git-Spigot-44c59bf-1880a9c] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) [craftbukkit.jar:git-Spigot-44c59bf-1880a9c] at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) [craftbukkit.jar:git-Spigot-44c59bf-1880a9c] at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626) [craftbukkit.jar:git-Spigot-44c59bf-1880a9c] at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111) [craftbukkit.jar:git-Spigot-44c59bf-1880a9c] at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2273) [craftbukkit.jar:git-Spigot-44c59bf-1880a9c] at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93) [Stats.jar:?] at nl.lolmewn.stats.api.mysql.StatsTable.loadStats(StatsTable.java:386) [Stats.jar:?] at nl.lolmewn.stats.player.UUIDPlayerManager$1.run(UUIDPlayerManager.java:159) [Stats.jar:?] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) [craftbukkit.jar:git-Spigot-44c59bf-1880a9c] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [craftbukkit.jar:git-Spigot-44c59bf-1880a9c] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [?:1.7.0_03] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [?:1.7.0_03] at java.lang.Thread.run(Thread.java:722) [?:1.7.0_03]
using Fluid MC Stats and for the life of me cannot get the server status to say anything other than OFFLINE. all the stats work. is it not compatible with BungeeCord??
my server is listening on both 25577 and 25565 i've enabled query for both 25577 and 25565 im using my actual IP address (instead of dns) to avoid any conflicts for now still no luck.
any way i try it my server shows up using Dinnerbones status checker, but not within Fluid MC Stats i get nothing =\ also works fine with http://query.rightawake.com/ which should be based of the same query
@EmpowerGaming
Stats works for all versions that have UUID support.
@Lolmewn
I still see the update from June 4th. Where is the newest one for 1.8.7?
@banansnegl
Should be fixed in one of the latest dev-builds.
Hey i'm getting this error, how do i fix it? https://gist.github.com/anonymous/115a00f039f97b39863b
@DjSmeXhy
fyi; I already posted Stats on there. What's with the caps + bold though, jeez
MOVE ON SPIGOT DUDE!
Getting this error:
http://pastebin.com/0Z8Hz9JW
Using dev build #351
@davewolax
No idea, sorry :c
@Ti0n3b
Yep, the documentation sucks right now. Planning on updating it but gotta get through uni first.
java.lang.Thread.run(Thread.java:745) [?:1.7.0_79]
this error during the auto config and other issues with SQL and unclear installation instructions is what turned me away from this server ultimately. This plugin is an excellent concept and I would love to have it, but it just seems at this point getting it to work just isn't worth the amount of work required to dig through all the errors and unclear tutorial instructions and the total lack of web-based instruction...