rezzme:// URI scheme: addressing virtual world places
we are using Linden Labs’s scondlife clients (and derivatives thereof) to login to and render our OpenSim? based virtual worlds. as the secondlife client is produced by Linden Labs for their secondlfe grid, it should come as no suprise that their client by default only talks to their grid(s). however, it is possible to tell the secondlife client to connect to one of our grids…
…but the method is not very user friendly and rather requires “specialist” know-how — which is fine for developers but not really appreciated by normal users.
another issue that we face is addressing virtual world places in non-Linden Lab grids: the SLURL way of doing this unfortunately works with the Linden Lab main grid only.
so, we looked for a way to (a) simplify things and (b) allow us to address places in any virtual grid. we created a new URI scheme, the rezzme:// URI scheme (URIs are kind of the glue that ties the internet together: everytime you click on a link such as http://opensim.zurich.ibm.com/ you are using an HTTP URI).
rezzme:// URI scheme
each rezzme:// URI follows the scheme suggested by RFC 2396 and can either
-
address just a grid:
rezzme://opensim.zurich.ibm.com:9000/
-
address a grid and a region on that grid
rezzme://opensim.zurich.ibm.com:9000/zurela
-
address a grid, a region, and an X/Y/Z location in that region
rezzme://opensim.zurich.ibm.com:9000/zurela/128/34/23
-
address a grid and include the avatar’s name:
rezzme://Dr%20Scofield@opensim.zurich.ibm.com:9000/zurela
-
address a grid and include the avatar’s name and password:
rezzme://Dr%20Scofield:S3CR3T@opensim.zurich.ibm.com:9000/zurela
here’s an example rezzme:// URI:
rezzme://opensim.zurich.ibm.com:9000/aluminium/128/128/33
rezzme:// protocol handler
the rezzme:// URI scheme by itself is just half the story, you need to have a protocol handler, which is what this project provides: a reference implementation in python for both windows and linux. it does require PyQt4 to be installed — you can however create a windows binary that has everything bundled.
the rezzme:// protocol handler parses rezzme:// URIs and extracts the grid server part. using the grid server part — opensim.zurich.ibm.com:9000 in the example above — it then attempts to obtain that grid’s GridInfo block via REST from the grid server and, if successful, uses the login URI information from the GridInfo? block to configure the secondlife client (if it could not retrieve a GridInfo? block it will use the grid server as specified in the rezzme:// URI instead).
if the rezzme:// URI included place information (region/island, X/Y/Z coordinates), the protocol handler will create a suitable secondlife:/// URI for the secondlife client.
other features of the rezzme:// protocol handler:
- bookmarking of
rezzme:// URIs (including editor and quick access via system tray icon)
- support for external authentication mechanisms
- support for selecting and using different clients (different versions of the secondlife client, hippo client)
source code repository
rezzme's source code repository is hosted on github.
| General Sections |
| Tracker Bugs
( 0 Open / 0 Total ) Bug Tracking System
Patches
( 0 Open / 0 Total ) Patch Tracking System
Feature Requests
( 0 Open / 0 Total ) Feature Request Tracking System
Support
( 1 Open / 1 Total ) Tech Support Tracking System
To-Do
( 0 Open / 0 Total ) To-Do tasks for this project
|
|
|
|
| Activity |
|
| Description |
the rezzme:// URI scheme allows us to
address opensim (and also secondlife)
grids. the rezzme:// protocol handler
and launcher utilizes OpenSim's GridInfo
protocol to obtain the required
commandline parameters for the
secondlife client and configures the
client accordingly. it also allows to
bookmark virtual world locations and
comes with an accompanying system tray
application providing access to the
bookmarks list.
|
| Developer Info |
Dr Scofield
|
| Trove Categorization |
- Development Status: 5 - Production/Stable
- Intended Audience: End Users/Desktop
- License: BSD License
- Operating System: OS Independent
- Programming Language: Python
- Spoken Language: English
- Topic: Other
|
|