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.
-
View User Profile
-
Send Message
Posted Aug 2, 2012@Mayhem777
Yes, absolutely! Just use /sws broken|placed radius [radius] [height] for more customized search. The /sws rad is just a serious shortcut, as I find that I usually just want to check for broken or placed records around where I stand.
@Enrux
You should enable log integrity checking on start, as well as autoRepair. Then restart your server. I think you added the worlds while server was running, which can cause a small error that prevents you from reading the specific log file. (However, the record for that world is still kept, so there is no need to be afraid that you would've lost any important logging data. The error only affects _reading_ from the logs)
-
View User Profile
-
Send Message
Posted Aug 1, 2012Can i scan a custom zone like hawkeye? (i want to replace it) like /hk here 2 (2 radious cubes)
-
View User Profile
-
Send Message
Posted Jul 31, 2012I don't know why it doesn't work properly with all worlds, this is what happens:
I got a server with in total 5 worlds: world, world_nether, world_the_end, pvpworld, freebuild_world I don't know why it doesn't work properly with all worlds, this is what happens:I don't know why it doesn't work properly with all worlds, this is what happens:
[History of ....] And below nothing appears, if it there wasn't any log however I opened the file and the log was
-
View User Profile
-
Send Message
Posted Jul 29, 2012@jack324
Hehe, I myself hardly ever use p: either. (Thats why its optional. :) ) Maybe b: with /wclean (like, obsidian).
Its usually less efford not using p: even though the result is the same.
-
View User Profile
-
Send Message
Posted Jul 28, 2012@DemonPenguin
personally, i prefer to leave out the "p:" or "b:" feilds. simply running it as: "/wundo <radius> <height> <HH> <MM>"
works perfectly. yes it rolls back ALL user action from the time specified/space specified, but if you pick the time wisely you can minimize the chances of undoing good user actions.
-
View User Profile
-
Send Message
Posted Jul 24, 2012@Sanzennin
Ah ok, I'll remember that for next time.
Thanks again for making a plugin that saved my server :D
-
View User Profile
-
Send Message
Posted Jul 24, 2012@deleted_7116233
You're first to report such a problem. So, I'll make sure block 166 wont be rolled back after the next tekkit optimization. Any tekkit user finding bugs should make a report to me, so those can be fixed to future tekkit versions. I don't have a debug server for Tekkit.
@DemonPenguin
Oh, you could've rolled back (Exploded) as the player name (with the parentheses), since it was actually the explosion causing the damage and not a player. You know, if you inspected the area with sniff, it would say (Exploded) was the "player" doing the damage. Well, glad you managed to roll it back using other methods :)
-
View User Profile
-
Send Message
Posted Jul 24, 2012Unfortunately someone decided to blow up a town on my creative server. I need to roll back that player and all the TNT he used. I can't seem to figure out how to do that. I have his exact name but the undo redo and clan commands aren't doing anything with the blocks that exploded. Could anyone help me please?
EDIT: Ok I figured out what I was doing wrong. I was using the specific player in the command, when I just needed to rollback the entire area to redo the explosions. There are still a few blocks that didn't regenerate, but its not that bad compared to what Watchdog repaired!
Watchdog to the rescue :D
-
View User Profile
-
Send Message
Posted Jul 24, 2012This looks very interest, seeing as it's optimized for Tekkit, have you stopped it from rolling back block ID 166, as BuildCraft pipes will bug out if they're rolled back giving errors in the console until found and destroyed.
-
View User Profile
-
Send Message
Posted Jul 20, 2012@xdeathoreox
Hehe, yeah. Blaming the most obvious thing in sight is only natural, but that can sometimes mislead too :)
Now, I'm hoping that its just a minor problem in your file that autorepair will fix. (If not, I gotta go bug hunting.)
-
View User Profile
-
Send Message
Posted Jul 20, 2012@Sanzennin
Oh, it just seemed like it did. I'll try what you said.
-
View User Profile
-
Send Message
Posted Jul 20, 2012@xdeathoreox
Failing to read the file has nothing to do with the worldEdit wall. (Since that doesn't exist in the logs nor does it affect them in any way.)
First, make sure that the file doesn't have integrity problems:
1) enable AutoRepair in config
2) enable IntegrityOnStart in config
3) reload
4) see if it fixed anything (in the console) (you can disable the 1),2) in this point.)
Also, if you do /sws placed radius 3 3 and /sws broken radius 3 3 instead of /sws rad, what do you get?
Also, logging wordEdit changes... is not too smart, it would increase the duration worldEdit changes take, possibly lag out some players. (Or rather, increase the probability of worldEdit changes lagging people out.)
-
View User Profile
-
Send Message
Posted Jul 20, 2012Ok, this is just a small bug it is annoying.
When there are blocks that were placed by worldedit and a player, this plugin will get confused. Here is the situation:
- - - - - - - - - - - - - - - -
- - - - [|] - - - - - - - - - -
- - - - - - - - - [|] - - - - -
- - - - - - - - - - - - - - - -
'-' is a wall made by worldedit with the //set command. '[|]' is a blocked placed by a user. If you go next to the block placed by a user, and do /sws rad you will get nothing, and in the console it says it failed to read the file. How ever, if you look at the user placed blocks and type /sws l it shows who placed it.
It's not a big bug but yeah...it's there. Also, is it possible to log worldedit changes?
-
View User Profile
-
Send Message
Posted Jul 20, 2012I just love it how bukkit mods only log in to approve their own plugin updates, then go offline leaving the rest of the community waiting. Gah.
-
View User Profile
-
Send Message
Posted Jul 17, 2012@Enrux
Thats odd, it should automatically log all your worlds. Was NormalWorld added while the server was running? (And how did you figure it doesn't get logged?)
-
View User Profile
-
Send Message
Posted Jul 16, 2012How can I make it log all my world, because I have installed it but it just logs my worlds: world world_nether world_the_end
But it doesnt log me my other world called NormalWorld
-
View User Profile
-
Send Message
Posted Jul 14, 2012@Assertive
Oh, I just updated the tekkit version. :)
-
View User Profile
-
Send Message
Posted Jul 13, 2012This looks like the solution for hawkeye inactivity
-
View User Profile
-
Send Message
Posted Jul 13, 2012@Sanzennin
Do you still recommend we run 1.05 for Tekkit? We just found this plugin and we're running it alongside LogBlock until we learn it.
-
View User Profile
-
Send Message
Posted Jul 12, 2012Released version 1.13. This new version adds an optimization that greatly speeds up certain sniffing commands. Oh, just read the changelog from the file description... :)