Switch an avatar’s entire inventory to FullPerm

⚠️Be very careful when manipulating the database. The ideal is to do the manipulations on a local server to extract an IAR once the permissions have been modified.

This article describes how to change all assets to Full Permission to allow sharing and modification.
The permissions of inventory items are stored in the inventoryitems table of the database.
The structure of the table is as follows.

mysql> DESCRIBE inventoryitems;
+------------------------------+--------------+------+-----+--------------------------------------+-------+
| Field                        | Type         | Null | Key | Default                              | Extra |
+------------------------------+--------------+------+-----+--------------------------------------+-------+
| assetID                      | varchar(36)  | YES  |     | NULL                                 |       |
| assetType                    | int          | YES  |     | NULL                                 |       |
| inventoryName                | varchar(64)  | YES  |     | NULL                                 |       |
| inventoryDescription         | varchar(128) | YES  |     | NULL                                 |       |
| inventoryNextPermissions     | int unsigned | YES  |     | NULL                                 |       |
| inventoryCurrentPermissions  | int unsigned | YES  |     | NULL                                 |       |
| invType                      | int          | YES  |     | NULL                                 |       |
| creatorID                    | varchar(255) | NO   |     | 00000000-0000-0000-0000-000000000000 |       |
| inventoryBasePermissions     | int unsigned | NO   |     | 0                                    |       |
| inventoryEveryOnePermissions | int unsigned | NO   |     | 0                                    |       |
| salePrice                    | int          | NO   |     | 0                                    |       |
| saleType                     | tinyint      | NO   |     | 0                                    |       |
| creationDate                 | int          | NO   |     | 0                                    |       |
| groupID                      | varchar(36)  | NO   |     | 00000000-0000-0000-0000-000000000000 |       |
| groupOwned                   | tinyint      | NO   |     | 0                                    |       |
| flags                        | int unsigned | NO   |     | 0                                    |       |
| inventoryID                  | char(36)     | NO   | PRI | 00000000-0000-0000-0000-000000000000 |       |
| avatarID                     | char(36)     | YES  | MUL | NULL                                 |       |
| parentFolderID               | char(36)     | YES  | MUL | NULL                                 |       |
| inventoryGroupPermissions    | int unsigned | NO   |     | 0                                    |       |
+------------------------------+--------------+------+-----+--------------------------------------+-------+
20 rows in set (0.00 sec)

We will only modify the permissions of my avatar’s inventory in this example.
The first thing to do is to retrieve the UUID of the avatar:

Once the UUID is retrieved, run this query with the UUID of your choice.

mysql> update inventoryitems SET inventoryCurrentPermissions='581647', inventoryBasePermissions='581647', inventoryNextPermissions='581632' where avatarID='7317c599-4441-4807-87f5-a74bb4dc1895';

You should have a result like:

Query OK, 1966 rows affected (0.35 sec)
Rows matched: 1966  Changed: 1966  Warnings: 0

Quit Firestorm and log back in.
Choose an item in your inventory and check the permissions.
You can also use this query on an item’s name:

mysql> select avatarID,inventoryName,inventoryCurrentPermissions,inventoryBasePermissions,inventoryNextPermissions from inventoryitems where inventoryName='LudoCUBE';
+--------------------------------------+---------------+-----------------------------+--------------------------+--------------------------+
| avatarID                             | inventoryName | inventoryCurrentPermissions | inventoryBasePermissions | inventoryNextPermissions |
+--------------------------------------+---------------+-----------------------------+--------------------------+--------------------------+
| 7317c599-4441-4807-87f5-a74bb4dc1895 | LudoCUBE      |                      581647 |                   581647 |                   581632 |
+--------------------------------------+---------------+-----------------------------+--------------------------+--------------------------+

Back in Firestorm all objects are in Full Permissions. However it is possible that the contents have restrictions. We can quickly fix this in Firestorm by switching to God Mode. Developer > Request Admin Status.

Once in God Mode you just need to select the object on the ground and go to Admin > Object > Force Owner Permissive.

The change may take a few seconds. Wait for the item’s inventory to refresh on its own.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *