SWatchdog
SWatchdog is now Abandonware, how cool is that?
Version: 1.19
Tekkit version 1.13Tekkit - Optimized for Tekkit, not recording machines.
This plugin will record all the broken and placed blocks, with their subtypes, person who broke/placed them & time and date when this happened. Also options for chest access logging as well as animal slaughter logging. There is also functionality to rollback said actions, re-place broken blocks, remove placed blocks ect. Its aimed to be lightweight, since bigbrother, while good, lagged any server I could see it used on. And while there are other block-logging plugins, most of them had sides that didn't appeal to the servers (where I work) owner. Like require the admin to setup the SQL database, the plugin connects to an external database the whole time, or the plugin is way outdated. And other problems like that, so I made SWatchdog. To keep it simple and efficient. We've been using/testing SWatchdog for some time now, and it seems to be a success. No lag whatsoever.
How to reach me
If you have any questions what so ever, have any problems with SWatchdog or want to give feedback / make a suggestion, you can either:
Send me PM here. Thats the most certain way to reach me, since I'm checking my PM's here every once in a while. (Note, a PM at BukkitDev, not a convo at Bukkit.)
Or you can try to reach me at -Server not public yet- ( - or the website ) for the most immediate and clear conversation. ( 0Given that I am online. ^_^ )
Recent changes
- Full control of what you want to record. (Though I doubt anyone would want to log only decaying leaves, even that is possible.)
- Rollback specified players, or blocks, or specified blocks placed by specified players. In the specified area after specified time. Yes, you can now be just about as specific as you want.
- Added automated log-cleaning as an option
- Added a powerful tool for checking the files integrity, option to do this automatically on server restart (and plugin reload) and to repair it (automatically)
- Entering incorrect parameters for a command now automatically shows relevant help to that command.
- Added chest access -logging as an option. Its defaulted to false, so if you want it, just enable it in the config.
- Added chest access -logging results to /sniff look and /supersniff look
- Added /wutil repairintegrity to easily make sure everything is as it should be.
- Added a method to change configs ingame. Yay!
- Added the stick. As an option. You need to enable it and give yourself the perm.
- Rolling stuff back now recognizes failed rollbacks (0 blocks) and suggests what might've gone wrong. (Like giving too specific criteria for example.)
- Added animal slaughter logging
- option to preview rollback before rolling back.
- Improved /WTrack
- Optimized single block sniffing, now faster than ever.
- Optimized WXRay
- ADDED PlayerUndo /WUndoP and PlayerClean /WCleanP to easily rollback spesific players.
- Major optimization, commands run in threads now.
Please note
- Please use uptodate permission plugin. Outdated permission plugins may be unable to handle the latest bukkit permission format. So please make sure your permission plugin is updated to latest R#. If there is no update, just notify the author of the permission plugin to update.
Video Tutorials
These awesome videos came from InstitutionAwesome. Many thanks!
Config
Features
- Everything runs in threads for improved stability
- Option to preview rollbacks.
- Rollback areas on single players
- Records broken and placed blocks on the map
- Records exploded, burned and decayed blocks on the map
- Records water and lava
- Records players accessing chests
- Records endermen breaking blocks, blocks forming and spreading naturally, trees growing, ect.
- Config options for different kinds of events to log. Log what you want!
- Aims to be as light and nonlagging as possible
- Has a powerful indexing system, so it doesn't matter if you have 200 000 or 20 000 000 blocks recorded when you do rollbacks.
- Allows you to rollback ALL the actions of a specific player, with proper security clearance.
- Has automated log-cleaning, as well as manual. Both optional.
- Allows to rollback placed/broken blocks on specified area
- Allows you to rollback specified block type, placed/broken by specified player, on specified area.
- Allows to check single blocks or multiple blocks at a time
- Allows you to track activities of a specific player
- Allows you to check entries by a blocktype
- Allows you to estimate how well it is working on your server, this may also reflect lag caused by other plugins
- Allows to check % of valuable minerals mined by a person below 30Y
- Allows to check slaughtered animals.
- Records all your worlds, commands are relative to the world you are in.
- Failsafe. If SWatchdog encounters an error while running, it will attempt to fix most of the errors. If the error is severe, and it cannot fix it, it will disable it self. (If you find an error it doesn't understand, let me know. I will add it to the list)
- Option for automated log integrity check, and further option for automated log-repair, so even if you managed to blow up your database, it should be no problem.
Enabling wand
- Do /whelp 10 ingame, then follow the instructions. And yes, you can do everything from ingame.
Planned features
- Some sort of super-rollback feature to determine what an area looked like at given point in time, and then remake it
- Make WXRay better, show example locations ect
- Give an option to sort the results of sniffing to a file, so you can go through them (enterrandomamounthere) at a time.
- Add an option to notify admins when certain blocks are being placed.
- Add a thread for warning about possible xrayers
- Dragon egg teleport logging, as an option for creative servers.
- Logging only certain worlds
- WorldEdit logging. Purely as an option, disabled by default.
- Fixing few minor bugs in 1.18
- Suggestions?
Currently working on
- Option to warn when diamonds are being mined
- Option to warn when gold blocks are being mined.
Permissions & commands
Guide to time, rollbacks and some other examples
Can now be found here.
The config file
Installation
Place SWatchod.jar in plugins folder. Enjoy!
In case of a bug-attack
If you encounter a bug, unexpected behaviour or believe something is wrong, please:
- Look at console while running a command, if it fails to run it, it should report there with possibly the reason for what happened.
- Tell the contents of /plugins/swatchdog/ to me via PM or post a message below.
- Tell the latest ID from /plugins/swatchdog/util/ lastIDbroke.world and lastIDplaced.world (or the ID's for a different world, if thats where the problem occurs.)
- Describe your world, is it the default world? Whats its name?
- Post the content of config file, in the util folder
- SWatchdog version you are using, and bukkit version you are using. I have a deep interest in solving any and all bugs you might encounter, so please, just tell about them.
Known problems
- Doors do not rollback correctly. (Only the half that was broken/placed is rolled back.)
- /sniff look is not a waterproof command, so don't use it underwater.
Requirements
Please use the (craft)bukkit version mentioned in the file.
@Sanzennin
Good to know. But seriously though... please consider switching to Spout once Bukkit is dead. :)
It's much faster (than Vanilla and Bukkit) anyway.
@Hoot215
Yeah, I don't usually go to creative servers, so I wouldn't know.
Oh, fun fact:
versions 0.85 to 0.94 and version 1.02 are fine with bukkit R6,
while versions 0.95 to version 1.01 are not.
@Sanzennin
Thanks. Also, it does appear to be somewhat common. They can be very annoying as well. As far as I know, they can even teleport inside protected areas, which is a bit of a security flaw, and the main reason they should be logged. :)
@Hoot215
Oh? That sounds a bit rare, but sure, I'll add it to the TODO, thanks for the suggestion :)
About to test the new version now. Also, suggestion: dragon egg teleport logging. There is some grief with these on creative servers sometimes.
@sillyrosster
Ehh? For me, the files show like: 624+1451+990+375+280=3720 While downloads is still at 2260. I think it doesn't update that often? Or then there is something wrong at my end. O.o
@Sanzennin
Looks right to me. Add up all your files and look at the total downloads, the same =P
Hmm, I think the downloads counter is broken? v1.00 alone has gotten 1 450 downloads, v0.99 990
@EvHub Well, 1. can be done, I'll add it to the todo, 2. wasn't originally there as it requires alot of wasted resources to log chest inventory changes, though I realize I could just log when an chest is opened, which wouldn't be so bad. As for 3. using /sws l instead of a wand, really saves a bunch of resources on your server. Though I think I could make wand optional feature that you can enable in config, seen as you are the umpteenth person asking for it.
@Hoot215
Ehm, no, I was talking about client mods. But that being said, spout would most likely require me to re-write most of the code again. While the offical api is going to follow as closely as possible from where Bukkit left off.
I really like the plugin, but do have a few requests. 1. It would be really nice to be notified in real time when certain actions are done. For example: whenever somebody places tnt or fire / uses flint and steel, it sends a message to everybody with some notify permission node / is op. 2. Log chests being opened? It would help a lot with grief detection. 3. It would be nice to have some sort of configurable wand to check the logs with rather than the commands. Just some uggestions!
@Sanzennin
Just pointing out, you don't need to use Spoutcraft to use a Spout server. Also, Spoutcraft will continue to break compatibility with other mods, but it's adding its own Addon system (which will be totally awesome). But that aside, what about the morality of the issue? I know your stance on open source software, but I still believe that it would be best to switch to the Spout server simply because of its open source license (and of course the fact the the API will most likely be MUCH better, just an assumption, and that you will have full access to the source code if you need it).
EDIT: I realized that you may have been talking about "plugins" (a.k.a. Server mods), instead of actual client mods. Regardless, Spout has barely any compatibility issues with any plugins at all.
@Hoot215
Well, then again, depending on how fast they work, transferring to an offical API could be the best solution, if spout hasn't improved at that time. Spout is neat and all, but less popular because of the compatibility issues with other mods.
http://forums.bukkit.org/threads/bukkit-the-next-chapter.62489/
and also
http://www.mojang.com/2012/02/minecraft-team-strengthened/
Also, great to see you're going to switch to Spout once Bukkit's dead. I've heard it's supposed to be much more geared toward performance as well, so it would probably make this plugin even more lightweight.
Additionally, the Bukkit team isn't really "giving up", however they are basically abdoning the best current open-source Minecraft Server API for the closed-source "official" API (which they will have to do from SCRATCH, using none of Bukkit's code, because of legal issues). So basically, Bukkit will no longer be updated and become a dead project (though it will probably be forked into hundreds of new projects; the benefits of open-source software ), and instead the Bukkit team will be working on the "official" Server API.
@Hoot215
Ehh? When did bukkit announce that they'll give up?
Anyways, I'll probly start leaning towards spout api, once its better. And wider used. And doesn't ruin my favorite client mods.
@Sanzennin
So anyway, what are you going to do once Bukkit is basically dead? Switch to the Spout server maybe (I personally hope so)? Or just go with the "Official" Server API?
@JaeinL
Hehe, I'm planning a bunch of new features already. Not stopping here. :D And ofcourse, the optional features do absolutely nothing while disabled. One if-check when the plugin loads and thats it. (That means, the plugin stays light and nonlagging even when I am giving you new options. Customizability ftw)
@EpicMinecraftBuilds
Yes, I know that PEX doesn't work with SWatchdog atm, its because of PEX using the old permission system. (That plugin really needs to be updated. The last offical update he made is from R1, thats like ages ago :S )
@tappestry
Well, I did have an dev version from the author of PEX to try and see if it worked with SWatchdog better. However, it still has some bugs, I used the debug options and submitted the results to the PEX author, I hope this will help him to update his plugin. (This was a week ago, haven't heard from him in a while.)
Your plugin rocks! i love the player feature
Any news on the permissionsEX compatibility?
Quite a radical plugin if you ask me. ^_^ I used to use Log, but it didn't have any rollbacks. This plugin does. Thanks! However, I think PEX is messed up because I added the permissions to moderators and up, but it doesn't give them the permission to do stuff like /sniff. Any idea? Yeah, I should probably move this to PEX support. lol Thanks anyways!