How to avoid:
it's so easy.. give every item an ID and let the server check a players inventory when he is connecting. If there is a item with the same ID more than 1 time: duped item!
or:
when a player is dropping something on the ground or picking something up, check how often this item-ID exists. More than 1 time: duped item!
or:
let the server check all items on server startup. Could be good and very fast with assembler, but this is not perfect. Because like this you need to compare every item with every item!
So.. what we need is that every item has a unique ID! (per hive!)