Grid Integration - Grid Management Interface


Snoopy Pfeffer's picture

By Snoopy Pfeffer - Posted on 05 January 2012

Owners of OpenSim grids can ask us to enable the Grid Management Interface (GMI) for their grid. It is a REST HTTP-S, encrypted and password protected interface for your grid. It provides you to call the following functions:

  • create_user - Create a new user account
  • update_user - Update an user account (i.e. set a new password)
  • exists_user - Check if a user account exists already
  • disable_users - Disable user accounts
  • enable_users - Enable user accounts
  • online_users - Get list of users online
  • list_users - Get list of all exiting user accounts
  • get_partner - Get the partner of a user
  • set_partner - Set the partner of a user

All these functions support optional parameters Failed and Succeeded. These allow you to redirect the output to another web page, based on if that grid management function did fail or succeed.

Create User

This kind of HTTP-S request creates a new user account:

  https://<domain name>/<grid name>/create_user.php?PW=<GMI password>&FirstName=<first name>&LastName=<last name>&Password=<user password>&Email=<email address>&Model=<default avatar>&Succeeded=<succeeded URL>&Failed=<failed URL>

Update User

This kind of HTTP-S request to update a user account:

  https://<domain name>/<grid name>/update_user.php?PW=<GMI password>&FirstName=<first name>&LastName=<last name>&Password=<user password>&Model=<default avatar>&Succeeded=<succeeded URL>&Failed=<failed URL>

Exists User

With this kind of HTTP-S request you can check if a user account exists already:

  https://<domain name>/<grid name>/exists_user.php?PW=<GMI password>&FirstName=<first name>&LastName=<last name>&Succeeded=<succeeded URL>&Failed=<failed URL>

Without the Succeeded and Failed parameters, the strings "true" or "false" are returned.

Disable Users

With this kind of HTTP-S request you can disable user accounts:

  https://<domain name>/<grid name>/disable_users.php?PW=<GMI password>&Users=<user name list>

Users has to be a comma separated list of user names.

Enable Users

With this kind of HTTP-S request you can enable user accounts:

  https://<domain name>/<grid name>/enable_users.php?PW=<GMI password>&Users=<user name list>

Users has to be a comma separated list of user names.

Online Users

With this kind of HTTP-S request you can get a list of all users currently online:

  https://<domain name>/<grid name>/online_users.php?PW=<GMI password>

The user list returned consists of one user per line, using the following format:

  <first name>,<last name>,<logged in since seconds>,<region name>,<coordinates>

Example:

  James,Bond,7428,My Home,<128.6,202.7,25.8>

Online Friends

With this kind of HTTP-S request you can get a list of all friends of a user currently online:

  https://<domain name>/<grid name>/online_friends.php?PW=<GMI password>&User=<User UUID>

The user list returned consists of one user per line, using the following format:

  <first name>,<last name>,<logged in since seconds>,<region name>,<coordinates>

Example:

  James,Bond,7428,My Home,<128.6,202.7,25.8>

List Users

With this kind of HTTP-S request you can get a complete list of all existing user accounts:

  https://<domain name>/<grid name>/list_users.php?PW=<GMI password>

The user list returned consists of one user per line, using the following format:

  <first name>,<last name>,<email>

Example:

  James,Bond,7428,james.bond@secretagents.uk

Get Partner

With this kind of HTTP-S request you can get the partner of a user:

  https://<domain name>/<grid name>/get_partner.php?PW=<GMI password>&User=<User UUID>

If no Partner is defined, a Zero UUID is returned.

Set Partner

With this kind of HTTP-S request you can set the partner of a user:

  https://<domain name>/<grid name>/set_partner.php?PW=<GMI password>&User=<User UUID>&Partner=<User UUID>

If no Partner is provided as argument or if the Partner is a Zero UUID, the existing partnership of that user is dissolved. It is necessary to set the partners of both user profiles to create a mutual partnership. Here you can find an example LSL script for an in-world Partners Terminal.

The Grid Management Interface also provides a function to restart regions. In case you also need this function, please contact us for more information.

Warning:  Be sure not to disclose your management password by sending the previous requests directly from an HTML page. People can view the source code and find out your password. These requests should only be sent by server side scripts of your web server or by your backoffice systems.

SSL Server Certificate

Download the server certificate used for the Grid Management Interface here. Install this certificate to not get certificate errors for scripts using your Grid Management Interface. You should avoid simply ignoring certificate errors, because it would allow man-in-the-middle attacks.