Setting Up Mega-Regions

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(Fixed Mega-Region example)
 
(19 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{needsexample}} {{content}}  
+
{{Quicklinks}}
 +
{{needsexample}}
 +
{{ambox
 +
| type = content
 +
| text = <div style="background-color:#FFA0A0; padding:10px; padding-bottom:5px; border: 1px #FF544F solid width: 100%">
 +
Megaregions have been replaced by a more flexible and better supported [[Varregion]] capability from OpenSimulator 0.8.2 onwards. Updated December 16, 2015
  
<br>
+
Megaregions removed from OpenSimulator 0.9.0 onwards
 +
</div>
 +
}}
 +
= Introduction =
  
There are still some outstanding issues being addressed by the Dev team.&nbsp; If you wish to incorporate your existing regions into a MegaRegion, make OARS&nbsp;and do Full Backups of everything on the current regions.&nbsp; Restoring OAR will deposit the restored region on the most South West Corner ONLY.&nbsp; This is being worked out at the time of this writting.&nbsp;(more information needs to be put in this area...)
+
Megaregions are an experimental feature of OpenSimulator that allow multiple 256 x 256 meter regions to be combined in to a single larger region, such that there is no border transition between regions and moving into the various regions will return position co-ordinates greater than 256.
  
<br>
+
Megaregions are a hack that make use of existing SL protocol mechanisms, and so do not require the viewer to be explicitly aware of the fact that a region is actually larger than 256 x 256.  As such, there are aspects of megaregions that do not work very well.  For example, teleporting into a megaregion may require the simulator to execute a double teleport for that client (one teleport after another) since the viewer cannot directly teleport into other parts of the megaregion except for the 256 x 256 part in the south-west corner.  It may be possible to resolve these with time if viewers implement explicit support for megaregions.
  
== Layout Diagram ==
+
Also, megaregion support has a number of bugs (e.g. terrain issues) which mean that it can only be considered experimental.  These are simulator-side bugs that can be fixed (slowly) over time.
  
Here is a Diagram of Possible Configurations. This is not all inclusive but is a good example of layout for the regions.  
+
A newer way of supporting large regions is called [[Varregion]]. Unlike megaregions, this requires explicit viewer support.  However, this support means that it does not need to rely on fragile hacks to work and will be much more functional and stable in the future.
  
'''''SPECIAL&nbsp;NOTE''''': Most Viewers still suffer the 4096 Teleport Bug where people cannot teleport more than 4K regions away.&nbsp; OSGrid is centered @ 10000 10000.&nbsp; Some Viewers, such as MeerKat &amp; Imprudence have addressed this recently, others will likely follow suit.&nbsp; This bug applies to HyperGrided regions as well as Non-Hypergrid regions.
+
= Layout Diagram =
  
[[Image:MegaReg Layout.png|left|512x512px|Mega region Layout Example]]
+
Here is a diagram of possible configurations. This is not all inclusive but is a good example of layout for the regions.  
  
<br>
+
'''SPECIAL NOTE''' - Some Viewers still suffer the 4096 Teleport Bug where people cannot teleport more than 4096 regions away. OSGrid is centered @ 10000 10000. Some Viewers, such as MeerKat or Imprudence, have addressed this recently, others will likely follow suit. This bug applies to HyperGrided regions as well as Non-Hypergrid regions.
  
<br>
+
Do not place Mega regions and normal regions any closer than 2 regions spaces apart, as they WILL interfere with each other.
  
<br>
 
  
<br>
+
[[Image:MegaReg Layout.png|center|512x512px|Mega region Layout Example]]
  
<br>
+
= Steps =
  
<br>
+
=== Step 0: Back Up Regions ===
  
<br>
+
If your OpenSimulator instance doesn't have currently any contents, then skip to [[#Step 1: Edit the File "OpenSim.ini"]].
  
<br>
+
If your regions have existing content, joining them may be dangerous -- you risk losing content. By way of precaution,
  
<br>
+
# Make a backup of your database. See [[Backups]] for instructions.
 +
# Make an OAR for EACH REGION which you intend integrate into a megaregion. See [[OpenSim Archives]] for instructions.
  
<br>
+
=== Step 1: Edit the File "OpenSim.ini" ===
  
<br>
+
Modify your OpenSim.ini. In <nowiki>[Startup]</nowiki> section, change
 +
<source lang="ini">
 +
    ; CombineContiguousRegions = false
 +
</source>
 +
to
 +
<source lang="ini">
 +
    CombineContiguousRegions = true
 +
</source>
  
<br>
+
=== Step 2: Edit the File "Regions.ini" ===
  
<br>
+
Edit the file Region.ini which is located in "bin/Regions".
  
<br>
+
The example provided in [[#Example of Regions.ini File]] below is for a Mega-Region consists of 3x3, 9 simulator. Fill in the correct information in all the required fields. Remember to order your regions from '''South-West to North-East ''' in your Regions.ini.
  
<br>
+
=== Step 3 : Start OpenSimulator Instance ===
  
<br>
+
Start Opensimulator. If your regions have no contents, then you already have it! If not,
  
<br>
+
# You will see a number of error messages -- ignore them.
 +
# Wait for a while before console activity stopping, then type: '''fix-phantoms'''
 +
# Wait before process completing. It can take several minutes for the backup thread to store everything.
 +
# When the console activity stops, type: '''backup''' (This will persist the data into the Database again as a precaution).
 +
# Restart Opensim, and check that all the objects are in their right places.
  
<br>
+
See Also: [http://www.metaverseink.com/blog/?p=28 Importing OARs into megaregions (Diva's blog post)]
  
<br>
+
= Example of Regions.ini File =
 
+
<br>
+
 
+
<br>
+
 
+
<br>
+
 
+
<br>
+
 
+
<br>
+
 
+
<br>
+
 
+
<br>
+
 
+
<br>
+
 
+
== Steps ==
+
 
+
<br>'''Step 1:'''&nbsp;&nbsp;
+
 
+
'''FRESH Installation:'''
+
<blockquote>This assumes you have a NEW OpenSim installation with a Clean (empty)&nbsp;Database.
+
#Modify the OpenSim.ini&nbsp; and change '''CombineContiguousRegions=false '''to '''CombineContiguousRegions=true'''.&nbsp; This is located at the top of the OpenSim.ini under the ## REGIONS&nbsp; Section.
+
#Proceed to '''Step 2''' and make sure that your '''bin\regions\RegionConfig.ini '''is configured according to the specification for MegaRegion
+
#Start your OpenSim Instance &amp;&nbsp;there you have it.
+
</blockquote>
+
'''EXISTING&nbsp;Regions Being Converted:'''
+
<blockquote>'''Warning'''! If your regions have existing content, joining them may be dangerous -- you risk losing content.&nbsp;<br>Please follow the following steps if your regions have content:&nbsp;</blockquote><blockquote>OARS&nbsp;- [[OpenSim Archives]]&nbsp;</blockquote><blockquote>
+
#'''Make a backup of your database!'''&nbsp;
+
#Make an OAR&nbsp;for EACH&nbsp;REGION which you intend integrate into a Mega-Region.&nbsp; In Console Type the following commands (Highlighted in '''BOLD'''):&nbsp; '''change region RegionName&nbsp; '''''next''&nbsp; '''save oar RegionName.tar.gz'''&nbsp; ''NB: save oar can be pathed to another directory such as''&nbsp; '''save oar c:\mybackups\RegionName.tar.gz&nbsp;'''
+
#Set "CombineContiguousRegions=true", in OpenSim.ini.
+
#'''Verify your bin\regions\RegionConfig.ini '''is configured according to the specification for MegaRegion as shown in '''Step 2'''
+
#start Opensim. You'll see a lot of error messages -- ignore them.
+
#Wait till Console Activity Stops,&nbsp;then in Console Type:&nbsp; '''fix-phantoms'''
+
#Wait till this process completes, it can take several&nbsp;minutes for the backup thread to store everything
+
#When the Console Activity Stops, then in Console Type:&nbsp; '''backup&nbsp;&nbsp; ('''''<b>This will persist the data into the Database again as a precaution)</b>''
+
#Restart Opensim, and check that all the objects are in their right places.&nbsp;
+
This has worked for me ([[User:Zonja|Zonja]]) - your mileage may vary.&nbsp;<br>Please refer to [http://www.metaverseink.com/blog/?p=28 this post from Diva] for more information&nbsp;<br></blockquote>
+
'''Step 2:'''&nbsp; bin\regions\RegionConfig.ini
+
 
+
The Example Provided here is for a 3x3, 9 Simulator Mega-Region.&nbsp; Ensure that you fill in the Correct Information in all the required fields.&nbsp;&nbsp;Order your regions from '''South-West to North-East '''in your bin\regions\RegionsConfig.ini&nbsp;&nbsp;
+
  
 
<source lang="ini">; 9 Simulator 3x3 Mega-Region Example
 
<source lang="ini">; 9 Simulator 3x3 Mega-Region Example
 
; Supply a unique UUID for each region
 
; Supply a unique UUID for each region
 
; Unique InternalPort for Each Region
 
; Unique InternalPort for Each Region
; Ensure you put your MasterAvatar UUID
 
 
;  
 
;  
 
;************************************************
 
;************************************************
Line 108: Line 84:
 
AllowAlternatePorts = False
 
AllowAlternatePorts = False
 
ExternalHostName = YourIP_DNSname
 
ExternalHostName = YourIP_DNSname
;
 
MasterAvatarUUID = 00000000-0000-0000-0000-000000000000
 
MasterAvatar =
 
MasterAvatar =
 
;MasterAvatarSandboxPassword =
 
 
;
 
;
 
;NonphysicalPrimMax = 0
 
;NonphysicalPrimMax = 0
Line 125: Line 96:
 
Location = 5000,5001
 
Location = 5000,5001
 
InternalAddress = 0.0.0.0
 
InternalAddress = 0.0.0.0
InternalPort = 9900
+
InternalPort = 9002
 
AllowAlternatePorts = False
 
AllowAlternatePorts = False
 
ExternalHostName = YourIP_DNSname
 
ExternalHostName = YourIP_DNSname
 
;
 
;
MasterAvatarUUID = 00000000-0000-0000-0000-000000000000
 
MasterAvatar =
 
MasterAvatar =
 
;MasterAvatarSandboxPassword =
 
;
 
 
;NonphysicalPrimMax = 0
 
;NonphysicalPrimMax = 0
 
;PhysicalPrimMax = 0
 
;PhysicalPrimMax = 0
Line 148: Line 114:
 
AllowAlternatePorts = False
 
AllowAlternatePorts = False
 
ExternalHostName = YourIP_DNSname
 
ExternalHostName = YourIP_DNSname
;
 
MasterAvatarUUID = 00000000-0000-0000-0000-000000000000
 
MasterAvatar =
 
MasterAvatar =
 
;MasterAvatarSandboxPassword =
 
 
;  
 
;  
 
;NonphysicalPrimMax = 0
 
;NonphysicalPrimMax = 0
Line 162: Line 123:
 
;
 
;
 
;************************************************
 
;************************************************
;
 
 
[RegionName_S]
 
[RegionName_S]
 
RegionUUID = 00000000-0000-0000-0000-000000000000
 
RegionUUID = 00000000-0000-0000-0000-000000000000
Line 170: Line 130:
 
AllowAlternatePorts = False
 
AllowAlternatePorts = False
 
ExternalHostName = YourIP_DNSname
 
ExternalHostName = YourIP_DNSname
;
 
MasterAvatarUUID = 00000000-0000-0000-0000-000000000000
 
MasterAvatar =
 
MasterAvatar =
 
;MasterAvatarSandboxPassword =
 
 
;  
 
;  
 
;NonphysicalPrimMax = 0
 
;NonphysicalPrimMax = 0
Line 191: Line 146:
 
AllowAlternatePorts = False
 
AllowAlternatePorts = False
 
ExternalHostName = YourIP_DNSname
 
ExternalHostName = YourIP_DNSname
;
 
MasterAvatarUUID = 00000000-0000-0000-0000-000000000000
 
MasterAvatar =
 
MasterAvatar =
 
;MasterAvatarSandboxPassword =
 
 
;  
 
;  
 
;NonphysicalPrimMax = 0
 
;NonphysicalPrimMax = 0
Line 211: Line 161:
 
AllowAlternatePorts = False
 
AllowAlternatePorts = False
 
ExternalHostName = YourIP_DNSname
 
ExternalHostName = YourIP_DNSname
;
 
MasterAvatarUUID = 00000000-0000-0000-0000-000000000000
 
MasterAvatar =
 
MasterAvatar =
 
;MasterAvatarSandboxPassword =
 
 
;  
 
;  
 
;NonphysicalPrimMax = 0
 
;NonphysicalPrimMax = 0
Line 232: Line 177:
 
AllowAlternatePorts = False
 
AllowAlternatePorts = False
 
ExternalHostName = YourIP_DNSname
 
ExternalHostName = YourIP_DNSname
;
 
MasterAvatarUUID = 00000000-0000-0000-0000-000000000000
 
MasterAvatar =
 
MasterAvatar =
 
;MasterAvatarSandboxPassword =
 
 
;  
 
;  
 
;NonphysicalPrimMax = 0
 
;NonphysicalPrimMax = 0
Line 253: Line 193:
 
AllowAlternatePorts = False
 
AllowAlternatePorts = False
 
ExternalHostName = YourIP_DNSname
 
ExternalHostName = YourIP_DNSname
MasterAvatarUUID = 00000000-0000-0000-0000-000000000000
+
;
MasterAvatar =
+
MasterAvatar =
+
;MasterAvatarSandboxPassword =
+
 
;NonphysicalPrimMax = 0
 
;NonphysicalPrimMax = 0
 
;PhysicalPrimMax = 0
 
;PhysicalPrimMax = 0
Line 272: Line 209:
 
AllowAlternatePorts = False
 
AllowAlternatePorts = False
 
ExternalHostName = YourIP_DNSname
 
ExternalHostName = YourIP_DNSname
;
 
MasterAvatarUUID = 00000000-0000-0000-0000-000000000000
 
MasterAvatar =
 
MasterAvatar =
 
;MasterAvatarSandboxPassword =
 
 
;  
 
;  
 
;NonphysicalPrimMax = 0
 
;NonphysicalPrimMax = 0
Line 285: Line 217:
 
;ScopeID = 00000000-0000-0000-0000-000000000000
 
;ScopeID = 00000000-0000-0000-0000-000000000000
 
;
 
;
;************************************************
+
;************************************************</source>
 
+
 
+
 
+
== Additional References ==
+

Latest revision as of 16:18, 8 July 2018

Contents

[edit] Introduction

Megaregions are an experimental feature of OpenSimulator that allow multiple 256 x 256 meter regions to be combined in to a single larger region, such that there is no border transition between regions and moving into the various regions will return position co-ordinates greater than 256.

Megaregions are a hack that make use of existing SL protocol mechanisms, and so do not require the viewer to be explicitly aware of the fact that a region is actually larger than 256 x 256. As such, there are aspects of megaregions that do not work very well. For example, teleporting into a megaregion may require the simulator to execute a double teleport for that client (one teleport after another) since the viewer cannot directly teleport into other parts of the megaregion except for the 256 x 256 part in the south-west corner. It may be possible to resolve these with time if viewers implement explicit support for megaregions.

Also, megaregion support has a number of bugs (e.g. terrain issues) which mean that it can only be considered experimental. These are simulator-side bugs that can be fixed (slowly) over time.

A newer way of supporting large regions is called Varregion. Unlike megaregions, this requires explicit viewer support. However, this support means that it does not need to rely on fragile hacks to work and will be much more functional and stable in the future.

[edit] Layout Diagram

Here is a diagram of possible configurations. This is not all inclusive but is a good example of layout for the regions.

SPECIAL NOTE - Some Viewers still suffer the 4096 Teleport Bug where people cannot teleport more than 4096 regions away. OSGrid is centered @ 10000 10000. Some Viewers, such as MeerKat or Imprudence, have addressed this recently, others will likely follow suit. This bug applies to HyperGrided regions as well as Non-Hypergrid regions.

Do not place Mega regions and normal regions any closer than 2 regions spaces apart, as they WILL interfere with each other.


Mega region Layout Example

[edit] Steps

[edit] Step 0: Back Up Regions

If your OpenSimulator instance doesn't have currently any contents, then skip to #Step 1: Edit the File "OpenSim.ini".

If your regions have existing content, joining them may be dangerous -- you risk losing content. By way of precaution,

  1. Make a backup of your database. See Backups for instructions.
  2. Make an OAR for EACH REGION which you intend integrate into a megaregion. See OpenSim Archives for instructions.

[edit] Step 1: Edit the File "OpenSim.ini"

Modify your OpenSim.ini. In [Startup] section, change

; CombineContiguousRegions = false

to

CombineContiguousRegions = true

[edit] Step 2: Edit the File "Regions.ini"

Edit the file Region.ini which is located in "bin/Regions".

The example provided in #Example of Regions.ini File below is for a Mega-Region consists of 3x3, 9 simulator. Fill in the correct information in all the required fields. Remember to order your regions from South-West to North-East in your Regions.ini.

[edit] Step 3 : Start OpenSimulator Instance

Start Opensimulator. If your regions have no contents, then you already have it! If not,

  1. You will see a number of error messages -- ignore them.
  2. Wait for a while before console activity stopping, then type: fix-phantoms
  3. Wait before process completing. It can take several minutes for the backup thread to store everything.
  4. When the console activity stops, type: backup (This will persist the data into the Database again as a precaution).
  5. Restart Opensim, and check that all the objects are in their right places.

See Also: Importing OARs into megaregions (Diva's blog post)

[edit] Example of Regions.ini File

; 9 Simulator 3x3 Mega-Region Example
; Supply a unique UUID for each region
; Unique InternalPort for Each Region
; 
;************************************************
[RegionName_SW]
RegionUUID = 00000000-0000-0000-0000-000000000000
Location = 5000,5000
InternalAddress = 0.0.0.0
InternalPort = 9001
AllowAlternatePorts = False
ExternalHostName = YourIP_DNSname
;
;NonphysicalPrimMax = 0
;PhysicalPrimMax = 0
ClampPrimSize = False
;MaxPrims = 15000
;
;ScopeID = 00000000-0000-0000-0000-000000000000
;************************************************
[RegionName_W]
RegionUUID = 00000000-0000-0000-0000-000000000000
Location = 5000,5001
InternalAddress = 0.0.0.0
InternalPort = 9002
AllowAlternatePorts = False
ExternalHostName = YourIP_DNSname
;
;NonphysicalPrimMax = 0
;PhysicalPrimMax = 0
ClampPrimSize = False
;MaxPrims = 15000
; 
;ScopeID = 00000000-0000-0000-0000-000000000000
;************************************************
[RegionName_NW]
RegionUUID = 84b41485-6884-412d-b4a2-2f6941559924
Location = 5000,5002
InternalAddress = 0.0.0.0
InternalPort = 9003
AllowAlternatePorts = False
ExternalHostName = YourIP_DNSname
; 
;NonphysicalPrimMax = 0
;PhysicalPrimMax = 0
ClampPrimSize = False
;MaxPrims = 15000
; 
;ScopeID = 00000000-0000-0000-0000-000000000000
;
;************************************************
[RegionName_S]
RegionUUID = 00000000-0000-0000-0000-000000000000
Location = 5001,5000
InternalAddress = 0.0.0.0
InternalPort = 9004
AllowAlternatePorts = False
ExternalHostName = YourIP_DNSname
; 
;NonphysicalPrimMax = 0
;PhysicalPrimMax = 0
ClampPrimSize = False
;MaxPrims = 15000
; 
;ScopeID = 00000000-0000-0000-0000-000000000000
;
;************************************************
[RegionName_Centre]
RegionUUID = 00000000-0000-0000-0000-000000000000
Location = 5001,5001
InternalAddress = 0.0.0.0
InternalPort = 9005
AllowAlternatePorts = False
ExternalHostName = YourIP_DNSname
; 
;NonphysicalPrimMax = 0
;PhysicalPrimMax = 0
ClampPrimSize = False
;MaxPrims = 15000
; 
;ScopeID = 00000000-0000-0000-0000-000000000000
;************************************************
[RegionName_N]
RegionUUID = 00000000-0000-0000-0000-000000000000
Location = 5001,5002
InternalAddress = 0.0.0.0
InternalPort = 9006
AllowAlternatePorts = False
ExternalHostName = YourIP_DNSname
; 
;NonphysicalPrimMax = 0
;PhysicalPrimMax = 0
ClampPrimSize = False
;MaxPrims = 15000
;ScopeID = 00000000-0000-0000-0000-000000000000
;
;************************************************
;
[RegionName_SE]
RegionUUID = 00000000-0000-0000-0000-000000000000
Location = 5002,5000
InternalAddress = 0.0.0.0
InternalPort = 9007
AllowAlternatePorts = False
ExternalHostName = YourIP_DNSname
; 
;NonphysicalPrimMax = 0
;PhysicalPrimMax = 0
ClampPrimSize = False
;MaxPrims = 15000
; 
;ScopeID = 00000000-0000-0000-0000-000000000000
;
;************************************************
[RegionName_E]
RegionUUID = 00000000-0000-0000-0000-000000000000
Location = 5002,5001
InternalAddress = 0.0.0.0
InternalPort = 9008
AllowAlternatePorts = False
ExternalHostName = YourIP_DNSname
;
;NonphysicalPrimMax = 0
;PhysicalPrimMax = 0
ClampPrimSize = False
;MaxPrims = 15000
; 
;ScopeID = 00000000-0000-0000-0000-000000000000
;
;************************************************
[RegionName_NE]
RegionUUID = 00000000-0000-0000-0000-000000000000
Location = 5002,5002
InternalAddress = 0.0.0.0
InternalPort = 9009
AllowAlternatePorts = False
ExternalHostName = YourIP_DNSname
; 
;NonphysicalPrimMax = 0
;PhysicalPrimMax = 0
ClampPrimSize = False
;MaxPrims = 15000
; 
;ScopeID = 00000000-0000-0000-0000-000000000000
;
;************************************************
Personal tools
General
About This Wiki