Setting Up Mega-Regions
From OpenSimulator
Languages: |
English 日本語 |
This article or section needs more examples While the information on this page may be good, it is complex information that needs examples to make it user friendly. Please consider writing some examples of usage for this page. |
There are still some outstanding issues being addressed by the Dev team. If you wish to incorporate your existing regions into a megaregion, make OARS and do Full Backups of everything on the current regions. Restoring OAR will deposit the restored region on the most South West Corner ONLY. This is being worked out at the time of this writing. (more information needs to be put in this area...) Updated October 26, 2010 |
Contents |
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.
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 - Most 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.
Steps
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,
- 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.
Step 1: Edit the File "OpenSim.ini"
Modify your OpenSim.ini. In [Startup] section, change
; CombineContiguousRegions = false
to
CombineContiguousRegions = true
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.
Step 3 : Start OpenSimulator Instance
Start Opensimulator. If your regions have no contents, then you already have it! If not,
- 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.
See Also: Importing OARs into megaregions (Diva's blog post)
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 ; ;************************************************