Wiki

Clone wiki

WatchFox / Home

WatchFox

No one can outfox a fox

WatchFox is an extremely fast and efficient logging plugin that uses its own custom, self-hosted database to achieve the fastest speeds of any logging plugin yet. Just drop the jar in the plugins folder and you'll be logging at multi-thousand actions per second.



WatchFox was developed in my quest for a superior logging plugin. Since none of the ones currently available appealed to me, I wrote my own. (Of course, this also means I wrote all the documentation myself. If it's a little thick, don't worry, the defaults are perfectly fine, there's just room for tweaking.)

A significant consideration was that most logging plugins required a MySQL database. While many hosts offer such a server now, in my experience, they were unreliable and over-provisioned. Many could not keep up with even a modest server. Additionally, running MySQL on a self-hosted server adds a large amount of overhead, both to the server and the admin. WatchFox avoids all of this by running the database internally to the plugin, with intelligent caching and minimal I/O.

There are also other logging solutions that don't use a MySQL server. However, WatchFox vastly outperforms them. In a self-conducted test (I encourage you to test for yourself if you don't believe me), WatchFox was many times faster, and uses significantly less storage space to store data.

Naturally, WatchFox has its own set of unique advantages and disadvantages over other plugins. Some notable ones follow:

+No need for a MySQL server
+Fastest Bukkit logger available
+Full search syntax, not restricted to using tools
+Full WorldEdit selection usage support
+Powerful API for other plugins
+Chest inventory rollbacks
+Easier to setup than alternatives
+Rollback preview support
+Ability to keep database in sync with Minecraft world (see saving for details)
+Unique anti-overwrite technology (see below)
+Shift-click to add blocks to your search!
+Ability to sort your search results at a whim
+Session sharing for easy collaboration
+100% active development, long term support

-Possibility of data loss if server crashes
-Additional RAM must be used for the database (not to be used if you're running out of RAM as-is now!)
-Data must be viewed with the in-game browser

In having a unique database, WatchFox also has a similarly unique anti-overwrite system. Basically, when performing a rollback, a particular event will only be undone if the block hasn't been changed by a non-searched party. For example, your standard plugin will check to make sure that block is as it was after the event before rolling back (that is, if a block was broken, it will only rollback if the block is still Air). However, WatchFox has the unique ability to check for any post-event action. For example, if a malicious player spams dirt blocks around someone's house, and the victim later clears it all away, only to then put dirt back selectively, the dirt that the victim placed will not be rolledback. It is considered superseded. No longer will performing a rollback reverse the victim's own work!

If you want to try the most advanced and fastest logging plugin available for yourself, just click Downloads here or in the links bar, drop it into your plugins folder and /reload. It has no dependencies, although it does support using WorldEdit.

Want to make WatchFox even more awesome? Report any bugs you find or request useful new features by clicking "Report a bug". Even simple things like errors in the documentation will be systematically fixed.

And don't forget to check out the other links available.


WatchFox @ BukkitDev

Updated