Parcel Prim Limit Overflow test

From Second Life Wiki
Revision as of 16:19, 15 July 2011 by Maestro Linden (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


Purpose

  • Eliminate paths of accidental object return due to Mesh object editing.
  • This means that when UserA is editing or creating objects on his parcel, there should be no way to accidentally return other people's objects on his land.
  • When possible also avoid returning UserA's own objects, by failing to perform the operation that would have caused the overflow and providing a helpful error message.

setup

  • UserA, own some land.
  • UserA, upload a mesh that has a prim equivalent less than 10 (Use duck.dae with the physics settings set to use level of detail 'lowest')
  • UserA, upload a mesh that has a prim equivalent greater than 40 (Use duck.dae with the physics settings set to use level of detail 'lowest', then scale it up.)
  • UserB, rez objects on UserA land until only 10 prims are available on the parcel.

rez a mesh

  • UserA, rez a mesh that has a prim equivalent greater than 10.
  • Verify UserA receives a descriptive message explaining that the rez failed because the parcel is full
  • Verify Neither UserA's nor UserB's objects are not returned.

rez a mesh via script

  • UserA, create a prim on your parcel and add the following script
default{touch_start(integer total_number){llRezObject(llGetInventoryName(INVENTORY_OBJECT, 0), llGetPos()+<0,0,1>, ZERO_VECTOR, ZERO_ROTATION, 1);}}
  • UserA, put a mesh that has a prim equivalent greater than 10 inside the contents of the prim.
  • Touch the prim.
  • Verify UserA receives a descriptive message explaining that the rez failed because the parcel is full
  • Verify Neither UserA's nor UserB's objects are not returned.

resize a mesh

  • UserA, rez a mesh that has a prim equivalent less than 10.
  • UserA, resize the mesh larger, so its cost increases past 10
  • UserA, deselect the object
  • (Ideal behavior: The scale operation fails and the object snaps back to its previous scale. A helpful error message explains that the scale operation failed because it would have exceeded the parcel's resource limit.)
  • Verify UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.
  • Also test:
    • A rezzes object, B rezzes object, A scales already-rezzed object beyond resource limit.
    • B rezzes object, A rezzes object, A scales B's already-rezzed object (B will need to give A permissions to do this)

change Physics shape type manually

  • UserA, rez a mesh that has a prim equivalent less than 10.
  • UserA, change the Physics Shape Type to Prim. (This should increase the cost past 10)
  • Verify UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.


  • UserA, link several torii together
  • UserB, rez other prims or meshes on the parcel until the parcel prim limit is reached.
  • UserA, edit the root prim of the torii linked set and set the Physics Shape Type to Convex Hull
  • Verify the Prim equivalent of the object increased , overflowing the parcel prim limit and causing the linked set to return.
  • Verify this caused no other objects to return.

change the physics shape type as a result of linking or unlinking.

  • UserA, on some parcel other than your own, rez a mesh that has a prim equivalent less than 10.
  • Duplicate the mesh and link the 2 meshes together.
  • Set the Physics Shape Type to None. (You'll see an error, but that's okay. The child mesh is now set to None)
  • Take the linked mesh into inventory.
  • Rez the linked mesh onto your parcel
  • UserB, Fill up the parcel with objects
  • UserA, Unlink the linked meshes.
  • Verify one of UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.
  • It would be better if only the prims of the linked object were returned. Or better yet, the unlink should fail with a helpful error because it will cause a surprise object return situation.(SH-570)

stand up from a vehicle

  • UserA, Sit on a Mesh that has a prim equivalent greater than 10 then drag it onto your parcel
  • Verify no prims are returned.
  • UserA, stand up.
  • Verify UserA's mesh object (the vehicle) is returned.
  • Verify UserA receives a descriptive message explaining why the vehicle was returned.
  • Verify UserB's objects are not returned.

change a temporary prim into a temporary mesh

  • UserA, create 15 torii on a different parcel.
  • Link the torii together.
  • Set the torii to Temporary by checking the Temporary box in the Objects tab of the Edit Tools.
  • Move the linked set onto your parcel and deselect the linked set.
  • Verify no objects return. (because temporary prims are not counted against the parcel resource limit)
  • Edit the torii and set the Physics Shape Type to Convex Hull then deselect the object.
  • Verify UserA's mesh object is returned. (because temporary meshes are counted against the parcel resource limit)
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.

drop a mesh attachment that would overflow the parcel

  • UserA, attach a mesh that has a resource cost greater than the resource available on your parcel.
  • UserA, stand on your parcel and attempt to Drop the attachment on the parcel.
  • Verify UserA's attachment is not dropped on the parcel.
  • Verify UserA receives the same standard error message as when you try to drop a prim attachment on a parcel that is full.

parcel resources shrink due to abandon, causing overflow

  • UserA: subdivide your parcel into 2 halves
  • UserA: rez a mesh object onto one of the halves
  • UserB: rez another mesh object onto one of the halves. Choose an object which brings the parcel to over 50% full
  • UserA: abandon the empty parcel
  • Verify The parcel prim resource dropped accordingly (via About Land)
  • Verify UserA's object is not returned
  • Verify UserB's object is returned

parcel resources shrink due to decreased region object bonus, causing overflow

  • Estate manager: set the region "object bonus" to 2.0, and hit "Apply"
  • UserA: rez a mesh object onto your parcel
  • UserB: rez another mesh object onto the parcel. Choose an object which brings the parcel to over 50% full
  • Estate manager: set the region "object bonus" to 1.0, and hit "Apply"
  • Verify The parcel prim resource dropped by a factor of 2 (via About Land)
  • Verify UserA's object is not returned
  • Verify UserB's object is returned

parcel prim limits do not immediately apply to selected objects

  • UserA: rez a mesh object onto your parcel
  • UserA: rez a 2nd mesh object next to your parcel, with enough cost to cause overflow returns
  • UserA: drag the 2nd object onto your parcel, and don't deselect it
  • UserA: wait a minute or two
  • Verify neither of UserA's objects are returned
  • UserA: deselect the 2nd object
  • Verify that the 2nd object is returned within a few seconds