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.
@pupnewfster
Are you sure the blocks were broken below level 30?
@Hoot215
actually for some reason it seems that the xray tracker isnt working. Stats dont change for new players for some reason idk why
@Hoot215
Actually it will work fine once this ticket is dealt with. http://dev.bukkit.org/server-mods/swatchdog/tickets/26-emerald-and-quartz-support/ For the moment it works fine without emerald and quartz but still.
@jfhart12
Have you actually tried it on 1.5 yet? Because odds are it will work fine. Most people seem to be under the impression that plugins need to be updated for every single version of Bukkit, but this generally isn't true.
Can you please update this to 1.5? I need this desperately for my server because logblock is too much for me to handle i just simply cannot install logblock so please update this!
@Sanzennin
I would think otherwise. When I used to use LogBlock, I rolled back by a few months all the time. Sometimes it was a bit of an overshoot, but it's a sure way to ensure something is rolled back. I've never had rollback by minutes, either. Anyway, it's your choice, but I would still recommend it.
@qu3L
What Hoot said. And also, enabling log pruning could help too. (Give AutoCleanDays a positive value, like 7 or 14, to automatically delete all logs older than 7 or 14 days.)
@Hoot215
Actually, I roll back stuff within the last 5 minutes all the time. (When I need to descend too far for example) But I imagine you're right about there being not too many people who would roll back stuff within few couple of minutes. However, I do not think there are too many people who need to roll back time in months either. And minutes are still important when you have very small rollback margin, and need precision.
@Sanzennin
I wouldn't think so, because most other logging plugins use this approach. And I doubt people would complain about rolling back too much because very few people would want to rollback only a few minutes.
@qu3L
You're probably rolling back from too long ago. Try keeping your rollback dates as small as possible. Also, putting your sever folder (or at least your SWatchdog folder) in a RAM disk might help (if you have enough RAM to do so).
Why does my server crash or kick everyone @ Massive lag everytime i rollback?
EDIT: It does it, when i /swss too. It laggs out and dies, takes forever to restart.
@Hoot215
Hmm, I think it wouldn't really solve the problem. Sure, those who are more familiar with programming would understand it, rest would be complaining how 1m50s rolled back way too much.
@Sanzennin
Completely sure. I know it doesn't make total sense, but that's the global standard. When used as a single-character variable, it's always a lowercase 'm' for month and an uppercase 'M' for minute. The most widely known use of this standard in practice is the Linux date system.
It would be simple to implement and lots of players are already familiar with it, so I personally recommend that you do so, but it's your choice.
@Hoot215
Are you sure? I though M would've stood for Month, seen as capital letters tend to refer to larger figures...
Like M(ega) for 1,000,000 or m(illi) for 0,001
P(eta) 1,000,000,000,000,000 or p(ico) 0.000,000,000,001
Y(otta) 1,000,000,000,000,000,000,000,000 or y(octo) 0.000,000,000,000,000,000,000,001
I know I missed a few, but you get the idea.
I think we could argue about which one is more user friendly, but I guess it is a matter of opinion. The only problem is that the innovative system used here isn't used so widely, so people do not know it.
Oh, and also, there is this: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
@Sanzennin
By typical standards 'm' is month and 'M' is minute.
I know that you only need to learn it, but it's not very user friendly in comparison to the dynamic system that LogBlock uses. Maybe you could make an even more dynamic system that merges the two syntaxes so you could use either one.
@Hoot215
Wouldn't 1m5d be 1 minute, 5 days?
Oh well, I rather like the current system, you can compare to the sniff results easily. (So it is learning it once versus calculating it every time, I prefer learning it once.) Besides, there is a whole page about it in the ingame help.
@Hoot215
Thanks! That worked! :) Removing YouTube vid :P
@CoasterCrazy
Try with three 0s instead of two. Two 0s means this day. Three 0s means this month.
Side-note to Sanzennin: I think you should rethink the time system. A lot of people find it confusing. Most other plugins simply let you type in a simple syntax like this: 1m5d, which would rollback everything since 1 month and 5 days ago, or 2w, which would rollback everything since 2 weeks ago.
Hi! Lately I've not been able to wundo stuff. I always typed in:
/wundo p:PLayerName 50 50 0 0
And it would undo any damage in the area. Now it simply says 0 blocks unchanged. Here's a video of it: http://www.youtube.com/watch?v=pAKrJj4Ps20
Did something change or am I running wundo wrong? It worked fine before running it like that but not anymore. Please help! Thank you!
@Octrons
Hmm, sounds like there was an error with releasing resources, or you had the active logfile open in notepad... Anyways, restart the server (if possible, the server machine) and make sure there isn't anything occupying the resources. (Like having notepad open with config.txt, active logfiles or archived logfiles if you are attempting to use them with supersniff or some rollback command)
@xsonarx
Yes, I know, which is why it is on the TODO :P
@SerketSurfur
The problem with logging worldedit is, it usually changes a ton of blocks at once. Of course, I could make it as an optional feature... And I plan to, but it isn't quite as high priority as some other things in the TODO.
Hmm, seems my TODO on the main page isn't up to date. I'll add some stuff in there. ^_^
[Server] INFO [!] Watchdog failed to read the file
I updated to 1.18, and it dosent work anymore, any fixes/thoughts
@Sanzennin
This would be a nice addon to have. I have 3 worlds and would like it if Swatchdog would only monitor 1 of them.