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 Apr 22, 2012Great, powerful plugin. I've been using this for about 1 month or more now, but how do I check chests being opened? I type /sniff rad and nothing comes up about chests. It's enabled in the config. Thanks in advance :)
-
View User Profile
-
Send Message
Posted Apr 19, 2012@cydrobolt
A little bit more explanation would help. What command are you using? Are there any errors in the console?
-
View User Profile
-
Send Message
Posted Apr 19, 2012I can't rollback blocks, help
-
View User Profile
-
Send Message
Posted Apr 19, 2012@Dustinduse
Check if you have WatchBucket=true in the config.txt, and if not, set it to true. Also, you don't have to fly to max height to rollback. That is simply one way you could do it. Alternatively, you could fly under the bedrock and use a height value of around 270 or so. However, if you want to rollback the entire world, flying up to the max height and using a large negative value is probably your best bet.
Additionally, are you absolutely positive that you're checking the right block? If not, stare straight at the water source block from above, and use "/swss l". This should ensure that you are indeed looking up results for the correct location.
-
View User Profile
-
Send Message
Posted Apr 18, 2012@Hoot215
No it didnt log the water. i dont care about the flow of water. i just want to know about the placement. and you have to fly to max height to rollback?
-
View User Profile
-
Send Message
Posted Apr 18, 2012@anklesneeze
It is simply possible that nothing happened at that particular block location. Or maybe SWatchdog disabled itself due to an error, and stopped logging for that session?
-
View User Profile
-
Send Message
Posted Apr 18, 2012Sure I been investigating. In the Swatchdog folder I see multiple files (both broke.world.# and placed.world.#) for my main world but only one of each .txt file for all of the other worlds. When i look in side the other worlds i see a few entries from about 10 days ago but nothing since . Nothing happened that I'm aware of then. Also when i sniff or super sniff i get the message but no entries.
-
View User Profile
-
Send Message
Posted Apr 18, 2012@anklesneeze
Can you perhaps describe in more detail what is happening? List console errors, commands, descriptions, etc.
-
View User Profile
-
Send Message
Posted Apr 18, 2012@Hoot215
Thanks, tried that didn't work. i see the files for the other worlds but they are empty. Yes i did restart and reload lots of times.
-
View User Profile
-
Send Message
Posted Apr 16, 2012@Dustinduse
Water placement should always be logged. However, you'll need to set WatchWaterLava=true in config.txt if you want to log water flow.
Did you stand/fly at the maximum height limit while using that command? With the parameters that you used, as long as you were flying at about a height level of 260 or so, everything should have been rolled back (Although you would probably need to rollback lava flow manually, if the griefer used lava, because lava physics are weird sometimes. Also you would need to fix fire manually as well, and some other things, such as tree griefing, if they didn't use bonemeal). "/wclean" should be able to use the exact same parameters as "/wundo". Can you post the exact command that you used?
-
View User Profile
-
Send Message
Posted Apr 16, 2012Well. for starters. i cant find anything in logs about water. and i read that enabling the water thing only makes it log flow. not the placement? Also i tryed the /wundo p:bannedgreifer 2000 -300 0 0 0 0 0 and it only fixed some things that he had done. and when i tryed the /wclean command it just kept giving me the help info.
-
View User Profile
-
Send Message
Posted Apr 15, 2012@anklesneeze
Also, if you used multiverse, you most likely added the world while the server was running, right?
You propably didn't reload plugins after going to the new world...
So, while swatchdog started recording this world when actions were taken, it had not prepared a set of files for the world. So, the active files for the said world are a bit corrupted. Use /wutil repairintegrity to fix this.
-
View User Profile
-
Send Message
Posted Apr 14, 2012@anklesneeze
This plugin should work with all worlds on your server. Also, if "/sniff rad" displays no results, try "/supersniff rad" instead.
EDIT: Also check for any errors in the console.
-
View User Profile
-
Send Message
Posted Apr 14, 2012Hey I been using this plugin for a few weeks works very well. However i just added Multiverse it only seems to watch 1 world. am I missing something in the command? /sniff rad
-
View User Profile
-
Send Message
Posted Apr 14, 2012@Hoot215
There is the command /wstats that will show you how many entries are read in a second, the servers I've tested on gave around 5 million easy. Ofcourse, you need atleast 100000 entries for it to test reading. And while some SQL databases might be able to read more than 5 million entries per second, I doubt it would warm you too much if the query and the reults from a SQL database need to travel a few thousand miles in some cable before they reach your server. Unless you're one of the lucky ones that get SQL from the host. I might be adding SQL support later on.
@lolcakearoo
Umm... could you elaborate what you mean? You made a test account, where? At bukkit? What changes are not appearing? Are you sure you're in the right place? :)
-
View User Profile
-
Send Message
Posted Apr 13, 2012@Molokax
Basically, the whole point of this plugin is that it doesn't need to use a MySQL database. It actually seems to work much faster without one. According to Sanzennin, SWatchdog reads 5 million entries per second, which (though I have not actually researched this) should be much faster than a standard MySQL database.
EDIT: Not to mention that you generally need to pay for a good MySQL host, while this is free.
-
View User Profile
-
Send Message
Posted Apr 13, 2012Add MySQL support please :D
-
View User Profile
-
Send Message
Posted Apr 13, 2012Hmm, I made a test account and no changes are appearing what seems to be the problem D:
-
View User Profile
-
Send Message
Posted Apr 13, 2012This mod is the best Block Logging mod i've used. it's installed on both the servers i'm a Moderator of, and it's really handy. the rollback feature is great too. great job :D
-
View User Profile
-
Send Message
Posted Apr 12, 2012@weja93
Well, while it doesn't really affect the servers performance, I guess I could add an extra check to prevent the null.