GridService

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Add intro section)
(Methods)
Line 3: Line 3:
 
The grid service manages information about regions on the grid.
 
The grid service manages information about regions on the grid.
  
= Methods =
+
= API =
Methods available on the grid service are
+
Functions available on the grid service are
  
 
* register - registers a region with the grid.
 
* register - registers a region with the grid.
Line 19: Line 19:
 
* get_hyperlinks - get linked Hypergrid regions.
 
* get_hyperlinks - get linked Hypergrid regions.
 
* get_region_flags - get flags for a region.
 
* get_region_flags - get flags for a region.
 +
 +
== get_region_range ==
 +
This gets information on all the regions in a given co-ordinate range.
 +
 +
The POST field is a urlencoded string like so
 +
 +
SCOPEID=00000000-0000-0000-0000-000000000000&XMIN=0&YMIN=0&XMAX=2147483647&YMAX=2147483647&METHOD=get_region_range
 +
 +
where
 +
 +
* '''SCOPEID''' must always be present and always 00000000-0000-0000-0000-000000000000 (UUID.Zero) at the present time.
 +
* '''XMIN''' The minimum x-coordinate in the region range.  Please note that this is in meters, not 256m map tiles.  So to start this at map tile co-ordinate 1000, one must specify 256000 (1000 * 256).
 +
* '''YMIN''' The minimum u-coordinate in the region range.  Please note that this is in meters, not 256m map tiles.
 +
* '''XMAX''' The maximum x-coordinate in the region range.  Please note that this is in meters, not 256m map tiles.
 +
* '''XMIN''' The maximum y-coordinate in the region range.  Please note that this is in meters, not 256m map tiles.
 +
 +
If there are any regions in the range, a response like
 +
 +
<source lang='xml'>
 +
<?xml version="1.0"?>
 +
<ServerResponse>
 +
  <region0 type="List">
 +
    <uuid>dd5b77f8-bf88-45ac-aace-35bd76426c81</uuid>
 +
    <locX>256000</locX>
 +
    <locY>256000</locY>
 +
    <sizeX>256</sizeX>
 +
    <sizeY>256</sizeY>
 +
    <regionName>test</regionName>
 +
    <serverIP>192.168.1.2</serverIP>
 +
    <serverHttpPort>9000</serverHttpPort>
 +
    <serverURI>http://192.168.1.2:9000/</serverURI>
 +
    <serverPort>9000</serverPort>
 +
    <regionMapTexture>fc8fda13-c2e9-4e83-8543-b7fe98231399</regionMapTexture>
 +
    <parcelMapTexture>00000000-0000-0000-0000-000000000000</parcelMapTexture>
 +
    <access>13</access>
 +
    <regionSecret>0ab0a97d-ffcc-4b29-a715-74372b763b88</regionSecret>
 +
    <owner_uuid>f2f493c0-27d3-4cf2-be97-b44dfdad13b6</owner_uuid>
 +
    <Token/>
 +
  </region0>
 +
  <region1 type="List">
 +
    <uuid>dd5b77f8-bf88-45ac-aace-35bd76426c82</uuid>
 +
    <locX>256000</locX>
 +
    <locY>256256</locY>
 +
    <sizeX>256</sizeX>
 +
    <sizeY>256</sizeY>
 +
    <regionName>test2</regionName>
 +
    <serverIP>192.168.1.2</serverIP>
 +
    <serverHttpPort>9000</serverHttpPort>
 +
    <serverURI>http://192.168.1.2:9000/</serverURI>
 +
    <serverPort>9001</serverPort>
 +
    <regionMapTexture>e8c14947-c7d2-48e8-bab2-5a62ec4da4d8</regionMapTexture>
 +
    <parcelMapTexture>00000000-0000-0000-0000-000000000000</parcelMapTexture>
 +
    <access>13</access>
 +
    <regionSecret>273b84ff-bfe1-480b-901b-c6e4bcd3e091</regionSecret>
 +
    <owner_uuid>f2f493c0-27d3-4cf2-be97-b44dfdad13b6</owner_uuid>
 +
    <Token/>
 +
  </region1>
 +
</ServerResponse>
 +
</source>
 +
 +
If no matching regions are found then
 +
 +
<source lang='xml'>
 +
<?xml version="1.0"?>
 +
<ServerResponse>
 +
  <result>null</result>
 +
</ServerResponse>
 +
</source>
 +
 +
will be returned.

Revision as of 16:23, 29 July 2014

Introduction

The grid service manages information about regions on the grid.

API

Functions available on the grid service are

  • register - registers a region with the grid.
  • deregister - deregisters a region from the grid.
  • get_neighbours - gets the region neighbours of a given location.
  • get_region_by_uuid - returns region details given a region UUID.
  • get_region_by_position - returns region details given a position.
  • get_region_by_name - returns region details given a name. This will only return the first name if there are multiple regions with the same name.
  • get_regions_by_name - returns details of all regions that match a given name
  • get_region_range - returns details of all regions in a given area
  • get_default_regions - returns default regions for a grid. These are regions that are tried in order if the requested login region does not exist.
  • get_default_hypergrid_regions - returns default Hypergrid regions for a grid. These are regions that are tried in order if Hypergrid destination request by an inbound foreign user does not exist.
  • get_fallback_regions - returns fallback regions for a grid. These are regions that are tried in order if no default regions are online.
  • get_hyperlinks - get linked Hypergrid regions.
  • get_region_flags - get flags for a region.

get_region_range

This gets information on all the regions in a given co-ordinate range.

The POST field is a urlencoded string like so

SCOPEID=00000000-0000-0000-0000-000000000000&XMIN=0&YMIN=0&XMAX=2147483647&YMAX=2147483647&METHOD=get_region_range 

where

  • SCOPEID must always be present and always 00000000-0000-0000-0000-000000000000 (UUID.Zero) at the present time.
  • XMIN The minimum x-coordinate in the region range. Please note that this is in meters, not 256m map tiles. So to start this at map tile co-ordinate 1000, one must specify 256000 (1000 * 256).
  • YMIN The minimum u-coordinate in the region range. Please note that this is in meters, not 256m map tiles.
  • XMAX The maximum x-coordinate in the region range. Please note that this is in meters, not 256m map tiles.
  • XMIN The maximum y-coordinate in the region range. Please note that this is in meters, not 256m map tiles.

If there are any regions in the range, a response like

<?xml version="1.0"?>
<ServerResponse>
  <region0 type="List">
    <uuid>dd5b77f8-bf88-45ac-aace-35bd76426c81</uuid>
    <locX>256000</locX>
    <locY>256000</locY>
    <sizeX>256</sizeX>
    <sizeY>256</sizeY>
    <regionName>test</regionName>
    <serverIP>192.168.1.2</serverIP>
    <serverHttpPort>9000</serverHttpPort>
    <serverURI>http://192.168.1.2:9000/</serverURI>
    <serverPort>9000</serverPort>
    <regionMapTexture>fc8fda13-c2e9-4e83-8543-b7fe98231399</regionMapTexture>
    <parcelMapTexture>00000000-0000-0000-0000-000000000000</parcelMapTexture>
    <access>13</access>
    <regionSecret>0ab0a97d-ffcc-4b29-a715-74372b763b88</regionSecret>
    <owner_uuid>f2f493c0-27d3-4cf2-be97-b44dfdad13b6</owner_uuid>
    <Token/>
  </region0>
  <region1 type="List">
    <uuid>dd5b77f8-bf88-45ac-aace-35bd76426c82</uuid>
    <locX>256000</locX>
    <locY>256256</locY>
    <sizeX>256</sizeX>
    <sizeY>256</sizeY>
    <regionName>test2</regionName>
    <serverIP>192.168.1.2</serverIP>
    <serverHttpPort>9000</serverHttpPort>
    <serverURI>http://192.168.1.2:9000/</serverURI>
    <serverPort>9001</serverPort>
    <regionMapTexture>e8c14947-c7d2-48e8-bab2-5a62ec4da4d8</regionMapTexture>
    <parcelMapTexture>00000000-0000-0000-0000-000000000000</parcelMapTexture>
    <access>13</access>
    <regionSecret>273b84ff-bfe1-480b-901b-c6e4bcd3e091</regionSecret>
    <owner_uuid>f2f493c0-27d3-4cf2-be97-b44dfdad13b6</owner_uuid>
    <Token/>
  </region1>
</ServerResponse>

If no matching regions are found then

<?xml version="1.0"?>
<ServerResponse>
  <result>null</result>
</ServerResponse>

will be returned.

Personal tools
General
About This Wiki