Metaverse Ink Search for OpenSims


You knew this was coming, and here it is: Metaverse Ink Search is now serving OpenSims around the world! This has been in the works for a while — in fact, it has been working for a while — but we kept it under wraps. A month ago or so, Eric Reuters wrote an article about it, but we still didn’t say much of how this whole thing works for OpenSim. This post explains it.

We worked with the OpenSim project in implementing the basic plumbing for search engines to operate in virtual worlds. We think this basic plumbing is the right support for searching virtual worlds, be them closed or open to the world wide web, and we are happy to see the grid-wide search project now using this same basic plumbing. The fundamental design philosophy is that the region’s data exposure to clients other than the viewer is a decision that involves 3 authorities: grid operators (if regions are connected to grids), region administrators, and parcel owners/content producers:

  • Grid operators decide whether the grid is to be closed or open, and the amount of openness.  For closed grids, their data should be off-limits to external search engines like MI Search, just like the data in Bank Of America is off-limits to Google. This can easily be achieved by setting region configuration variables appropriately. Those configuration variables can be set so that only a grid-wide search engine can access the regions’ data.
  • For open grids and standalone sims, region administrators decide whether to expose the data, the level of data exposure, and *which search engines can access it*. This last part makes virtual world search subtly different from web search, and for the better. On the web, search engines find web servers, and their pages, by following hyperlinks. All data reached is assumed to be public and, as such, indexable. This has caused a lot of pain on the Web, so let’s not go there. The idea here is that region administrators decide who indexes their data, and how much data is exposed to them. Data can be exposed to one or more virtual world search engines.
  • Finally, parcel owners and content producers decide what data is intended to be found by checking the “show in search” check box in parcels and objects. In OpenSims, that checkbox tends to be free of charge.

All this is accomplished by configuring a core module of OpenSim called DataSnapshot. The configuration is done in OpenSim.ini, in the section pertaining to the DataSnapshot module, and it allows the variety of behaviors described above. So if you want the searchable data in your region listed with MI Search, go ahead and configure OpenSim.ini for it.

A second optional module deals with serving images (see how it looks here). This module, called ImageService, is a region module that extends regions with the ability to serve images onto the Web, so that explicitly marked, rich 2D content can be shared within a grid and/or with the whole world. The only images served are those whose keys are exposed via the DataSnapshot module, i.e. images related to things marked for search. That way we avoid exposing the entire collection of textures stored on the grid/asset server. The ImageService module is available from OpenSim’s GForge. If you want MI Search to show pictures of your wonderful regions, go ahead and place the dll of the ImageService in your OpenSim/bin directory.

The DataSnapshot module has been part of OpenSim since April 2008; the ImageService is our latest addition. OpenSim region operators have been able to figure it out, even though there were no announcements whatsoever. So much so, that we now have hundreds of regions on our opensim index in a variety of places, grid-ed and standalones. We are really excited to provide the first glimpse of the emerging Virtual World Web!