HawkEye Reloaded
NOTE
HawkEye Reloaded is still under active development! Due to many table altering changes we've been making, we've only been uploading new releases to our Jenkins Development build website.
Bukkit 1.7.10 / Spigot 1.8 Users
The current builds on bukkitdev are mostly outdated for builds 1.7.10 and above. I highly recommend you download a development build to avoid issue!
Description
HawkEye reloaded is a continuation of the beloved former "Hawkeye", which is now completely inactive. It gives you the ability to log changes, search through them, roll edits back and much, much more.
Features
- Logging of over 45 different actions
- Worldedit logging
- Smart logging
- Smart rollback/block restoral
- Block filter to avoid logging unwanted material
- Rollback commands with simple-to-use parameters
- Advanced interactive web interface for viewing logs
- Rollback previews - have the rollback only appear to you at first
- WorldEdit selection rollbacks - rollback everything in your WE selection
- Configurable search tool to quickly see edits on single blocks
- Simple, and easy to learn parameters
- Fast efficient logging
- API so other plugins can interact with the HawkEye database
Command List
Command | Description |
---|---|
/he help <Command> | Provides help for the specified command |
/he | Displays a page showing all HawkEye related commands |
/he tool bind | Binds the custom parameters to the tool |
/he tool reset | Resets tool to default properties |
/he tool | Toggles the searching tool |
/he search <parameters> | Searches the HawkEye database |
/he page <page> | Displays a page from your last search |
/he tpto <id> | Teleport to the location of the data entry |
/he here <radius> <player> | Searches around you |
/he preview apply | Apply the rollback preview |
/he preview cancel | Cancel the rollback preview |
/he preview <parameters> | Preview the rollback changes |
/he rollback <parameters> | Rollback specified changes |
/he undo | Reverses your previous rollback |
/he rebuild | Re-apply specified changes |
/he delete | Deletes specified data entries |
/he info | Display important information |
/he writelog <parameters> | Write results to a log |
Permission List
Node | Description |
---|---|
hawkeye.* | Access to all HawkEye commands |
hawkeye.page | Permission to view different pages |
hawkeye.search | Permission to search the HawkEye database |
hawkeye.search.<action> | Specific node to search HawkEye database |
hawkeye.tpto | Permission to teleport to the location of a search result |
hawkeye.rollback | Permission to rollback actions |
hawkeye.tool | Permission to use the HawkEye tool |
hawkeye.tool.bind | Permission to bind parameters to the tool |
hawkeye.preview | Permission to preview a rollback before applying it |
hawkeye.rebuild | Permission to rebuild actions |
hawkeye.info | Permission to view info |
hawkeye.writelog | Permission to writelog |
Requirements
- Latest RB of bukkit
- MySQL database (Your host should provide you with one)
- (optional) WebServer (if you want to run the Web Interface)
Development builds of this project can be acquired at the provided continuous integration server. These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Still have a question?
Still have a question?
Here is an extra help page, which contains things like, format, importation, and errors. If nothing helps, feel free to open a Ticket, explaining your problem will help us recreate, and fix the issue.
Want to Donate?
Want to Donate?
All the donations go directly to the former author oliverw92
I am currently very busy and cannot answer any questions.. I will try to keep all my plugins updated during my absence
@ElKomic
The problem with "UUID Support" is you wont exactly know WHO you are rolling back. /he rollback p:bob7l can rollback ANYONE who has the same UUID - so if i had past accounts it'll roll them all back.
So instead of adding UUID support - we decided to stick to name based rollbacks. It's safer, and much more simple :D.
@ElKomic
This had been discussed back when UUIDs were added and the topic of name changes came around. Unless they changed their minds, the answer is no, UUIDs won't matter to Hawkeye. It's all based on names.
If you really want to track down suspicious activity from multiple names, do a search based on IP.
Hi !
I just wondered how is HawkeyeReloaded managing UUIDs. Will the nickname-changing thing affect the plugin ? Thanks !
BitDefender is flagging HawkEye continuous integration server page o.O (http://minebuilders.me:8080/job/HawkEye-Reloaded/)
Anyone else getting this from other programs?
@P4kA
Yeah sorry about that.. Jenkins is rather... Resource heavy at times.
@griffenx
Sounds good, you could use the HawkEye override wildcard key though if you want to perform a global rollback and bypass the limit: /he rollback p:bob r:*
I love this plugin and have been using it for years. However one problem I have is dealing with the maximum radius for rollbacks, searches, etc. I feel like it would be helpful to have a separate maximum radius and default radius. Essentially so when a player performs a rollback without a specified radius, it would use the default radius, while still allowing players to specify radii up to the defined maximum.
Link for dev builds don't works.
Oh, OK, I see. I guess it's formatted like a regular YAML list ?
Yup, that's why I wanted to plan it at 5AM, to be the least agressive possible. Thanks again !
@ElKomic
cleanse-actions is for cleansing direct actions. Like maybe you only want to cleanse worldedit stuff: worldedit-place, worldedit-break.
But be careful with cleansing! I'd only do it while your server is inactive (Like late at Sunday, late at night) because any DELETE query on an index'd table will take awhile and likely slow down your mysql speed.
Hi bob7l, thanks for your work !
I was wondering what is "cleanse-actions: optional" supposed to do, so I just left it at its default value, could you enlighten me ?
Oh, also, am I right when I configure "cleanse-period: 23h & cleanse-age: 30w" to remove everything that's older than 30 weeks every day at 5AM, considering that my server reboots at 6AM ? I miserably failed a few days ago, voiding pretty much all my logs (still not sure if that was because of the database update or because of a fail I did), so I'd like to be sure this time.
Keep it up !
@dunkeroni
Well i did some work on the database. Switched engines, and reduced the byte usage.
The updater should be rather safe, the only actual statement used on your table is a rename command. It then creates the new database files and slowly ports all the data from your old database files, to the new database files. I believe even if the MySQL were to crash, your old table wouldn't be corrupted because it was a read only query.
It'll still take a few hours depending on your machine - allocated resources to mysql, and of course the actual table size.
https://github.com/bob7l/HawkReloaded/blob/master/src/uk/co/oliwali/HawkEye/database/DataManager.java#L247
"...regenerate your current HawkEye tables or allow the built in table updater to ATTEMPT an update!" Could you clarify what the updater does during this 'attempt' and what, if any, issues it might run into? Is it safer to manually regenerate the tables for the new format, and how does one go about doing that? We have a long-running database that includes many worlds, and as much as I'd like to test out the new builds, I don't want to risk corrupting the data we have so far.
@ChengZi368
It should - but the blocks may not log their surroundings perfectly yet.
@bob7l
Does it work with 1.8 now?
@ProfX66
1.8 is a NO NO. I just tried to build against it and just couldn't believe how many bugs i came across.. It even fires 2 block place events at once..
I'm going to release a 1.7.10 build soon which will likely fix most of the 1.8 issues.
@monkey8113
It's being updated, just in a private branch because the database was altered a lot.
Why is this awesome plugin not updated anymore? it log wayy more item than core protect and does the job much much faster than core protect
Any chance of updating this using the 1.8 build provided by spigot?
Currently works decently but I'm getting a InventoryMoveItemEvent that can't be passed to Hawkeye which spams my console repeatedly every second.
Hey
Would it not be nice if you would add an command: he page next Sometimes we have to search over of 150 pages of logs and it would be way more easy than always typing /he page x Then /he page x+1 etc. At least thanks in advance
DRCnetwork