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
-
View User Profile
-
Send Message
Posted Jan 13, 2014@Lolmewn
Sweet my data is back to normal. Tho is this intentional or a converter bug?
-
View User Profile
-
Send Message
Posted Jan 13, 2014@WhosHenry
Unfortunately you cannot right now (or at least, with either beta functions or 1.38 you can't).
@NizeHD
I don't think it matters much. The new web-end will come out "soon", as in the design is mostly done but the php behind it isn't (Check out dat sexy design over at http://lolmewn.nl/mcstats/ )
@PainKNero
Glad to hear :)
-
View User Profile
-
Send Message
Posted Jan 13, 2014ok, that missing column error is fixed by the 1.38->1.37 hotfix, no error occurs now
-
View User Profile
-
Send Message
Posted Jan 13, 2014@Lolmewn
Thanks for your reply. Can you tell us when the new web end is coming? Also which version of the web end would you recommend until the new version is out? The one from your files list here http://dev.bukkit.org/bukkit-plugins/lolmewnstats/files/ or from the forum thread here http://forums.bukkit.org/threads/webstatsx.123730/ ?
Greetz
-
View User Profile
-
Send Message
Posted Jan 13, 2014How can I disable per-world statistics?
-
View User Profile
-
Send Message
Posted Jan 13, 2014@Shooty_
Try 'Move' - case sensitive!
@NizeHD
A new web-end is underway, that file you have there is actually 1.37 so it doesn't break the web-end.
@spyfly123456
No problem ^^
-
View User Profile
-
Send Message
Posted Jan 13, 2014@spyfly123456
Ok, it was the update. I downloaded your fix and now is everything fine. Thanks lolmewn.
-
View User Profile
-
Send Message
Posted Jan 13, 2014@Lolmewn
My WebStatsX Webend stopped working yesterday. I didn't modified anything. See yourshelf: WebStatsX.
Why did it stopped working?
spyfly123456
-
View User Profile
-
Send Message
Posted Jan 13, 2014Ok with this thing here Link removed is there a new version of the web-end coming? Because it says "v1.38 BREAKS WebStatsX WEB-END"
Greetz
-
View User Profile
-
Send Message
Posted Jan 13, 2014@Lolmewn
Ok thanks with the new version it seems to be okay :)
Anyway i'v put 'MOVE' in disabledStats, but on timings report it still look like the plugin use PlayerMoveEvent which is kind of annoying cause i'm trying to optimize my server :) thanks !
-
View User Profile
-
Send Message
Posted Jan 13, 2014@Lolmewn
You didnt answer me =_= :
I have an error : java.sql.SQLException: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED. :( ?
-
View User Profile
-
Send Message
Posted Jan 13, 2014New version is awaiting approval. This contain the same file as 1.37, but undoes the database conversion that is included in Stats v1.38. This is exactly 1.37 except for the extra code converting it back, as well as a fix in the Updater to not download 1.38 again (it actually checks version titles now).
Please note though: A 'world' column was added to your tables when upgrading to 1.38. To prevent data from being lost I advise you to enable beta functions in your config. These have been tested properly and should work with no issues. All it does is enable per-world statistics, really. Do note though: if you enable beta functions, check your snapshots settings too! By default (if I recall correctly), these are true, although this might not be what you want. For an explanation on what Snapshots are, check the projects' description.
-
View User Profile
-
Send Message
Posted Jan 13, 2014@TNTUP
Working on it now
@KelvinKam
Working on a fix now.
@Mickeyy42
It's underway right now, see http://twitch.tv/lolmewn/ for updates and @Lolmewn on Twitter for final release of the fix.
@xS1mple
Fixing.
@GodsDead
Probably, yes.
-
View User Profile
-
Send Message
Posted Jan 13, 2014Going to make a temp-fix now, will be streaming at http://www.twitch.tv/lolmewn if anyone is interested.
-
View User Profile
-
Send Message
Posted Jan 13, 2014So was my error related to this recently found problem?
-
View User Profile
-
Send Message
Posted Jan 12, 2014Any idea for my error :
I have an error : java.sql.SQLException: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED. :( ?
-
View User Profile
-
Send Message
Posted Jan 12, 2014Getting this error on any kills. 1.38-DEV
[18:27:53 ERROR]: null java.sql.SQLException: Parameter index out of range (4 > number of parameters, which is 3). at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at com.mysql.jdbc.PreparedStatement.checkBounds(PreparedStatement.java:3709) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3693) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at com.mysql.jdbc.PreparedStatement.setInternal(PreparedStatement.java:3735) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at com.mysql.jdbc.PreparedStatement.setDouble(PreparedStatement.java:3641) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.apache.commons.dbcp.DelegatingPreparedStatement.setDouble(DelegatingPreparedStatement.java:126) [Stats.jar:?] at nl.lolmewn.stats.saver.KillSaver.save(KillSaver.java:66) [Stats.jar:?] at nl.lolmewn.stats.Main.updateStatsInDatabase(Main.java:653) [Stats.jar:?] at nl.lolmewn.stats.Main.runTableUpdates(Main.java:617) [Stats.jar:?] at nl.lolmewn.stats.Main.access$300(Main.java:47) [Stats.jar:?] at nl.lolmewn.stats.Main$7.run(Main.java:1040) [Stats.jar:?] at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run(CraftTask.java:53) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.7.0_05] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.7.0_05] at java.lang.Thread.run(Unknown Source) [?:1.7.0_05]
-
View User Profile
-
Send Message
Posted Jan 12, 2014Hello,
How can I be notified for a fix release about missing "player" clause in database ?
Like others, this fix will be very important.
Good luck !
-
View User Profile
-
Send Message
Posted Jan 12, 2014@KelvinKam
https://forums.bukkit.org/threads/webstatsx.123730
-
View User Profile
-
Send Message
Posted Jan 12, 2014It spam my console http://pastebin.com/mDYMuq8z