[INACTIVE][INFO] Statistician V1.3 - Extremely Detailed Player/Server Stats Tracking [953]

Discussion in 'Inactive/Unsupported Plugins' started by ChaseHQ, Jun 23, 2011.

  1. Offline



    Extremely Detailed Player/Server Statistic Tracking With Web Portal [935]:
    Version(JAR): v1.3
    Version(WEB): v1.3.1

    Permissions Now Supported! Statistician 1.2.3 And Higher!
    Read below for Node usage!

    This is the first major release of the plugin Statistician. It tracks many many detailed player and server statistics. Too many to list.

    Take a look at our server stat portal http://sandbox.nasboces.org/mc/statistician
    Drill Down into the data, Look at individual Player Pages, Clicking on anyone's name will bring you there.
    If you want to test it out, log on in to our server at sandbox.nasboces.org:8850
    Our database updates every 2 minutes. PLEASE READ THE INSTALLATION INSTRUCTIONS

    • Tracks Many Player/Server statistics
    • Too many to list, Please visit the portal for full demonstration of what's tracked
    • Skinviewer on player page!
    Download the Most Current Plugin AND Web Portal Here (RAR)

    GitHub Source For JAR Plugin
    GitHub Source For Web Portal

    Required To Use:
    • MySQL Ver 5 or Higher for tracking stats
    • Web server with PHP extensions installed if you want to use bundled web portal
    Installation Instructions (open)

    • Drop JAR file into plugin directory
    • Run Bukkit once, it will make a config folder
    • Create MySQL Database
    • Create a User for that Database and grant it a ALL Privliges on that database
    • Edit the config file with your database settings
    • Start bukkit up again, it should connect and auto create the database
    • FOR WEB PORTAL ---
    • Drop the web portal folder into a web served folder
    • PHP Must be installed on web server
    • Open the config.php file in the Statistician folder
    • Edit the database connection settings
    • There is also a table in the Database called 'config' with some settings that are self explanatory

    Permissions Nodes (open)

    • Statistician.ignore - Ignores stats for given player/group
    • Statistician.ignoreOverride - Overrides the ignore node to force stat for player/group

    Future Plans (open)

    • Many, Leave me messages here if you want to help with input
    • API Documentation!

    API (open)

    • API is included, I am writing up documents on how to use. Both the JAR plugin API
    • As well as the server portal PHP API
    • I Encourage you to make better custom Web Portals, and Edit my Portal Source

    Most Recent Change (JAR)

    Version 1.3
    • Supports Bukkit b953
    • Added new data types for 1.7.2!
    Changelog JAR (open)

    Version 1.2.3
    • Added tracking of most users ever online and time of that occurrence
    • Added Permissions Support
    • Added permissions node 'Statistician.ignore' to ignore stats for user/group
    • Added permission node 'Statistician.ignoreOverride' so user/group with '*' permission defaultly override ignore
    Version 1.2.2

    • Fixed handling of TNT and Explosions
    • Fixed handling of Slimes
    Version 1.2.1

    • Fixed Air blocks being recorded as placed
    • Fixed Seconds and Distance Logging
    Version 1.2

    • Built for CraftBukkit b935
    • Updated To Database Version 2
      • Adjusted tables that had possibility of rolling over to Unsigned Bigint's
      • Added a pluginStartup and pluginShutdown stored procedure
      • Added server table, records server startup time and server shutdown times - New Trackable Stat
      • Fixed phantom online players from being recorded as online in Database now will correctly show who is online and who is not
    Version 1.1.1

    • Suppressed warnings about recording data when user was not yet fully logged in.
    Version 1.1

    • Fixed wrong number of items being recorded for items picked up.
    • Fixed multiworld distances being recorded wrong
    • Web Portal Updated to 1.1 Fixed Most Item Dropped, Dropped Number not being shown and Next arrow being shown on kills page when there was no new next page.
    Version 1.0

    • Initial Release

    Most Recent Change (WEB)
    Version 1.3.1
    • Localization fixes (all work now) en, de, & ko.
    Version 1.3
    • Multilingual Localization system!
    • Added DB_PORT config option in Statistician/config.php
    • Added LOCALE config option in Statistician/config.php
      • Thanks a ton for all who helped create locale files
      • current options are 'en' for english (default), 'de' for german, 'ko' for korean
      • Help is needed creating more locale files, look in the Statistician/locale directory for the locale files, translate one and submit it please :)
    • Added USE_MEGAMETERS to config option in Statistician/config.php (true by default) turning this to false only uses kilometers
    • Added USE_SKINVIEWER to config option in Statistician/config.php (false by default) still in development but feel free to use it, When turned to true here is what a player page will look like
    Changelog WEB (open)

    Version 1.2.3
    • Added Maximum amount of players ever on at one time to Server Page
    • Added Time of occurence of Maximum amount of players ever on at one time to Server Page
    • Fixed Total deaths from showing 1 when actually was 0 on server page
    • Fixed Most dangerous weapon as appearing as None
      • API Adds/Changes:
      • Added SERVER::getMaxPlayersEverOnline()
      • Added SERVER::getMaxPlayersEverOnlineTimeWhenOccured()
      • Changed SERVER::getMostDangerousWeapon() - No longer will return None as viable weapon
      • Changed PLAYER::getMostDangerousWeapon() - No longer will return None as viable weapon
    Version 1.2.2

    • Added Explosion stats to server Page and player Page
    • Fixed player page from not displaying Suffocation Correctly
    • Fixed Block Kills from being considered a PVE Kill and is now Other kill with detailed reason
    • Fixed Block from being considered a dangerous PVE Creature and is now just an Other kill event
    Version 1.2.1

    • Updated to portal 1.2.1 for database version 2
    • Added server last startup
    • Added server last shutdown
    • Added server current uptime
    • Added formatting for distance
    • Fixed Suffocation deaths not showing properly on portal
    • Fixed player_list page no longer able to click next on list when you reach end of list
    • Bolded stats values
    Version 1.2

    • Fixed web portal showing 1 as kills when really 0 exited for players
    Version 1.1

    • Fixed Most Item Dropped, Dropped Number not being shown
    • Fixed Next arrow being shown on kills page when there was no new next page.
    Version 1.0

    • Initial Release

    Please Post Feedback as well as your set up portals, Would like to know the experience you all have

    Other Example Portals :
  2. Offline


  3. Offline


    I worked so much on the plugin, and the user friendly API for PHP i was hoping someone would make a better looking portal. But who knows maybe I will focus on that for next update. From what I see though, there is no other plugin out there right now that tracks all these stats, so detailed. They all get logged to a MySQL server so literally with a little web knowledge can use the PHP Classes I distribute with it to make there own custom portal.
  4. Offline


    2011-06-23 21:03:29 [INFO] KeX3 [/w.x.y.z:57541] logged in with entity id 981964 at ([ world] 2772.34375, 73.0, -1354.65625)
    2011-06-23 21:03:29 [INFO] [Statistician] CALL mc_statistician.newPlayer('f00407f6-xxxx-yyyy-b1ad-fecbb7a0412e','KeX3'); :: Stored Procedure Failed, Checking Connection
    2011-06-23 21:03:29 [INFO] [Statistician] Connection is still present... It may of been a malformed Query ?

    Except that it doesn't save anything to the database it works fine ;)
    I should perhaps elaborate.
    The initial setup went fine. Tables are created and filled, stored procedures are created.
    The data is being read back properly (welcome message works), but nothing that updates data actually works.

    (And this post is a dupe from "that other place", as you seemingly registered there to post the link to this and most likely won't see the comment there)
  5. Offline


    The user you created for the DB did you grant it all privliges to create tables and stored procedures? If you didn't clear the DB grant that user all Privliges for that database and try again.
  6. Offline


    Indeed I did they were created and happy (since they're currently there). But I can wipe it and see what happens.. :)

    22:03:40 [INFO] [Statistician] Version 1.0 By ChaseHQ Starting Up...
    22:03:40 [INFO] [Statistician] Could Not find a Database Version, Creating one from scratch.
    22:03:40 [INFO] [Statistician] Patching Database To Version 1.
    22:03:40 [INFO] [Statistician] Database Patch Complete. DBVersion: 1
    22:03:40 [INFO] Done (0.349s)! For help, type "help" or "?"
    22:04:08 [INFO] KeX3 [/w.x.y.z:61813] logged in with entity id 125 at ([ world] 2772.03125, 73.0, -1352.4375)
    22:04:08 [INFO] [Statistician] CALL mc_statistician.newPlayer('f00407f6-yyyy-xxxx-b1ad-fecbb7a0412e','KeX3'); :: Stored Procedure Failed, Checking Connection
    22:04:08 [INFO] [Statistician] Connection is still present... It may of been a malformed Query ?

    Just like last time, all tables are created and filled and all stored procedures are created fine.
  7. Offline


    Yea try wiping and let it re-create. Just make sure that user has the rights to the stored procedure and it should work just dandy.

    I just did a fresh install, seemed to work. What version of MySQL are you running?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  8. Offline



    But actually this seems to be something completely unrelated that I have never seen before, namely

    Freaky.. :p


    Yep, increasing thread_stack did the trick. Nothing to see here people!
  9. Offline


    Take a look at this
    could this be related?
    May wanna look at your my.cnf
    That seems to be the exact same problem your having

    lol well im glad to know its working! You got me nervous it was something I overlooked. :)
    Let me know what you think ;)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  10. Offline


    Seems nice, but I think there is a counting error somewhere in the plugin..

    Took it for a (veeeery brief) test run, destroyed 7 dirt blocks in a snow biome. Stats say I've traveled 32 meters (which seems okay), that I have destroyed 7 blocks (also okay), but that I have picked up 5405 dirt blocks and 116 snowballs (which slightly less correct). It does however count drops correctly (64+4 dropped dirt blocks == 68 blocks, which is accounted for).
  11. Offline


    Hmm, ill take a look into it, havent had any inconsistencies with it yet, but ill check for that. :) thanks ill let you know if i find an issue and issue a fix for it.
  12. Offline


    I can easily replicate it by running around dropped items with a full inventory, therefore not actually picking anything up. (danced around 3 snowballs, 7k+ pickups registered). That might help :)
  13. Offline


    Looking into the issue right now, great catch thx :)

    Fixed it, download new one, Version 1.1
    Fixed that and a multiworld distance issue I found
    Let me know if that fixes your issue!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  14. Offline


    Nope.. Still logging pickups with a full inventory. This could of course be a compatibility issue with another plugin, so it might be someone elses fault completely :p
  15. Offline


    It must be, hmm item pickup events aren't even fired on a full inventory.

    It was a problem with bukkit. The stat now records correctly.
    Fixed in #924 Fixed - PlayerPickupItem event firing even if the player could not pick up the item
    When you update bukkit to latest build it will fix it.

    Well they ended up fixing one thing but breaking another. I reported the bug, the event always returns 0 for the number of items picked up in the event. http://leaky.bukkit.org/issues/963 that stat will be corrected and fix when bukkit gets it fixed.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  16. Offline


    I like it, but stats are a bit hard to read in my opinion. Bolding may work wonders on it. Possible background change?
  17. Offline


    I like the idea, working on a web update now
  18. Offline


  19. Offline


  20. Offline


    MrDoy likes this.
  21. Offline



    is it possible to build statistics for each user individually?

    Greetings from Germany
  22. Offline


    Hello Robert from Germany,

    Statistician already does that, take a look at the running portal in my original post. You can click on the players name where ever you see it (online, on the kill chart, or just by going to the View all Player list page) and it will give you the players individual statistics. For instance here is a link to mine from that page Click Here from that you can see all of my kills/deaths in my own personal kill chart as well as block placement and item drops/pickups. Here is my own personal kill list. Click Here Red is death, green is kill
  23. Offline



    Many many thanks, I think I was blind -.-.
    Your plugin is really madness, exactly what I was looking for.

  24. Offline


    Thank you much :) Comments like this keep me developing :)
  25. Offline


    Please fix the download link. Looks very nice! I will probably use this in future.
  26. Offline


    Awesome, what's wrong with the link?
  27. Offline


    Woah! It didn't work just a minute ago. There was 404 page, with some ad frame.
  28. Offline


    Glad all is working :)
  29. Offline


    Please add custom messages for Multi-Language support
  30. Offline


    Messages are custom, Look in the config table in the database. Need to write up some documentation. In the config table you can change those messages.

Share This Page