MCStats / Plugin Metrics (R7) - Easy & advanced Plugin Statistics

Discussion in 'Resources' started by Hidendra, May 25, 2012.

Thread Status:
Not open for further replies.
  1. Offline

    Hidendra

    Good point.. parseInt would throw an exception and the server would just skip it and process the next plotter after that. I may just change everything to longs -- but I'm not sure of a situation where someone's custom data would be larger than 2^31-1? Though it never hurts to have it just incase ;)
     
  2. Offline

    obnoxint

    This would be wonderful news.
    Thanks.
     
  3. Offline

    SoThatsIt

    does this automatically create the graph for players and servers or do i have to do something?
     
  4. Offline

    greatman

    Global stats, Version Graph and Server Location are the default graphs.
     
  5. Offline

    hawkfalcon

    Something tells me that this isnt right:
    [​IMG]
    where's the US?
    EDIT: Back to normal now... Not sure what happened.
     
  6. Offline

    ZachBora

    You're lucky, I have 11% of unknown, which is the 2nd highest after USA. >.>
     
  7. Offline

    hawkfalcon

    ??? Buggy much?
     
  8. Offline

    Hidendra

    My GeoIP library (free version of maxmind) is just not all that accurate I guess ;) Since I don't store IPs themselves it'd be difficult to pinpoint issues and see if it can be fixed. I'll add it to my list

    Oh and also, about your country graph, re : US missing, that's because you loaded the page when the graphs were still generating :D

    I've seen Australia be #1 a few times so it's only natural if you load the site around :00 / :30 (for some reason it's always when I do...)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Oct 29, 2015
  9. Offline

    Scullyking

    A brilliant idea for a service and it works so well! I would love to see more popular plugins using this like iConomy and Towny!
     
  10. Offline

    Hidendra

    Indeed ;) It will be interesting to see how well it's adopted in the future especially after the official modding api is released which I hope to (and will) target.

    PS to everyone else, lots of awesome changes are going on (secretively) and I guarantee everyone will love all the new things (that I can't show you). All of this awesomeness will go down at the same time I take down the world to convert all of the graphs to a more standard format and misc other improvements (ipv6 and a transition to FreeBSD).

    As well, I've targeted some specific areas for significant performance improvements. This mainly affects viewing the website which will be a lot faster due to some "tricks" and also just good ol' fixes. These won't see the live server until I break everything else in the process (the idea is that my improvements will shadow what I broke and everyone will be happy)

    Secretive testing is going very well which will allow the above process to go very smoothly over the process of a few hours when it is actually rolled out (meaning I'm ruling out human error by scripting almost all of it)
     
  11. Offline

    Hidendra

    On Thursday, August 9 at 3 PM UTC (11 AM EDT) there will be up to 12 hours of downtime while major maintenance and migrations are performed. The list below details these in short.
    • CustomDataTimeline will now store ALL DATA. Right now data is aggregrated across 5 tables (Player|Server|Version|Country Timeline) and requires a lot of duplicate code. This data fits the “custom data” model perfectly and as such this is long overdue.
    • Debian is being replaced with FreeBSD (already done on replicated setup)
    • IPV6 will be available
    • Other misc large changes that will be noticeable after everything is back up :)
    • Reporting will be blackholed during this so that servers do not receive errors.
    • The website itself may or may not be accessible depending on when you access it. Even if the website is down, reporting servers will still be ok (and not throw any errors)

    Almost the entire migration (anything database wise) is entirely scripted, it just requires time. This rules most of the errors out already so I do not foresee any large issues.

    After everything is complete, you’ll notice quite a few changes. If you notice anything out of place or wrong please do let me know .. :)

    Thank you
     
    hawkfalcon, obnoxint and ZachBora like this.
  12. Offline

    Malikk

    I cannot for the life of me figure out how to change a graph's type to a pie chart. I've searched around, checked the github, checked it's Wiki, and I can't find anything helpful.

    Can anybody kick me in the right direction?
     
  13. Offline

    Hidendra

    Is it a custom graph? If you have access to the plugin, it's in mcstats.org/admin/, for example:

    [​IMG]

    Changes will take effect immediately
     
  14. Offline

    Malikk

    yes, custom graph. Can you not just change it through the imported class?

    EDIT: I suppose I should just get admin access to my plugins like a normal person, lol
     
  15. Offline

    Hidendra

    No it needs to be done through the web panel. The class you import is meant to be a one time thing, it doesn't dictate any settings.

    I've added EpicGlass and MobCatcher to your account, take a look now ;)
     
  16. Offline

    Malikk

    Oh thanks :) I actually need one more tho, It's called Shield. It's unreleased, only ever been on 1 server.

    Keep up the awesome work!
     
  17. Offline

    Hidendra

    ok that one is done too ;)

    Thanks!
     
  18. Offline

    Jacob Marshall

    I dont really know if I should be posting here, but I would like to be able to have my account linked with my plugin, am I able to do so?

    Well, I know its possible, but how do I?

    Thanks in advance, and wonderful job!
     
  19. Offline

    Hidendra

    What is your username on the site? if you haven't registered (I'm not seeing anything beginning with Jac so unless you registered with something else) - http://mcstats.org/admin/

    after the maintenance Thurs there will be a slightly more obvious and automated way to get access to plugins

    Thank you
     
  20. Offline

    Jacob Marshall

    My Username is MelooonFace, and my Plugin is MelooonCensor, sorry about not registering with my real name, but its a username I like to use sometimes :p
     
  21. Offline

    Hidendra

    no worries, i've added it now
     
  22. Offline

    Jacob Marshall

    Thanks man, amazing job :)
     
  23. Offline

    Hidendra

    Just a reminder that there will be maintenace tomorrow, starting at 3:00 PM UTC (11 AM EDT)

    Previously, the estimate for this maintenace was 12 hours and the actual time for this was estimated to take around 6 hours. After further testing and additions to what is being done, this actual estimate is now in the range of just over 12 hours(!), so the maintenance may last up to 16 hours. One script in particular is taking around 4 hours, while others can take at least an hour. Once everything is done only final testing needs to be done so it should not take long after the scripts finish.

    A list of tasks that is going to be done can be found in this google doc

    A full list of what is going to change will be posted immediately after this is completed. There have been over 70 unpushed commits in the past week or so so I'm sure everyone will enjoy it.

    Thank you
     
    TopGear93 likes this.
  24. Offline

    Hidendra

    As scheduled the maintenace has now started. Reporting is now blackholed and graphs will not be generating for the next 12 hours. In the next 20-30 minutes there will be up to 5 minutes where the entire website will be unavailable, this will cause servers to report errors during this time because the IP address will temporarily not route.

    Thank you, see you guys on the other side ..

    Everything is now complete and live.

    Below you will find a general changelog for most of the things that have changed since you were last able to visit the website. What isn’t listed here you will very quickly see on the website itself ;)

    Also, please note that the version that goes in your plugin is still exactly the same. All changes made here are internally on my end and require no updates!

    Misc
    • A script has been created to remove all of the graphs that should not be in plugins, e.g those from Singapore. Since it was only malformed bytes it is fairly easy to go over each graph and verify if each one actually has data or not. This means you should no longer be seeing weird graphs for your plugin.

    Backend
    • reset() behaviour has been fixed so that it properly tells the client that it is the first update it sent in the current graphing period.
    • Server softwares (such as CraftBukkit, Spigot) are now tracked for servers along with the current minecraft version (such as 1.2.5 or 1.3.1). This also adds appropriate graphs for both of these.
    • Graph generation is now more seamless in 2 ways: 1. Data is generated in a second temporary scratch table, and then copied into the main table after all data is generated. This is done so generated data isn’t seen as it’s generating (most important for pie graphs which make them look weird, e.g server locations); 2. Before, all plugins were checked for data to graph. Graphed data is only data from the last 30 minutes so this has been changed to only attempt to generate data for plugins that had any servers in the last 24 hours. Generation time is significantly improved by the latter and website speed while generating is improved by the former.

    Shiny New Graphs for Everyone
    • Minecraft Version - a Pie chart showing which version of minecraft is being used across all servers
    • Server Software - another Pie chart which shows the distribution of server softwares being used (for example CraftBukkit, Spout, Spigot, eventually the official Mojang Workbench…)

    Frontend (signatures)
    • A textless version of the signature image has been added. This is suitable for pages where you want a static graph with only the graph and axis; no plugin name or anything else is displayed on it.
    • A small url has been added to the signature (mcstats.org)

    Frontend (website)
    • Everything has been changed in one way or another.
    • Improved accessibility and response times on all pages.
    • The website is now more polished and not quickly thrown together (but still the same general feel)
    • Info pages have been added for plugin authors and server owners [1]
    • Plugin listing is now paginated, 30 plugins per page
    • Plugin pages now have the date they were added to MCStats / Plugin Metrics
    • A progress bar is now shown while graphs are being generated and is updated automatically without the need to refresh the page

    Frontend (admin panel)
    • The appearance of the admin UI has been refinished and given a more polished feel. Accessing plugins has been moved to the menubar.
    • Adding plugins to your account is now as easy as filling out a simple form after you’ve added it to MCStats. This is also more automated on the approval end so should be a lot less painless and quicker. If an email is entered it will email you upon approval / rejection.
    • All graphs (including glob. stats, server locations, version trends, and other non custom ones) are now accessible. The non-Custom cannot be edited but you can see them ;)
    • Graphs can now be ordered. General graph ordering is enforced and all manually created custom graphs must be between the Global Statistics and Minecraft Version graph. You can, however, reorder the custom graphs you made in any way you see fit. The reason this ordering is enforced is to keep uniformity between plugin pages so that they share at least some similarity.

    MCStats / Plugin Metrics has been publicly available for 7 months (+4 days) now and it has been a bit of a bumpy ride most of the way here. Here’s to the next 7 (hopefully problem-free) months!

    [​IMG]

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Oct 29, 2015
  25. Offline

    sirrus86

    First of all, I love this idea! Thanks for creating this!

    Second, I planned on adding my plugin to the backend, but to my surprise I found it already in there, with August 8th being the date it was added. Since I just added the Metrics.class to my plugin today, how'd that happen? Or is this just an error I can ignore?

    Third, I want to use the Admin Panel on your site to manage it. I've already created an account, but when I go to add the plugin there's a red X next to where I put the plugin name, and this X doesn't go away. The submit button is also grayed out. Am I doing something wrong? My plugin is called "S86 Powers", I already have a BukkitDev page I'd like to link to it too.

    Thank you very much for your assistance, I look forward to hearing from you!
     
  26. Offline

    Hidendra

    Possibly someone added it for something to do? I have no idea but the plugin has to send at least once for it to show up. Since there's no data and only 1 server (presumably yours) it could be a glitch but I'll write it down so I remember to take a peek

    How are you typing your plugin name? Try going nice and slow (not 120 wpm fast, maybe half that) but every time I tried typing in "s86 powers" it worked for me:

    [​IMG]

    It'll turn green when it confirms the plugin does indeed exist
     
  27. Offline

    Roervig2473

    Hmmmm Looks nice, Might use it
     
  28. Offline

    sirrus86

    Ah I got it, for some reason the site is handled completely differently in Internet Explorer than it is with Google Chrome. It worked perfectly when I tried it using Chrome.

    Thank you for your help!
     
  29. Offline

    Hidendra

    In the past few days there have been some exciting changes and new features.
     
    hawkfalcon likes this.
  30. Offline

    TruDan

    Hello, Sorry if i have missed something completely obvious. But i cant find anything about adding this to my plugins? The wiki isnt up on github. Do i literally just copy and paste the class into my plugin? because surely it would need listeners etc? :confused: or something to trigger it. If someone could let me know how to add this to my plugins that would be great.

    Thanks.
     
Thread Status:
Not open for further replies.

Share This Page