Varregion/Protocol

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(First region after login)
(Terrain patch format)
 
(3 intermediate revisions by one user not shown)
Line 20: Line 20:
 
====First region after login====
 
====First region after login====
 
At login, the XML returned from the login reply should contain the fields "region_size_x" and "region_size_y", with the region dimensions as an integer. This is the size of the first region.
 
At login, the XML returned from the login reply should contain the fields "region_size_x" and "region_size_y", with the region dimensions as an integer. This is the size of the first region.
Must be specified in Regions.ini SizeX, SizeY and SizeZ otherwise there is an error with regions of different sizes.
+
Must be specified in Regions.ini SizeX, SizeY otherwise there is an error with regions of different sizes.
  
 
====Other regions====
 
====Other regions====
Line 26: Line 26:
  
 
===Terrain Patch===
 
===Terrain Patch===
Terrain is sent in blocks of patches of 16 x 16 terrain heights, as with Second Life.[http://opensimulator.org/pipermail/opensim-dev/2023-May/026946.html]. Terrain squares are 4x4 meters regardless of region size.  Larger regions have more patches.
+
Terrain is sent in blocks of patches of 16 x 16 terrain heights, corresponding to 16x16m land blocks, as with Second Life.[http://opensimulator.org/pipermail/opensim-dev/2023-May/026946.html].  Larger regions have more patches.
  
The format of terrain patches is slightly different for large regions. If a terrain patch layer type 'L' (Land), the position of the patch in the region is two 5-bit fields. The unit of measure for patch position is 4 meters, so that's enough for a 256x256 meter region, but not enough for larger regions. So, there is also a terrain patch layer type "M" (AuroraLand in Firestorm viewer). In this format the position of the patch in the region is two 16-bit fields, in [y,x] order.
+
The format of terrain patches is slightly different for large regions. If a terrain patch layer type 'L' (Land), the position of the patch in the region is two 5-bit fields. This field is too small for regions beyond 256x256. So, there is also a terrain patch layer type "M" (ExtendedLand). In this format the position of the patch in the region is two 16-bit fields, in [y,x] order.
  
 
===Cloud Patch===
 
===Cloud Patch===

Latest revision as of 10:59, 23 May 2023

Varregion Protocol

Contents

The communication protocols need extensions to pass around the size of the regions. These extensions are in the simulator to client protocols, the simulator to simulator protocols and the simulator to grid service protocols. This page documents most of the changes.

[edit] Simulator to Client Protocol

NOTE: These LLUDP messages are currently blacklisted and no longer used. This information is now passed via a capability.

  • EnableSimulator event message: add integers 'RegionSizeX' and 'RegionSizeY'
  • CrossRegion event message: add integers 'RegionSizeX' and 'RegionSizeY' to 'RegionData' section.
  • TeleportFinish event message: add integers 'RegionSizeX' and 'RegionSizeY' to 'Info' section.

EstablishAgentCommunication event message: at a point had integers 'region-size-x' and 'region-size-y', Those where not used, so removed.

[edit] Discovering region size

Current Open Simulator restrictions, as of 2023, are square regions only, with sizes multiples of 256x256m, aligned on boundaries which are multiples of 256. Maximum region size is 4096 x 4096 meters. Template:Citeneeded.

There have been both simulators and viewers in the past with fewer restrictions.

[edit] First region after login

At login, the XML returned from the login reply should contain the fields "region_size_x" and "region_size_y", with the region dimensions as an integer. This is the size of the first region. Must be specified in Regions.ini SizeX, SizeY otherwise there is an error with regions of different sizes.

[edit] Other regions

"Some information for var regions is only sent using the HTTP region capability 'Event'"[1]

[edit] Terrain Patch

Terrain is sent in blocks of patches of 16 x 16 terrain heights, corresponding to 16x16m land blocks, as with Second Life.[2]. Larger regions have more patches.

The format of terrain patches is slightly different for large regions. If a terrain patch layer type 'L' (Land), the position of the patch in the region is two 5-bit fields. This field is too small for regions beyond 256x256. So, there is also a terrain patch layer type "M" (ExtendedLand). In this format the position of the patch in the region is two 16-bit fields, in [y,x] order.

[edit] Cloud Patch

[edit] Wind Patch

[edit] Simulator to Grid Service Protocol

[edit] Simulator to Simulator Protocol

  • HelloNeighbor message: add 'region_size_x' and 'region_size_y' to region info.
Personal tools
General
About This Wiki