Improved memory usage by removing more repeated strings and numbers
Fix a typo in the JSON builder
Fixed/improved command handling
Improved documentation
Version 5.0.3
Brings Netstats back to Java standard compliance.
Make JSON string easier to deserialize by the client.
Uses JSON simple class to handle serialization of data.
Improve memory usage by turning repetitive strings into constants.
Heavily reduce cyclomatic complexity to improve performance.
Force server to not cache requests. Guarantees fresh data every request.
Version 5.0.2
Fix an NPE when using /reload and players are logged into the server.
Limit the API due to possible security exploits. Now only fetches stats.
Break the block place/break class into separate classes. This allows for less RAM usage when not tracking one or the other.
Changed install process back to original method. No more "installed=" in config.txt!
More cleanup during onDisable().
Re-written client request handling and JSON-ifying of response.
Allows client to specify which world(s) they want stats from.
No longer need to ask for which stats are being tracked, server automatically sends only stats it's been told to track.
Move the distance tracking listener to its own class.
Version 5.0.1
Fixes malformed JSON
Fixed some improperly-named variables to match standards
Version 5.0
Uses new event system
100% compliant with Java standards (meaning it's fast and efficient)
Fixes many bugs in previous versions
Code to calculate total playtime has been fully re-written and is now accurate to 1 second.
Uses an HttpServer to send data to clients via POST (supports AJAX)
Added in-game commands to view player stats
Added in-game/console commands for the admin to read/change the config
Lots of customization added
Over 80% of code re-written and 40% removed completely
Reduced code from 1,554 SLOC (Source Lines of Code) to 968 SLOC between versions 4.7 and 5.0
Multi-world support
More reload-friendly
Version 4.7
Bug fixes
If you don't supply a "database" in the config it will attempt to make it's own database named "NetStats" then create the table "netstats" inside it.
Fixed repetitive code and unnecessary MySQL connections when doing multiple queries one-after-another (reduces database calls, speeds up the code, and uses less resources).
Reduced code complexity (simplified certain calls and removed hacky functions to improve code performance by around 5-10% in my tests)
Version 4.6
Fixed the bug that happened when trying to change the name of your stats table.
Fixed the bug that messed up everyone's total play time (sorry)
Code improvements and uses less code for database calls
Version 4.5
Fixed the bug where folders weren't being made.
Version 4.4
Converts the total play time to be saved as seconds instead of milliseconds to increase maximum play time. This will now match the PHP code, so if you changed it, change it back.
Now disables and re-enables itself instead of reloading the server when doing a wipe
Some code improvements
Version 4.3
No longer requires the /lib/ folder since CB already contains the needed drivers
v5 is close to being ready and will bring large speed improvements
Version 4.2
Fixes the bug that creates .stats folders instead of files.
Version 4.1
Many code improvements to improve speed and memory usage.
Thanks to @jascotty2 for the code to fix how player and mob kills are handled
Version 4.0
Many bug fixes
Changed how total play time was saved to the database
Fixed a bug with timed events
A new and improved Web update is nearly finished
Version 3.9
Should work with RB 617
Version 3.8
Fixed an issue with how files were handled.
Version 3.7
Fixes issue of logged-in users being shown as offline after a reload
Fixed file creation bug where .stat files weren't being made properly
Version 3.6
Fixed a bug where, depending on your region, your IP address was logged twice in the database. This was more of an issue with how the IP address was being grabbed than a problem with how it was stored.
Few other small fixes to prevent possible future bugs.
Version 3.5
Changed how paths are managed by the plugin to be more OS-independent, hopefully fixing all "file not found" errors.
Removed checking if a database password exists or not.
Version 3.4
Improved error logger that create a special log file with the exact info I'll need to find out what caused the problem.
Numerous bug fixes and speed tweaks
Version 3.3
Added tracking of distance traveled
Added tracking of number of monsters a player has killed
Added tracking of number of other players a player has killed
Added the date of when the player first joined the server (after this version of Netstats has been installed, will only be correct after a full wipe of other stats)
Database will auto-build if it doesn't exist, otherwise it'll add columns if they're needed (so you don't have to do anything to update your database)
Config file now auto-updates and allows for comments (they need their own line however)
Many other code improvements and fixes to help it run faster and more efficiently.
Version 3.2
Fixed the problem with saving to the database that everyone's been getting. (Only need the JAR)
Version 3.1
Changed the namespace to com.sparkedia.valrix since I did the Java bit.
Version 3.0
Rebuild of v1 to be more efficient.
Customized tracking based on "true" or "false"
What you don't want tracked won't be watched which improves performance
Timed updates (default is 90 seconds)
Fixed updating based on total actions user has done (default is 32)
Numerous performance tweaks
A "pretty" config file
Improved web script performance and added customized tracking (make it match your main config, variables are named the same for simplicity)
Web view tells when a player is still online and makes their name green if online, red if offline
Uses the "hybrid" method of player data saving like v1 to put less strain on the database
When saving to a database it is done dynamically so that only changed things are saved to cut down on the code needed and make smaller, faster calls to the database when saving (this was a big improvement on all previous versions)
Table name has been changed to "netstats" to not conflict with any other tables
NOTICE: You will need to remove your old data since it is outdated and the table is named differently with a few field name changes so make sure to use the .sql file to add it to your database. Please, before complaining about losing all the old data, realize that there's a 99% chance that it's wrong.
Version 2.0
Complete revamp!
Now uses only flatfiles to store data, no more database issues!
Lots of code removed and improved for faster speed and less resource use
Customizable timed updates (default is every 30 seconds)
Customized tracking also reduces resource use by registering (or not registering) events as per your config so it only watches events that you want it to.
Web script will search for your CraftBukkit server when you first look at the web page.
You can choose where the server will save every player's .stats file by setting the "path" option in the config. The path is relative to your main server folder (where the world folder should be at). So if you set "path=../players/" then the .stats files will be in a folder called "players" in the folder that your server is in.
Table of player data is built depending on what your tracking and will change as you change the Netstats config file, nice and easy!
There are a few rules to setting paths that are listed above, make sure to read them!
Version 1.8
Various code fixes and changes to improve how it runs.
Creates a new blank config file if it can't find one.
Only JAR has been changed. Get the newest one above, which I'll just reference from now on since it's faster than posting the same link over and over again.
Version 1.7
Changed how files are accessed which should fix the "Too many files open" bug on Linux machines. Update the [JAR]
Version 1.6
Hopefully fixed bug with connecting multiple times to a property file for each user. Only [JAR] needs updating.
Version 1.5
Fixed a critical bug where user property files (where it saved your data before moving it to the database) wasn't re-defined when the plugin was reloaded. Now it looks for it after everything you do to make sure your data is always being recorded. Only the [JAR] needs to be updated.
Version 1.4
Updated the files to work with the new constructor. You'll need only the [JAR] for this update.
Version 1.3
Fixed a bug with how the plugin saves user data after a server crash
Added an Update.sql to add new columns to database table [Web.zip] (only for those upgrading from v1.2)
Version 1.2
Added tracking of blocks broken
Added tracking of blocks placed
Added tracking of player deaths
Added more frequent tracking of total time online
Implemented new "safety" storage system
New storage system reduces number of database calls
Improved the way data is stored to database to take less code
The table of data is now ordered by who is online
Version 1.1
Added tracking of player's last used IP address
Version 1.0
Release of Netstats
Comments
To post a comment, please login or register a new account.
Comments