Sauron - Dupe preventer [1.12 - 1.20.6] icon

Sauron - Dupe preventer [1.12 - 1.20.6] -----

Anti-dupe, item-tracking & item-blacklister plugin [FOSS]



Major update - Optimization, bugfix, new features, server crash handling

Great optimization of the plugin

Basically, the plugin uses 5-10x less RAM/CPU than before.
  • SafeNBT is now directly included inside the .jar without needing it on your server.
    The API has been a bit modified to avoid using reflection which improved a lot the performances.
  • Checked inventories are now saved and wont be updated before x seconds (configurable)
Fixed plugins incompatibilities

Plugins like auctions plugins, inventory/enderchest plugins wont cause any incompatibility now.
Changed the Tracker listener from OpenInventoryEvent to PlayerInteractEvent. Opening an Auctions menu was leading to a lot of bugs. More generally, Sauron should never looks up "fakes" inventories like crates or offline players inventories. Be careful with that.

Added server's crash handling

If you server just crashed and players' item got rollback, Sauron will be triggered and items will be cleared. Use /sauron crash <timestamp1 <timestamp2> where timestamp1 is the time to which the server has been rollbacked and timestamp2 is the date of the crash.
More generally, use this command to whitelist intervals of time where duped items are allowed.
When a server crash, items are rollbacked to a previous state, meaning that their sauron_timestamp will be rollbacked to, but the database timestamp won't be. Event if the item is not duped, the plugin won't be able to tell the difference and will trigger a clear.
The command allows to whitelist intervals of time where the plugin will allow those dupes to survive.

If an item is in fact really dupe and there are another versions of it on the server, those versions will be cleared as soon as they'll be looked AND they'll be out of the range of the new whitelisted interval.

Added Item blacklister
design groups of item that have to be cleared


Using the same syntax as tracking rules, you can now design rules to automatically clear some items.
Since Sauron is kinda heavy and performs checks all the time, I though it would be an idea to add this (it will be less heavier that adding another plugin that checks everything too)

Added config options

The settings configuration now looks like this:
Code (YAML):
settings :
## Does the plugin should automatically updates all players' inventory ? If yes, at which rate between a general lookup, at which rate between each player, and at which rate between items in their inventories ?

  automatic-inventory-updating
:
    enabled
: true
    delay-between-checks
: 300
    delay-between-players
: 2
    delay-between-items
: 0.5
## Should the database store items' base64 data ? WARNING: can be heavy
  save-item-data
: false
## at which rate (in seconds) should the plugin update item's timestamp, when held in hand by a player?
  in-hand-update-interval
: 10
## If a container already has been checked within that interval, won't check it again.
  container-update-interval
: 10
  track-stacked-items
: false
  clear-stacked-items
: true



Improved logging system

It's still shit but now at least you have the database timestamp and item's timestamp on the log. more easy to understand how dupe got there.




----------, Mar 31, 2024
Resource Information
Author:
----------
Total Downloads: 313
First Release: Mar 24, 2024
Last Update: Jun 17, 2024
Category: ---------------
All-Time Rating:
1 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings