Skip to content
OrePlugins

DupeSight

Available

Value cannot appear inside a chest that only ever moves items, so DupeSight measures it and tells you when it does. Every finding is written down with a timeline you can still read weeks later, and the investigation works after the suspect has logged off.

What it does

  • A dupe is the only thing that makes value appear

    Every material carries a weight on a shared scale where one diamond is 1. Inside a chest, barrel, shulker or hopper — inventories that only ever move items — the total a player can see must never rise. Crafting is neutral, because nine diamonds and one diamond block are both worth 9. Packing a shulker is neutral, because contents are counted recursively. Duplication is the only thing left that raises the total.

  • The same shulker, under two players, three days apart

    Container contents are hashed — sorted first, so shuffling a slot changes nothing — and recorded against whoever holds them. When identical contents turn up under a second player, days later or across a restart, that is an alert. Empty containers and containers holding nothing of value are never fingerprinted, so carrying spare shulkers is not a crime.

  • The suspect always logs off first

    That is the normal shape of an investigation, and a lookup that only answers for online players cannot serve it. DupeSight keeps its own player table, so inspect and history work for anyone who has joined since it was installed — whether or not they are online when staff finally look.

  • It accuses nobody on day one

    Automatic kicks, bans and stack trimming are all off out of the box. It watches, records and tells staff, and takes nothing away from anyone. Run it for a day, read what it caught on your server, tune out anything legitimate, and only then turn enforcement on. A detector that is wrong about your server should cost you a log line, not a ban appeal.

  • Punishment through the plugin you already run

    When you do turn it on, kicks and bans run as console commands with the player, check and violation level filled in. Point them at LiteBans, AdvancedBan or vanilla — whatever your staff already knows. The alert cooldown gates violation points as well as messages, so one offending item repeating cannot inflate somebody into a ban.

  • Bedrock players are labelled, not guessed

    With Floodgate installed every alert says whether the player was on Java or Bedrock. Without it they report as UNKNOWN rather than being quietly mislabelled as Java — which matters, because the two clients do not have the same dupes.

Compatibility

Storage
SQLite (evidence.db), WAL, off-thread I/O
Retention
30 days / 200 entries per player, configurable
Checks
Conservation, fingerprints, over-stacked items
Dependencies
None. Floodgate optional
Default posture
Report only — no automatic punishment

Commands

Permissions default to true for player commands and op for admin ones.

DupeSight commands and permissions
CommandWhat it doesPermission
/dupesight inspect (player)Summary, violation level and entry counts. Works for offline players.dupesight.inspect
/dupesight history (player) (page)The evidence timeline, ten per page. Red lines scored; grey lines are context.dupesight.inspect
/dupesight fingerprintFingerprint the container in your hand and list every player seen holding those contents.dupesight.inspect
/dupesight alerts (on|off)Silence or restore alerts for yourself without losing the permission.dupesight.alerts
/dupesight reset (player)Clear one player’s evidence, violations and fingerprints. There is no undo.dupesight.admin
/dupesight statsStorage and runtime counters, and whether the conservation check is active.dupesight.admin
/dupesight reloadRe-read config.yml and messages.yml without a restart.dupesight.admin

Before you buy

  • Will it flag my players for normal crafting?

    No. Crafting is weight-neutral by construction — the inputs and the output are worth the same, so nine diamonds and one diamond block both read as 9. Anvils, smithing tables, villager trades, furnaces, enchanting tables and crafting grids are excluded from the check entirely, because they legitimately turn one thing into another.

  • What if another plugin on my server hands out valued items?

    That is the one real source of false positives, and there are two dials for it. Raise min-unexplained-value above whatever your crate or quest plugin pays out, or remove that material from material-values so it stops being weighed. Finding this out is exactly what the report-only first day is for.

  • Does it ban people automatically?

    Not unless you tell it to. Every punishment action is false out of the box. When you enable them they run as console commands, through whatever punishment plugin you already use.

  • Can I add my own valued items?

    Yes, with one rule: if you add a material, its crafting inputs must also be listed at the same total weight. Add netherite ingots at 4 without listing scrap at 1 and every legitimate craft will read as creation.

  • Does it stop dupes, or just report them?

    It reports. DupeSight tells you a duplication happened, who did it and when, with a timeline you can act on. It is not an anti-cheat and it does not patch the exploits themselves — it is the thing that tells you which exploit to go and close.

  • What happens to the evidence if I restart?

    It survives. Everything lives in a SQLite database with write-ahead logging, written on a dedicated thread so it never touches your tick. Retention runs on a six-hour cycle.