Improved Item Exchange with Other Grids

We updated the system today with a change that makes it easier to take items from other grids into Kitely, and then take them with you when you leave Kitely to visit other grids.

This update also includes several bug fixes, including a bug that sometimes prevented Hypergrid users from teleporting into Kitely.

Improved Item Exchange with Other Grids

Kitely is a Content-Filtered open grid. Unlike unfiltered open grids, Kitely enables content creators to decide whether the items they create may be taken to other grids, or will be treated as unexportable content. There are two ways that content creators can specify this preference. The first method is used only for items in Kitely Market: such items have an explicit “Export” flag, which determines whether they can be taken out of Kitely. This method hasn’t changed, and will not be discussed in this blog post. For any objects not acquired from Kitely Market, we use the following rule: if the object has Copy + Transfer (CT) permissions then it may be exported out of Kitely. Otherwise, it may not leave Kitely.

If an item isn’t allowed to be exported then users may not:

  • Wear it while teleporting to other grids
  • Store it in their “My Suitcase” folder while teleporting to other grids
  • Have it included in exported OAR files

But what happens if a Kitely user, while visiting another grid, picks up an item that doesn’t have CT permissions? Since that item clearly came from another grid, there’s no reason to prevent it from leaving Kitely. For this reason, we added the “Foreign Grid” flag: if an object came to Kitely from another grid then we turn this flag on, and that allows the object to be exported from Kitely even if it doesn’t have CT permissions.

And now we get to the problem that today’s update fixes. Until today, we had an exception to the “Foreign Grid” rule: if the item already existed in Kitely before the user picked it up in the foreign grid, then we wouldn’t turn on the “Foreign Grid” flag. This meant that the user still couldn’t export the item out of Kitely (e.g., by wearing it), despite the fact that we had already seen the item in a different grid.

The idea behind this logic was that even if the item already exists in one foreign grid, perhaps we shouldn’t allow it to proliferate any further. But this turned out to be a mistake. In the vast majority of cases, it prevented users from taking legitimate free content out of Kitely. It came down to randomness: if a certain common item without CT permissions (e.g., a Linda Kellie item) was first imported directly into Kitely by any Kitely user (e.g., using Load OAR), then we would never allow it to leave. But if the same item first came into Kitely from another grid, then it would be allowed to leave. This made no sense. It also didn’t add much to security, since we still couldn’t prevent items from being taken out using Copybots.

After consulting with our users we decided to change this logic, by removing the exception described above. Now, if we see an item in a foreign grid, then we always enable the “Foreign Grid” flag on the item, even if it already exists in Kitely. This change will make it much easier to pick up items in other grids and be sure that they will be allowed to enter and leave Kitely freely.

Please note that this change won’t affect existing items in your inventory, so if you had any items that suffered from this problem (you couldn’t leave Kitely with them) then you should pick up a new copy of the item from the foreign grid. We’re sorry for this inconvenience, but this will only need to be done once.

A note to Kitely Market merchants: this change doesn’t affect the exportability of products that were bought from Kitely Market. The explicit “Export” flag on such items takes precedence over everything else, so No-Export items won’t be allowed to leave Kitely even if they have CT permissions, and even if they have the “Foreign Grid” flag.

OSSL Permissions

When we recently updated to OpenSim 0.8.2 Dev we changed the permissions of a few OSSL functions, allowing fewer people to use them (e.g., only World Managers vs. Everyone). These changes were originally made in the core version of OpenSim, because the developers have come to consider some functions to be more dangerous than previously thought. We chose to accept these changes in order to maintain security and compatibility with other grids that are using the latest version of OpenSim. We’ve updated the list of Supported OSSL Functions to reflect the new functions and permissions.

Bug Fixes

This release also includes a number of bug fixes:

There was a bug that prevented Transfer Stations from working for users that came in from other grids. This meant that if users on other grids tried to visit a Kitely world, and that world was offline, then the teleport failed. Now the teleport will succeed, and the user will be sent to the Transfer Station while the world is being started. (This is how Kitely had worked up until we upgraded to OpenSim 0.8.2 earlier this month; that’s when this bug started.)

Kitely allows restricting access to Kitely worlds to users who belong to a certain OpenSim Group. Until today, such restrictions only worked for Kitely users. While you could add Hypergrid users to your Groups, they still weren’t allowed to enter restricted worlds. This bug has been fixed, so now Hypergrid users who belong to Groups will be allowed to visit worlds that are restricted to members of those Groups.

It is now possible to visit Kitely from other grids by entering kitely.com:8002 in the World Map. The correct address for Kitely is actually grid.kitely.com:8002, so until today if anyone tried to visit by entering just “kitely.com:8002” then they received an error. But now we allow this address to work. However, we still recommend entering the full address (grid.kitely.com:8002), because foreign grids may cache these addresses and we prefer that they cache the correct address.

Published by

Oren Hurvitz

Oren Hurvitz is the Co-Founder and VP R&D of Kitely.