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 26, 2012@Mayhem777
same it crashes for me everytime I try to roll anything back
-
View User Profile
-
Send Message
Posted Aug 26, 2012the /wundo command doesn't works, i've followed the guide, it says "1 broken block bla bla bla" but the block stills broken....
I used the commands you show in the tutorial:
/wundo p:playername (I TESTED WITH MANY PLAYERS) 2000 -300 0 0 0 0 0 (flying at 100, 200, 300 ... doesn't works) it says broken blocks replaced bla bla but is doesn't work, the blocks still broken.
Also what's the wand id? i can't use it because i don't know what's the wand id
-
View User Profile
-
Send Message
Posted Aug 25, 2012@Pixiyo
you enable it, then check for killed animals with /wanirad
@DuskShadowBrony
The chests are logged under /sws l (at the moment, you should check both sides of a doublechest)
-
View User Profile
-
Send Message
Posted Aug 25, 2012How do i use the animal and/or chest logger?
-
View User Profile
-
Send Message
Posted Aug 25, 2012How does the animal logger work?
-
View User Profile
-
Send Message
Posted Aug 24, 2012@DemonPenguin
Hmm... I'm rather puzzled at the moment. According to the information you've given, everything should be in order. Well, I have been developing SWatchdog on a windows based system (even though I do like Linux more) I wonder if there could be some compatibility issues? Though, there are a lot of Linux users who don't have any problems with SWatchdog.
And you know, its easy to be patient when the plugin works perfectly 99.99% of the time, so this kind of troubleshooting is extremely rare. (Usually I can solve it a bit quicker tho.)
Wait, the error comes up 3 times?
Hmm... would you mind sending me your servers IP as a PM? I'll come take a look in person, maybe we can figure something out faster?
-
View User Profile
-
Send Message
Posted Aug 24, 2012I checked the read write thing and made sure every thing had the ability to read an write. I am using a remote Linux server. I've used watchdog for months now and never had this issue. I figure this must be something recent.
I'm going to try running a test server from a different directory(or folder) as root and see if that does anything.
EDIT: Well when I start the server as root, in another folder, everything seems to work fine... I'll see if there is some permission that I missed on the file.
Thank you for being SUPER patient with me and helping me out!
EDIT2:
I gave all permissions to every group (This includes the "others" group) and I still get the same error.
And just in case, does it matter that the "[!] Watchdog failed to read the file" comes up 3 times every time I try the command?
-
View User Profile
-
Send Message
Posted Aug 24, 2012@DemonPenguin
Well, I can't think of anything odd in your plugin list. And the fact that the files DO exists makes it even more strange. I mean, it seems they are in perfect order (they start with 0 in them until you get more logs).
Ugh... Whats your operating system? is the server installed in some randomly write/read protected place?
-
View User Profile
-
Send Message
Posted Aug 24, 2012Yes lastIDbroke.Build.txt does exist and the entire content is just "0" In fact all the lastID files have only a "0" in them.
Watchdog gets loaded first, before multiverse.
Assuming that Watchdog loading first isn't an issue, and this problem is only occurring with me, I thought that it could be some strange plugin conflict. Here is my plugin list just in case.
[INFO] Plugins (17): WorldBorder, ChestRestock, SWatchdog, WorldEdit, jCommands, Skript, ShelfIt, Vault, Stargate, Multiverse-Core, PermissionsEx, MonsterBox, SimpleMail, InfoMan, ChatManager, Multiverse-Inventories, Modifyworld
-
View User Profile
-
Send Message
Posted Aug 23, 2012@Mayhem777
Yeah, there is /wundop and /wcleanp commands, but they don't have documentation yet.
@DemonPenguin
Well, the AutoRepair in config and the automated repairsystem are a bit different. The AutoRepair is interested in logfiles, where as the automated repairsystem (that says "making sure everything is ok" or "attempting to fix") tries to make sure that every file that should exist, exists. This is done by asking bukkit what worlds you have, and then making files for each world.
However, this seems to be a tricky one. You're the first one that reports a failure on reading ID files, so this is kinda unique case. The normal files sometimes have minor bugs that the autorepair is for (fixes them most of the time.) However, the error here seems to be caused by... I'd guess your worlds not being registered with bukkit correctly? Or SWatchdog doesn't seem to be getting them for some reason.
Or then something very rare happened at some point tangling stuff up.
Does the file lastIDbroke.build.txt exist?
And what does it contain?
If it is empty, delete it and restart, does that help?
Are there similar files like that, causing trouble?
Which one gets loaded first, multiworld or SWatchdog? (Kinda far fetched, but just curious.)
-
View User Profile
-
Send Message
Posted Aug 23, 2012Also please, how can i totally purge actions of a player? i mean placed/broken blocks from the very start. there's no /undo <player>?
-
View User Profile
-
Send Message
Posted Aug 23, 2012@Mayhem777
+1 This is definitely needed.
@aroeira
A stick, but to use it you need to set UseTools to true in your config file.
-
View User Profile
-
Send Message
Posted Aug 23, 2012What is the tool of this plugin ?
-
View User Profile
-
Send Message
Posted Aug 23, 2012Watchdog is failing to read files again... There are no blank lines this time. When checking some blocks it will give me some of the results, and return the "failed to read file" to the console.
I"m going to try a complete re-install to see if that works. I don't need the files right now anyway, but it's better to have it working later, just in case.
EDIT: After a complete re-install, I get the same error. This time though, there was an extra line: "Watchdog couldn't read the lastIDbroke.Build.txt. Attempting to fix" After this line, Watchdog failed to read the file. I suspect that the auto repair may have a bug...
Nope, after deleting all the files in SWatchdog folder (I left the util ones alone) and setting the check integrity and auto repair to false, I still get the same error...
I am using 1.15 of this plugin and Bukkit 1.3.1-R2.0
-
View User Profile
-
Send Message
Posted Aug 23, 2012PLEASE! add pages when using commands, if the're to much chantes (broken placed) the chat get spammed, make something like hawkeye (onli show 5/10 results per page) and make pages redeables like:
hk here 1 (watch radius and height 1)
result: 30 results
hk page 1.. 2.. 3... to switch, thanks!
-
View User Profile
-
Send Message
Posted Aug 21, 2012I looked at the files and all the first lines were blank. After deleting the blank lines, logs in the worlds work fine. Thanks for the help! :D
-
View User Profile
-
Send Message
Posted Aug 21, 2012@DemonPenguin
Hmm... If you look at the files for the other worlds, is the first line empty? If it is, remove the empty line. Thats one thing the integrity check should do automatically, wondering why it didn't work for the other worlds.
-
View User Profile
-
Send Message
Posted Aug 21, 2012I have files for all the different worlds in the SWatchdog folder, broken/placed.worldname.txt, Watchdog can read the files for the default world, but not for any of the others.
-
View User Profile
-
Send Message
Posted Aug 21, 2012@DemonPenguin
Hmm... It should record all the words (that are registered with bukkit) custom or not. Worked fine the last time we were using multiverse.
So, just to confirm, you don't get any other than world.broken.txt, world_nether.broken.txt and world_the_end.broken.txt? not the customWorld.broken.txt? (In the SWatchdog folder) (same for placed)
-
View User Profile
-
Send Message
Posted Aug 20, 2012I get this on startup:
Looking at this, it seems that only the original "world" is being recorded. I am using multiverse and have more that just one world. I may have forgotten to restart when creating a new world. Everything works fine in the normal world, but not in the others.
My server has been restarted since the newest world was created, so is there anything else that I can do to get Watchdog to start recording these new worlds?