Deliberately breaking a sculptie by deleting sculptmaps from inventory?
|
Amael Juran
Zensual Sculpture
Join date: 3 Mar 2007
Posts: 41
|
09-29-2009 12:05
I'm trying to protect my sculptie based content from being cloned. To do this, I'd like to deliberately delete the sculptmaps that my items reference from my inventory on a regular basis and use scripts to rebuild them using new sculptmaps. I've been checking up on how UUIDs are stored & deleted and the best reference I can find is here: /54/c0/204654/2.html#post1822951My questions are: 1) If I've deleted the sculptmaps from my inventory and there are items in world still trying to use those sculptmaps for their shape (i.e. sculpties that I originally set to use the now-deleted sculptmaps), are these references enough to stop the UUIDs from being deleted by the garbage collector? 2) If the UUIDs are not deleted because of those references- is there any way of forcibly severing those references & completing the deletion? The idea is to break the objects by deleting their resources- it'll be scuppered if I can't properly delete the resources because they're being used by items... and seems a bit stupid. Yes I know that the garbage collection system is designed for safety but surely the original content creator should have final say in deleting what they uploaded, even if it's being used by other items?
|
Innula Zenovka
Registered User
Join date: 20 Jun 2007
Posts: 1,825
|
09-29-2009 12:59
I take what James Linden says in the post you referenced, From: someone Basically we scan the entire world dataset, including inventory items, region state files (textures on objects, textures as inventory items inside objects) and assets (notecards and script text). Anything that looks like a texture UUID is added to a list, then textures (well, all assets really) that aren't on the list are deleted. to mean that, if there's a rezzed object (or an object in someone's inventory) anywhere that uses the UUID of one of your sculpt maps, that UUID will be added to the list and won't get deleted by the garbage collector since it's sufficiently close to a texture uuid (having been uploaded as a texture, after all).
|
Dora Gustafson
Registered User
Join date: 13 Mar 2007
Posts: 779
|
09-29-2009 13:08
It will not help you to delete the map from your inventory, it will stay 'forever' on the asset server. It may ease your mind to know that the sculpt map can not be read by someone not having full permissions to the sculpted prim. Not by legal means anyway. Innula knows more than I do 
_____________________
From Studio Dora
|
Amael Juran
Zensual Sculpture
Join date: 3 Mar 2007
Posts: 41
|
09-29-2009 14:07
Thanks for the replies... nuts- that's what I was afraid of... dammit! So much for my plans to stop content thieves in their tracks  From: Dora Gustafson It may ease your mind to know that the sculpt map can not be read by someone not having full permissions to the sculpted prim. Not by legal means anyway. It's precisely because of illegal means that I wanted to develop this idea... now I have absolutely no defence against my content being cloned (and by cloned I mean copied by using numerous, easily available & easy to use clients that LL seems to do nothing about)... a friend gave me a first hand demonstration... was not a pleasant experience to see content I'd spent months developing be ripped & copied in seconds.
|
ElQ Homewood
Sleeps Professionally
Join date: 25 Apr 2007
Posts: 280
|
09-30-2009 04:37
since uuids are strings, what would be the fallout of key generation in a way such as:
1) upload texture 2) send uuid to server - inworld or offworld, doesn't really matter 3) script objects to set sculptmaps as a variable, which is set by retrieving the uuid from the server 4) change the texture on some schedule or timed basis by deleting the texture, uploading the texture again, replacing the uuid in the server.
one would probably need to set up a bot to upload the textures, maintain the inventory, and obviously be willing to spend the money for the uploads.
|
Amael Juran
Zensual Sculpture
Join date: 3 Mar 2007
Posts: 41
|
09-30-2009 05:20
From: ElQ Homewood since uuids are strings, what would be the fallout of key generation in a way such as:
1) upload texture 2) send uuid to server - inworld or offworld, doesn't really matter 3) script objects to set sculptmaps as a variable, which is set by retrieving the uuid from the server 4) change the texture on some schedule or timed basis by deleting the texture, uploading the texture again, replacing the uuid in the server.
one would probably need to set up a bot to upload the textures, maintain the inventory, and obviously be willing to spend the money for the uploads. That's a good idea but you still end up with the same problem- once a script has applied a UUID to a prim (either as a surface texture or sculpt map) that UUID is now being directly referenced by the prim which prevents it from being deleted (I think)
|
Cortex Draper
Registered User
Join date: 23 Aug 2005
Posts: 406
|
09-30-2009 05:59
LL should give us a checkbox when we upload an asset (eg a texture or sculptmap) to make that asset only usuable on objects created by the person uploading the asset.
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
09-30-2009 06:56
From: Amael Juran I'm trying to protect my sculptie based content from being cloned. To do this, I'd like to deliberately delete the sculptmaps that my items reference from my inventory on a regular basis and use scripts to rebuild them using new sculptmaps. Removing an asset from your inventory does not remove it from the asset system. It can still be referenced by UUID in llSetPrimitiveParams() calls by other people. It can still be downloaded or ripped from cache. I don't think you are accomplishing anything useful by simply removing one reference to it. From: someone Yes I know that the garbage collection system is designed for safety but surely the original content creator should have final say in deleting what they uploaded, even if it's being used by other items? If it was possible for a creator to trash an object I bought in this way I would simply not buy it. Accidental inventory loss is bad enough.
|
ElQ Homewood
Sleeps Professionally
Join date: 25 Apr 2007
Posts: 280
|
09-30-2009 21:06
From: Amael Juran That's a good idea but you still end up with the same problem- once a script has applied a UUID to a prim (either as a surface texture or sculpt map) that UUID is now being directly referenced by the prim which prevents it from being deleted (I think) No, once it's changed on the server and the script grabs the new uuid it would apply the new uuid to the object..no longer would there be a reference to the old uuid.
|
Destiny Niles
Registered User
Join date: 23 Aug 2006
Posts: 949
|
09-30-2009 21:35
I think on the texture tips forums they talked about using the alpha channel to put copyright information.
|
ElQ Homewood
Sleeps Professionally
Join date: 25 Apr 2007
Posts: 280
|
10-01-2009 02:45
Well, it's really not going to afford any protection anyway. If somebody copies the texture they could simply upload it and use it. The changing of the uuid at any point won't matter to the thief and their object, only the legitimate ones. However, if a log was kept of the uuids, when they were changed, as well as copyright information..it could possibly help in proving that an object isn't legit and the sculptmap was stolen.
|
Amael Juran
Zensual Sculpture
Join date: 3 Mar 2007
Posts: 41
|
10-01-2009 13:00
From: ElQ Homewood No, once it's changed on the server and the script grabs the new uuid it would apply the new uuid to the object..no longer would there be a reference to the old uuid. True but the whole point of doing all this is to break content that has been cloned. If someone clones an item then they are effectively locking the textures that are used in that clone from being deleted (assuming they keep in in inventory or rezz it somewhere). Even if the valid items are using a new set of UUIDs, the invalid clones are holding the old UUIDs in place >  Yeah there's always the option of ripping & re-uploading but my idea was just to deter casual copiers. It all doesn't matter now anyway because it can't work... cloners win 
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
10-01-2009 13:03
The problem is that if you "broke content that had been cloned" this way you would also break content for everyone who had bought whatever legitimate product from you that the crook ripped.
|
Amael Juran
Zensual Sculpture
Join date: 3 Mar 2007
Posts: 41
|
10-01-2009 18:08
From: Argent Stonecutter The problem is that if you "broke content that had been cloned" this way you would also break content for everyone who had bought whatever legitimate product from you that the crook ripped. Yes, I would deliberately break all content (legitimate and cloned), BUT the legimate content would unbreak itself using its scripts (something that the clones wouldn't have). Content that was legitimate would have my scripts in it that would either fix the object once broken OR change over the UUID set before I carry out the break. The idea in full (in case someone can find a way to make it work): My content consists of several linked sculpties. I put a script in object root. Script connects to an external server (or a secure object or whatever) once every 24hrs or whenever. Script gets UUID of notecard from server. Notecard contains new list of UUIDs (sculptmaps) to use in the object. Script reads notecard and updates the object so that the various sculpties use the new UUIDs (sculptmaps). 24 hrs later, I delete the old UUIDs (sculptmaps from my inventory). Objects that have been cloned will not have these scripts in them. When I delete the old sculptmaps from my inventory, the cloned sculpts loose their shape, they have no scripts or UUIDs to put them back together. Legimate objects either rebuild themselves after or before the UUID changeover happens. Cloned objects never do- they remain broken. Make sense? The idea is of course utterly scuppered by the fact that the cloned objects lock the old UUIDs preventing their deletion... is a crying shame- this could provide limited protection against casual cloning (i.e. the right click -> export variety).
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
10-01-2009 20:28
Just not going to happen, I think. The prim having the sculpty map applied will hold on to the asset. And without a script to change the prim params, the sculpty map will not go away. You can throw a script in there to periodically change the sculpty map, but a new owner can actually delete the script even without modify permissions. That's been an unfortunate fact in SL from the beginning. Permissions can keep you from adding, but not removing/deleting.
|
Viktoria Dovgal
…
Join date: 29 Jul 2007
Posts: 3,593
|
10-01-2009 20:35
These copying programs can generally download those textures too (even regular viewers will cache them), so all those UUID gyrations would be bypassed by a dirt cheap upload anyway :/
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
10-02-2009 00:37
From: Amael Juran Yes, I would deliberately break all content (legitimate and cloned), BUT the legimate content would unbreak itself using its scripts (something that the clones wouldn't have). Content that was legitimate would have my scripts in it that would either fix the object once broken OR change over the UUID set before I carry out the break. I would not buy anything that was effectively dependent on the creator's good will to keep working. Doesn't matter who the creator is, Amael Juran or Microsoft.
|
Amael Juran
Zensual Sculpture
Join date: 3 Mar 2007
Posts: 41
|
10-02-2009 06:47
From: Viktoria Dovgal These copying programs can generally download those textures too (even regular viewers will cache them), so all those UUID gyrations would be bypassed by a dirt cheap upload anyway :/ I know I know- the system would just be designed to deter non-hardcore cloners who only know how to right click -> export and don't have the patience (or knowhow) to re-upload a texture set & apply it to the cloned object. (Each of my objects uses roughly 300 textures by they way- cloners would have fun trying to humpty dumpty them back together again...) From: Argent Stonecutter I would not buy anything that was effectively dependent on the creator's good will to keep working. Doesn't matter who the creator is, Amael Juran or Microsoft. That's fine- I'd be happy to loose a few sales in order to gain a system that I know would break stolen content. I also know that most of my customers would support me in such a decision- nobody likes a cheater and people are usually willing to chip in (or at least lend support in this case) to deny the cloners amd keep SL alive. I believe that content creators don't have too much of a problem with lost sales as a direct or indirect result of cloning- the real problem & fear is waking up one morning to discover that all of their work has been cloned and made available for free in 100s of sandboxes/freebie stores as happened to Rebel Hope et al recently. If that happens, there is very little chance of recovery and I think most would just call it a day & leave SL... no more content from that creator. So, if customers are given the choice between supporting creators, having faith in them and purchasing their product knowing that they have security measures built in OR loosing that creator and their content forever, I think most customers would choose to support the content creator.
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
10-02-2009 07:07
From: Amael Juran That's fine- I'd be happy to loose a few sales in order to gain a system that I know would break stolen content. I also know that most of my customers would support me in such a decision- nobody likes a cheater and people are usually willing to chip in (or at least lend support in this case) to deny the cloners amd keep SL alive.
I would be happy to chip in to help keep SL alive. What you're proposing, though, even if it worked, would cause more damage than it would help. I've been in the computer business for over 30 years, and I've been burned by these kinds of schemes going awry far too often to trust them. And I'm not the only one: software that uses aggressive protection schemes has ALWAYS lost out to competitors that put up with a certain amount of rip-offs in exchange for actually working reliably when you need it. We don't need SL turned into a Kindle or Zune. From: someone the real problem & fear is waking up one morning to discover that all of their work has been cloned and made available for free in 100s of sandboxes/freebie stores as happened to Rebel Hope et al recently. If that happens, there is very little chance of recovery and I think most would just call it a day & leave SL... no more content from that creator. Your fear is my reality. Do you use Flight feather? Or Tinycam? Do you know anyone who does? Did you or they pay for them? Do you think it bothers me?
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
10-02-2009 07:36
The simplest protection for sculpties, and probably the only one actually worth the effort, is to inlude an alpha channel in the texture and make it 100% transparent. That prevents screenshots of the Edit Window from being re-uploaded. As people have said, more than that and you are probably shooting yourself in the foot.
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
10-02-2009 07:41
I think most people use the alpha texture of the sculpty to bake their logo into, so they get a double bonus. Linden Lab once said they were going to use the alpha channel for sculpty flexibility, but I guess it's too late for that.
|
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
|
10-02-2009 07:48
I agree with Argent that this kind of system isn't a good idea. It's basically pointless to try and protect a texture, as anyone with a will to can easily grab it from their viewer's cache while the object in question is rezzed near to them.
As a business there is one thing that you can do instead, and which is surprisingly effective; add value. Value can be added by scripted features, which are much harder to copy (though how well protected no-modify scripts are is a bit iffy on account of past exploits). While a clever scripter could probably replicate what you do, it would take time and effort on top of any initial cloning of your device, which would make it a lot less likely someone would bother, and it's unlikely to be quite the same, as features may be excluded or behave differently. Since I'm a scripting nut I tend to add a load of features into things I do purely from my compulsive need to, even if few of the end-users will even use those features, they still identify the genuine article from a clone. The other major way to add value is...support! Item cloners are hardly going to go out of their way to offer help if a scripted device stops working, or if the item doesn't quite look right with a particular outfit. By offering support for broken items, updates with new features, and/or help with modding the product, you can make your item worth paying for simply by what you get with it, in addition to the item itself. While people are mostly greedy cheapskates, I wouldn't underestimate a person's willingness to pay a premium price for premium service or benefits if they're handled right. I mean, you can get free hair for your avatar, or you can use the built in SL hair tool, and yet you still find thousands of avatars who have gone and paid to get hair that's good. I doubt many of them would even bother looking at the free offerings before deciding to pay L$ for one instead.
There is a third option as well depending on your device, which is to offer it as a service. We're starting to see more of this in the computing industry with various applications going online, in which case core functionality may never actually exist on your computer, instead you use your computer as a client to a web-server somewhere, which does the real, proprietary (i.e - hidden) work. At this point all you need to do is think of a good way for your scripts to communicate with this web-service securely. This way a cloner would have to replicate the web-service in order to replicate your device, which is going to be much much harder to do, or they have to somehow use your service, but there are various ways to detect and prevent that. Obviously this won't be an option for many products, but for some it is an option.
Ultimately though I think you're better being open and customer-friendly, because as Argent points out; too much effort making an item un-copyable will only damage the experience for legitimate users, and is more likely to lower your value than a malicious copy-bot user.
_____________________
Computer (Mac Pro): 2 x Quad Core 3.2ghz Xeon 10gb DDR2 800mhz FB-DIMMS 4 x 750gb, 32mb cache hard-drives (RAID-0/striped) NVidia GeForce 8800GT (512mb)
|
Haravikk Mistral
Registered User
Join date: 8 Oct 2005
Posts: 2,482
|
10-02-2009 07:50
From: Argent Stonecutter I think most people use the alpha texture of the sculpty to bake their logo into, so they get a double bonus. Linden Lab once said they were going to use the alpha channel for sculpty flexibility, but I guess it's too late for that. Presumably sculpties would still have the same flexible path options when that is added, to tweak flexibility and the like. So I think that this is still viable in future, as only sculpties with suitable alpha channels would enable the checkbox.
_____________________
Computer (Mac Pro): 2 x Quad Core 3.2ghz Xeon 10gb DDR2 800mhz FB-DIMMS 4 x 750gb, 32mb cache hard-drives (RAID-0/striped) NVidia GeForce 8800GT (512mb)
|
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
|
10-02-2009 07:53
From: Haravikk Mistral There is a third option as well depending on your device, which is to offer it as a service.
That's come into vogue and gone out again... for good reason. The whole cloud computing thing is just the latest turn of the wheel on this one. All the people excited about cloud computing will learn, in time.
|