Objects do have multiple "keys" as you call them. (I call them tags)
The Item ID is the unique address that the server uses to determine any actions the client is taking on/with them.
If I understand correctly, you are suggesting they could use an additional tag/key to identify items, so that subsequent dupes of the item would be identifiable.
That would work in the short term, a manually run system-wide script to add a unique tag to each existing item so that future dupes of them would be trackable, but in the long term it ends up where we are now.
To create a whole new routine simply to append the extra tag on all future items introduced would actually be far more work than simply correcting the loophole in the ID generator that allows duping in the first place.
As to recovering from backup, such items are not assigned new IDs.
I can tell you from experience that recovered backups restore the pre-existing IDs for items.
The only downside to adding a validity check to the ID generator is time, and assuming the servers are running on any processor faster than a P1, it would rarely be noticable at all by the players.
To Scripting...
They know that the program used by probably 90% of the scripters is crippled every time they patch. The nature and size of the patch is irrelevant. They could disable it by adding a random movement of a static barrel in the Void with each daily maintenance, but they chose not to.
2D vs KR is irrelevant for scripting. Eliminating 2D will just cause those providing/maintaining the script program will simply rewrite it to work in KR.
There are methods to eliminate it too, but they are far more involved than the simple fix to duping loopholes. And no, Punkbuster will never work. It is a security nightmare all its own.
Until they have the time to dig in and make the necessary changes to block scripters, they need to start taking a stance against them in-game.
There are scripters on LS who have been running the same script to mine the same marked locations for over 2 years now. They have been paged on literally thousands of times, at all hours of the day and night each day of every week, and yet they are still at it.
Meanwhile if you page on someone who has a URL in their paperdoll, a GM responds quickly and the player is suspended or banned.
If that does not clearly show they have no intention of eliminating scripters, nothing would.
Yes, I meant keys as in an attribute that identifies the item, such as the address of the item in the index and the serial number.
Though I am not suggesting that they add it, actually I suspect they already have this...But yes, running a script to search for duped items is only a reactive move, if they can nip it in the bud, it'll save alot of work.
The daily changing of a static item is a very interesting idea! They can't use the same item though, or it will quickly be figured out and just be ignored. Also, there'll be a patch required to update the client daily. Might be too much overheads to consider.
And as you said, Punkbuster will be really another set of nightmares. That is, if they haven't already coded some form of 3rd party detection routine into the UO client...
Also, I totally agree with your views that looking at it from a 2D or KR client angle is non-cosequential in this arguement. New 3rd party programs will be developed once the old ones stop working.
I still can't think of a solution that will also address the black-hole abuse though. Let me clarify my scenario:
1) Adam has a crimson in his pack and is waiting to trade it to Eve at the Luna bank for an orny
2) Server state is backed up
3) Adam passes his crimson to Eve in exchange for an orny
4) Adam then recalls to Britain
5) Britain's subserver crashes and Adam black holes
6) When Adam logs back in, his status and items will be as of the backup in step 2
7) Adam still has his Crimson but no orny
8) Eve also has her Crimson but no orny
9) Both Adam and Eve can interact with their own Crimsons normally. When either drags their Crimson, the other's doesn't dissappear. When Adam dyes his Crimson orange, Eve's crimson doesn't turn orange automatically
10) So even if the S/N or ID is the same, each now has a different address somehow
In this case, how should they block the creation of Adam's crimson in step 6? Remember that Adam have not recieved the orny in step 3.
a) If the server finds that a crimson with the same ID already exists (in Eve's pack), and blocks Adam from getting back his crimson when he logs back in, he will be down 1 crimson due to a sub-server crash. Not acceptable.
b) If the server allows Adam to create the crimson, but takes away Eve's, then Eve will be down 1 crimson (she has already given her orny to Adam). Not acceptable either.
c) Give Adam back his crimson, give Eve back her orny, looks fair, but a nightmare to trace all the transaction that the players have made. What if Eve had sold the crimson in an auction? Caine bought it, and give it to his wife Lilith as a wedding aniversary gift. Meanwhile Eve has paid Lucifer the auctioneer 5% of the transtion costs, then bought a HoM from Gabriel. Even if everything was reversed out correctly, Lucifer lost his 5% commision. And he had paid the auction house 1 mil to book the auction house. Have a GM create gold to reimburse Lucifer? What if Lucifer lied about it and says that his commission is actually 50%. So a GM will need to check the logs...
d) Full server revert to previous day's maintenance cycle backup because Adam or Eve will lose a crimson. Causing all players on that shard to lose whatever they got during that day. Definitely not acceptable.
e) Allow both Adam and Eve to own the crimson. Looks like the best compromise so far. But wait, we now have duped crimsons...Right ok, maybe they'll let it slide if you have a couple of duped items. If they see that you own tons of duped stuff however, they'll start cracking down hard. Then we start a new thread on another round of bannings...