Netstats
Netstats is a plugin that watches each player's activities and saves it to their own stats file while running an internal server which is used by web clients to ask for player stats.
Plugin Version: v5.0.4
Web Version: v3.0 (Work In Progress)
***
Alerts ***
Updated: Feb. 10, 2012
v5.0.4 is out! Web client coming next.
Features
- Monitors player online/offline status
- Keeps track of when they were last on the server
- Tracks total time they've been online
- Tracks player's last used IP address
- Tracks number of blocks broken
- Tracks number of blocks placed
- Tracks number of times the player has died
- Tracks total distance traveled by the player
- Tracks number of monsters killed
- Tracks number of players killed
- Tracks when the player first joined the server (after Netstats was installed).
- Auto-generating/Auto-updating config
- Tracking control (you choose what you want to be tracked)
- Multi-world support
- Reload-friendly
- Supports any language that can send JSON via HTTP POST
- 100% Java standard compliant
Commands
<> = required option, [] = optional, | = or, <command> = netstats or ns
/<command> stats - Shows list of stat names
/<command> get:config <option> - Gets config value
/<command> set:config <option> <value> - Sets config value
/<command> get:stat <stat>[,stat...] | all <player> - Get one or all stats of player
Examples
/netstats get:stat broken valrix
/ns get:stat placed,broken valrix
/ns get:stat all valrix
Config File Explained
Key | Default Value | Meaning |
---|---|---|
admin | <blank> | Username of admin's character |
delay | 30 | Time in seconds until all player data is saved to disk |
port | 9999 | Port to start the Netstats server on |
ip | true | Track the player's IP Address |
broken | true | Track when a block is broken |
placed | true | Track when a block is placed |
deaths | true | Track when a player dies |
mobs | true | Track when a player kills a mob |
players | true | Track when a player kills another player |
distance | true | Track distance a player travels |
Author's Notes/Warnings
- Don't use plugins that allow you to "roll back" any changes to the server. This will mess up all your stats!
Resources
Planned Plugin Updates
- Multi-language support
Planned Web Updates
- Re-write to work with new system
- Personal stat pages
Plugin Changelog
Version 5.0.4
- Improved memory usage by removing more repeated strings and numbers
- Fix a typo in the JSON builder
- Fixed/improved command handling
- Improved documentation
Web Changelog
Version 2.1
- Some code cleanup and fixes as well as a better auto-updater that makes sure that the updater is the latest version before doing the actual update process.
- Localization support for 7 different languages.
- File name changes to be more Netstats-specific which will prevent clashes of CSS and other pages.
- Better include() and require() calls so a page is only added once which speeds up all the pages and keeps them from destroying each other.
@Valrix
I personally don't want everyone on my server have access to the commands...
You don't have to support all the permission systems, just Bukkit's as the other systems, if made properly, hook into Bukkit's.
All you would need is this for the commands:
If you don't feel like make it a must, perhaps have it in the config to use permissions? Or, if still not, could I get your source so I can add this for my server?
Thanks.
Video installation? :D Would be interested in using your plugin. Just dont know how to set it up/use it
@SyPi
I thought about that, but then I'd had to support all the different permission systems, and for once I'd like a plugin that didn't use any permissions, it just did its job. Also, it seems like an odd thing to only track certain users, don't you think? The plugin is meant to track what happens on the server, in every world, for every player. If you wanted to customize whose stats were seen, then you can do so when I'm done with the client, or you can make one yourself once I release the finished API.
It would be great, if only for certain permissions groups stats files are created.
I'm also trying out the repo made by BukkitDev to see if it can build things right, if so then doing releases will be a bit easier.
@Pythros
Still has to be verified. But it's uploaded. The plugin verification thing is kind of a pain.
@Valrix
Oh wait... Essentials does't store that information. My bad. I was thinking it's "lastlogin" was first joined xD
I see the changelog for 5.0.1, but no download link for it?
@Pythros
All starts are stored in key=value pairs, so if you have an earlier timestamp than the one created by Netstats AND it's in nanoTime() format, then just paste it in where the key is "joindate". If it's not in nanoTime() though, then it'll cause problems.
@Valrix
Is there any way by chance we can import that information from Essentials?
@Pythros
It does indeed. It makes a timestamp of the time they joined which can be later converted into the actual date and time. Once I have a working client, I'll post more about it.
Unless I missed the note, does this track when the player first joined the server?
I'm releasing a patch pretty soon. Found some malformed JSON being output. This will fix that.
@Valrix
ah ok. thx.
@SyPi
http://dev.bukkit.org/server-mods/netstats/pages/ and added to main page.
Changelog?
@chlitto
I would have to disagree, I just finished v5 and it works with the newest RB as well as using the new event system and much, much more.
for the people who asked about this project months ago it is dead...
Project is NOT dead, I assure you. I've actually been working on v5 a lot lately and will probably be releasing it tomorrow after a bit more testing and fine-tuning.
@LordChaos2
I still have it running on my 1.0 server. So v4.3 works. I have no idea where you can DL it.
Has this project died? I loved it back when it worked, I don't want to see it die out. :(