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.
Hello :)
I'd like to ask if swatchdog supports pex? :P Im trying to give /sniff command to my mods, but only OP's can use it. I think thats not pex fault cause i have checked whole file with yaml parser. Also, im using permissions compat(pex 'addon') so it should work without any problems :(
@Dudescast
That is a fairly good question. I have not tested it, but I am quessing that it will not record those correctly. (I am quite sure it will record something, just might not be what you expect.)
I would test those, but, well, it would mess up my debug server quite good, those mods don't seem to be too easy to plug in/out.
I would appreciate it if you tested watchdog on your server real quick and shared the results here... (SWatchdog, when encountering a problem, tries to solve the problem, or disables itself. In most of the errors anyways. So testing it should be quite harmless...)
Is it possible to record only selected blocks? By fx. ID.
Also will it be able to record blocks that aren't vanilla, like redpower, buildcraft and IC2 blocks?
@re4397
What do you mean by configurable worlds? Like, turn logging on and off? Its planned. Small functions? Like, make the functions simpler? Did you try /sws l? Thats pretty simple. (Same as /sniff look, but thats just shorter alias for it...)
Sugestion: make configurable worlds to work. And if want a simple log, small functions.
@snitride
That error is being investigated and fixed, once a cause is found.
EDIT: I don't think its appleseed plugin, a few other players seem to have the same problem every once in a while. Thought I couldn't get mine to give out an error, so its a bit hard to figure exactly wahts wrong... I guess I'll just add few checks to make sure there isn't any null value ever.
Hallo i am getting following errors i am using CB#1914
greetings, Just a wild guess, is it the plugin appleseed which is causing this errors? (BlockSapling.grow)?? snitride
<<reply 532559="">>
That'd be perfect, really. Just like how LogBlock has options for logging only certain things. I'd recommend having config options to enable/disable all forms of logging, personally. Maybe you should also have separate options for allowing/disallowing water and lava, because on my other server with LogBlock, I never need to log water because it's generally very non-destructive, but I always log lava. Also, even if a person disabled logging of water/lava (If you implemented that), would it still log them breaking or changing blocks? I think that would be optimal if it did still do that when logging them is disabled, because then it's not too resource intensive and easily rolled back.
EDIT: Hm... I've been getting that error described by the user I replied to with the tree growing error. I'm guessing that it's natural tree growing, because I wasn't even using bonemeal at the time, and I planted a ton of saplings prior to going into a ravine I found while exploring. Error:
@Hoot215
True that... Maybe I should log the lava flow, but water? Water is just all kinds of messed up, making actions all the time... Maybe I'll add a config for allowing/not allowing liquid logging...
<<reply 532531="">>
Oh. I thought they were logged already. But about what you said about removing the source block and it all going away; it's not the case with lava. Lava can be really buggy in Minecraft, because unlike water, it often will not go away when the source block is removed. This is a bit of a major issue because just rolling back the source blocks will not help much at all.
@Hoot215
At the moment, in 0.96, you should only get the logs for you placing them. Them flowing is under developement, have to think of a way to make it efficiently, without filling your logs with water and lava. (Then again, if you remove the seed block, the rest of the lava/water should follow...)
<<reply 532449="">>
Awesome! But how does the water/lava recording work? I can't seem to get any logs on those. I get logs about me placing them, but no logs of them flowing.
@Jarex93100
Well, its not that hard really. All you do is /sniff. And for rollbacks well read it up where the info is there is a section called how to rollback. Farley simple plugin and i use it sometimes. I am one of the admins that works in Sanzzen's server.
@gold23
Oh, you should be, its awesome!
Here is the changelog:
Oh yeah, and the bug where supersniff doesn't print anything when you don't have an archive (you don't have more than 100k block actions) should now be fixed.
Special thanks to those who suggested new commands. Hoot215 (/sniff look) and xdeathoreox (/sniff rad)
Alright, sounds good, thanks for responding so quickly. I'm looking forward to the update!
@gold23
Well, the thing about binding tools is, it that it wastes resources in my opinion. Not much, but I don't like it.
However, I am planning on doing a real simple /sniff l(ook) command, that will let you sniff the block you are looking at. (Thanks to Hoot215 for the idea)
Maybe make a /sw alias for "sniff" so you could just type /sw l or /sniff look, which ever ya want.
This mod is really great, i use it for my server.
I have a suggestion however,
Perhaps you can bind a tool so that when you right click the block it will tell you the history? Or you can bind a tool and type a command (eg /sniff block) which will tell you the history?
Thanks, just sounds easier than typing in the coordinates every time, Jacob
@Hoot215
Oh, there is hardcoded blacklist, that makes sure fire doesn't get rolled back. (For the same reason. It would just set off the TNT again.)
Going to turn that into a config tho...
Hmm, yes, indeed TNT with redstone will get blown up if brought back... Yes, I will add that to TODO...
@re4397
Well, what is your bukkit version? I tried both naturally grown trees and bonemeal, but I just can't get an error. I tried also jumping on top of the sapling while using bonemeal, but nothing. (Well, I didn't think THAT would matter, but well, it was fun.)
So, are you using 1.1-r3, or older? (If not using the latest, errors may occur.)
@Sanzennin
I don't know, sorry.