I'm sure straight object duplication/rez/ handoff is pretty easy to trap and has been made impractical. I would imagine it's to the point now where replicating objects and their scripts are being permuted.
My suggestion seems pretty simple to me, which indicates that it's probably already something you've considered and may have been ruled out for some reason I can't see, but here goes:
- A script can rez objects but has an allowance on how many it may create. A quota or tokens, if you will.
- This quota can be whatever the author wants it to be -- even fairly high -- to a reasonable ceiling.
- Creational or other tokens can be handed from a parent to a child object to support functions that have a distinct lifecycle.
- These tokens are bound to an av and can't be systematically created -- once an object is so endowed tokens can only be handed off or discarded.
- This (may be) further tailored by providing some handoff/timing limits that even may be balanced -- minutes/hours vs. generational limits, etc.
- The token idea provides an extra traceability axis, as well, and it may be worth preventing tokens from different av's from comingling in an object, etc.
Of course, having to *manually* endow objects/scripts with execution tokens would be kind of cumbersome and would wreck everything in SL right now.
So, to take this further, treat execution tokens is like prims or tier. I.e., existing scripts run as-is, but when a script starts it deducts an execution token either:
(a) from its parent script if that's been given an explicit allocation or
(b) more likely(if we're talking about an unmodified, current script), directly from the av's budget of tokens or
(c) if a parcel has a pile of tokens the owner's set aside (as I mentioned above) for group activities, etc.
The added bennie would be, like prims, the av has means of tracking where/how their tokens are being consumed, and optionally cleaning them up.
Just another unbidden thought
I won't be upset if these are off the mark, however, just trying to help.