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 Jul 11, 2012@Hoot215
Yeah, thats still a great idea. And its still on the TODO list. :)
Even though I have never managed to get SWatchdog to even slow the server down while looking up records.
-
View User Profile
-
Send Message
Posted Jul 11, 2012@Dustinduse
You should really enable automated log pruning if your logs start to grow in size. (Though I really can't figure how you managed to get that many records. We had SWatchdog putting everything into a single file for half a year with mediumsized server without anyone even noticing. And trust me, the filesplitting system is way more efficient than that was. And the log size was hundreds of MB's. Thats millions of actions.)
Oh, and I visited your server the other day, but you were afk for so long I got bored waiting "
Also, PM me your Config files contents, and the full console message about anything related to swatchdog.
-
View User Profile
-
Send Message
Posted Jul 11, 2012@Sanzennin @Dustinduse
I might, once again, bring up the option of threading the block lookup so that it doesn't freeze the entire server while performing it.
-
View User Profile
-
Send Message
Posted Jul 11, 2012@Sanzennin
i did the ingame repair with the command and in the console it says theres errors opening the file. but you really should BUMP the mysql support. as i can no longer do /swss look searchs as it will lag my server out... but i cant just change plugins. but i also sometimes need the /swss to do a full search. yet i cant as my logs go back to far.
-
View User Profile
-
Send Message
Posted Jul 8, 2012@Dustinduse
I bet that the newer world was created while the server was running. SWatchdog created files for that world on the fly, but that resulted in some minor integrity problems for those files.
Go to config and:
integrityOnStart=true
autoRepair=true
you can set those values ingame. Then just reload the server and it should tell you that it repaired a few files.
@EpicMinecraftBuilds
Indeed every once in a while someone requests a MySQL support, and I plan on adding it later on. Its just not on the top of my TODO pile right now.
-
View User Profile
-
Send Message
Posted Jul 7, 2012Please add mySQL support. I'm willing to bet some people would love that. But make it so it's in the config, true or false, because I'm sure that there are a few people who wouldn't like it.
-
View User Profile
-
Send Message
Posted Jul 6, 2012My Staff and i love this plugin but it seems that some of the logs it cannot open? says failed to read file in log i believe. and im unsure why. the world i have seen this error in was our newer world and all the logs seem file i can see them in ftp. and stuff. i dont understand why it wont read them.
-
View User Profile
-
Send Message
Posted Jul 6, 2012it is possible use this or another log plugin with flat file OR ms sql ? (I need log only broken blocks..)
-
View User Profile
-
Send Message
Posted Jul 4, 2012@Sanzennin
Cool, I'll plug this into the server tomorrow morning and give it a go.
And just for your reference, the latest build of Tekkit is based on Craftbukkit 1.2.5 R1.3
-
View User Profile
-
Send Message
Posted Jul 3, 2012@phuriousgeorge
I have not tested, since at the moment I do not have a debug server for tekkit.
But do tell if there is any problems, I will fix them. Oh, and I'll make a new tekkit version too, out of the latest swatchdog version.
-
View User Profile
-
Send Message
Posted Jul 3, 2012@Sanzennin
OH, I understand now, I thought you meant it didn't log breaking the actual machine, not that it didn't log the block breaking actions of the machines. Great job.
2nd question: Do you know if this is compatible with the latest Tekkit server v3.04?
And a BIG thank you for supporting Tekkit!
-
View User Profile
-
Send Message
Posted Jul 3, 2012@phuriousgeorge
Well, a tekkit server operator asked for a version of swatchdog that would not record machines, as those tend to break a couple of thousand blocks in very short time, filling the logs with junk. So the versions with "T" at the end have that optimization in place.
@rythar
@limdingwen
Yeah, worldEdit is not being logged, but if you manually build a house you later destroy with worldEdit, it is possible to bring that back with /wredo.
-
View User Profile
-
Send Message
Posted Jul 3, 2012@rythar
Logging WorldEdit changes will be almost impossible without a lot of lag everytime you use WorldEdit because WorldEdit normally changes a few thousand to million blocks on one go.
-
View User Profile
-
Send Message
Posted Jul 2, 2012I dont even know if its possible but anyway to log worldedit changes?
-
View User Profile
-
Send Message
Posted Jul 2, 2012I'm sorry, a bit confused. What does "Optimized for Tekkit, not recording machines" mean?
I'm a Tekkit server operator, and would love to find a logging program that will continue to support the growing popularity of custom servers, so I thank you very much for the work you've put into this!
-
View User Profile
-
Send Message
Posted Jul 2, 2012@xsonarx
Definately should, its an awesome plugin! :D
Way better than anything else I've tried so far.
-
View User Profile
-
Send Message
Posted Jul 1, 2012@Sanzennin
ok, will stick with swatchdog, thanks for the reply and info.
-
View User Profile
-
Send Message
Posted Jun 28, 2012@xsonarx
Oh, I happen to be a mod on a server that uses coreprotect. And I'd really hate to badmouth anyone elses work, I mean, it takes effor to make these things. And I am sure coreprotect has its merits.
But there are numerous problems with coreprotect, starting with there only being one slot in the log for each block. Say someone steals your diamond block, and you show a mod where it used to be by placing dirt. Now there is no way of knowing who did and what, since the log now tells you that a dirblock was placed there.
Well, on the upside, I think coreprotection is lighter. Or so I assume, since it does alot less than SWatchdog. Well, ofcourse you have complete customizability over swatchdog, so I can't say for certain which one is actually lighter at the same settings.
Then again, I find it hard to inspect an area since the only method of looking is by taking a tool and slam it at everything until something pops up. If something pops up. SWatchdog allows you to do a radius sniff.
-
View User Profile
-
Send Message
Posted Jun 27, 2012-
View User Profile
-
Send Message
Posted Jun 26, 2012@DrRedAxel
I'm assuming your server isn't too powerful? Sounds like you run out of resources... odd. Have you enabled automated log pruning for swatchod? How many logs are there for the world you are checking? Does the same happen for /sws l?
How crowded is the server when you run that command (resulting in players losing connection)? What are the servers specs? Are there any resourceheavy plugins installed?
EDIT: After visiting the server, even if the problem wasn't really all that swatchdog related, I hope I was of some help. ^^