Installing and Running Hypergrid

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
__NOTOC__ {{Template:Quicklinks}} <br>
+
__NOTOC__ <IMG class=FCK__MWTemplate src="http://opensimulator.org/extensions/FCKeditor/fckeditor/editor/images/spacer.gif" width=1 height=1 _fckfakelement="true" _fckrealelement="2" _fck_mw_template="true"> <br>
  
 
&nbsp;  
 
&nbsp;  
Line 10: Line 10:
  
 
#Checkout OpenSim, prebuild and build as normal.  
 
#Checkout OpenSim, prebuild and build as normal.  
#*If you're running your opensim in grid mode with the UGAIM servers on other machines, you're done. If you're running in standalone and you want it to be network-able, or if you have your grid on loopback (127.0.0.1) change all the [Network] server addresses to <nowiki>"http://<external_host_name>:<http_port>"</nowiki>. See below.
+
#*If you're running your opensim in grid mode with the UGAIM servers on other machines, you're done. If you're running in standalone and you want it to be network-able, or if you have your grid on loopback (127.0.0.1) change all the [Network] server addresses to <nowiki>"http://&lt;external_host_name&gt;:&lt;http_port&gt;"</nowiki>. See below.
 
#Run opensim like this: <nowiki>[mono] OpenSim.exe -hypergrid=true</nowiki>. To make sure the hypergrid is running type this on your console: '''link-region'''. If you don't hear anything back, the hypergrid is not properly installed.
 
#Run opensim like this: <nowiki>[mono] OpenSim.exe -hypergrid=true</nowiki>. To make sure the hypergrid is running type this on your console: '''link-region'''. If you don't hear anything back, the hypergrid is not properly installed.
  
Line 19: Line 19:
 
   
 
   
 
  grid_server_url = [http://example.com:9000grid_send_key http://example.com:9000
 
  grid_server_url = [http://example.com:9000grid_send_key http://example.com:9000
  grid_send_key] = null
+
  ]&lt;a href="http://example.com:9000grid_send_key"&gt;grid_send_key&lt;/a&gt; = null
 
  grid_recv_key = null
 
  grid_recv_key = null
 
   
 
   
 
  user_server_url = [http://example.com:9000user_send_key http://example.com:9000
 
  user_server_url = [http://example.com:9000user_send_key http://example.com:9000
  user_send_key] = null
+
  ]&lt;a href="http://example.com:9000user_send_key"&gt;user_send_key&lt;/a&gt; = null
 
  user_recv_key = null
 
  user_recv_key = null
 
   
 
   
 
  asset_server_url = [http://example.com:9000inventory_server_url http://example.com:9000
 
  asset_server_url = [http://example.com:9000inventory_server_url http://example.com:9000
  inventory_server_url] = [http://example.com:9000messaging_server_url http://example.com:9000
+
  ]&lt;a href="http://example.com:9000inventory_server_url"&gt;inventory_server_url&lt;/a&gt; = [http://example.com:9000messaging_server_url http://example.com:9000
  messaging_server_url] = [http://example.com:9000/ http://example.com:9000&nbsp;
+
  messaging_server_url] = [http://example.com:9000 http://example.com:9000
 +
 
 +
][http://example.com:9000/
 +
 
 +
]
  
 
<br>
 
<br>
Line 46: Line 50:
 
asset_server_url = http://example.com:8003
 
asset_server_url = http://example.com:8003
 
inventory_server_url = [http://example.com:8004messaging_server_url http://example.com:8004
 
inventory_server_url = [http://example.com:8004messaging_server_url http://example.com:8004
messaging_server_url] = [http://example.com:8006/ [http://example.com:8006 http://example.com:8006
+
messaging_server_url] = [http://example.com:8004messaging_server_url http://example.com:8004
 +
messaging_server_url] = [http://example.com:8006 http://example.com:8006
  
 
]</pre>
 
]</pre>
Line 52: Line 57:
 
<pre>[Network]
 
<pre>[Network]
 
     http_listener_port = 9000
 
     http_listener_port = 9000
&nbsp;&nbsp;&nbsp; grid_server_url = "[http://osgrid.org:8001/ http://osgrid.org:8001]"     &nbsp;;default 8003
+
&nbsp;&nbsp;&nbsp; grid_server_url = [http://osgrid.org:8001 http://osgrid.org:8001]      &nbsp;;default 8003
 
     grid_send_key = "1234"
 
     grid_send_key = "1234"
 
     grid_recv_key = "1234"
 
     grid_recv_key = "1234"
  
     user_server_url = "[http://osgrid.org:8002/ http://osgrid.org:8002]"
+
     user_server_url = [http://osgrid.org:8002 http://osgrid.org:8002]
 
     user_send_key = "1234"
 
     user_send_key = "1234"
 
     user_recv_key = "1234"
 
     user_recv_key = "1234"
  
     asset_server_url = "[http://assets.osgrid.org:8003" [http://assets.osgrid.org:8003" http://assets.osgrid.org:8003"
+
     asset_server_url = "http://assets.osgrid.org:8003"  
]    inventory_server_url = "[http://osgrid.org:8004/ http://osgrid.org:8004]" &nbsp;;default 8003
+
    inventory_server_url = [http://osgrid.org:8004 http://osgrid.org:8004]  &nbsp;;default 8003
     messaging_server_url = "[http://osgrid.org:8006/ http://osgrid.org:8006]"</pre>
+
     messaging_server_url = [http://osgrid.org:8006 http://osgrid.org:8006]</pre>
 
'''Modifications needed to be applied to OpenSim.ini to enable Hypergrid'''  
 
'''Modifications needed to be applied to OpenSim.ini to enable Hypergrid'''  
  
Line 97: Line 102:
 
Due to a viewer issue, you cannot teleport more than 4096 regions away.&nbsp; Some 3rd party Viewers have addressed this limitation.&nbsp; What this means, is that if you wish to teleport from a region located at 1000,1000 XY&nbsp; coordinates you cannot go beyond 5095.&nbsp;&nbsp; For Instance&nbsp;OSGrid is centered @ 10,000x10,000  
 
Due to a viewer issue, you cannot teleport more than 4096 regions away.&nbsp; Some 3rd party Viewers have addressed this limitation.&nbsp; What this means, is that if you wish to teleport from a region located at 1000,1000 XY&nbsp; coordinates you cannot go beyond 5095.&nbsp;&nbsp; For Instance&nbsp;OSGrid is centered @ 10,000x10,000  
  
Refer to [[Public Hypergrid Nodes]]&nbsp;to see some known grids / StandAlones and others and where they are located.  
+
Refer to &lt;a _fcknotitle="true" href="Public Hypergrid Nodes"&gt;Public Hypergrid Nodes&lt;/a&gt;&nbsp;to see some known grids / StandAlones and others and where they are located.  
  
 
<br>'''IMPORTANT NOTES:'''  
 
<br>'''IMPORTANT NOTES:'''  
Line 103: Line 108:
 
Make sure you have a 'home' set. If your home region doesn't exist, the hyperlink TPs may not work. To set your home, go to one of your local regions and "Set Home" from the viewer.  
 
Make sure you have a 'home' set. If your home region doesn't exist, the hyperlink TPs may not work. To set your home, go to one of your local regions and "Set Home" from the viewer.  
  
To Enable scripted Teleporting between regions, standalone, HyperGrid etc, you can use osTeleprtAgent function, Example here: [[OsTeleportAgent]]
+
To Enable scripted Teleporting between regions, standalone, HyperGrid etc, you can use osTeleprtAgent function, Example here: &lt;a _fcknotitle="true" href="OsTeleportAgent"&gt;OsTeleportAgent&lt;/a&gt;
  
 
<br>
 
<br>
Line 135: Line 140:
  
 
  &lt;Nini&gt;
 
  &lt;Nini&gt;
   &lt;Section Name="Region1"&gt; <!-- can be any name but each section should have a different name and have no spaces -->
+
   &lt;Section Name="Region1"&gt; &lt;!-- can be any name but each section should have a different name and have no spaces --&gt;
 
     &lt;Key Name="xloc" Value="1002"/&gt;
 
     &lt;Key Name="xloc" Value="1002"/&gt;
 
     &lt;Key Name="yloc" Value="1006" /&gt;
 
     &lt;Key Name="yloc" Value="1006" /&gt;
Line 163: Line 168:
  
 
  &lt;Nini&gt;
 
  &lt;Nini&gt;
   &lt;Section Name="OSGrid-Party"&gt; <!-- can be any name but each section should have a different name and no spaces -->
+
   &lt;Section Name="OSGrid-Party"&gt; &lt;!-- can be any name but each section should have a different name and no spaces --&gt;
 
     &lt;Key Name="xloc" Value="1002"/&gt;
 
     &lt;Key Name="xloc" Value="1002"/&gt;
 
     &lt;Key Name="yloc" Value="1006" /&gt;
 
     &lt;Key Name="yloc" Value="1006" /&gt;
Line 197: Line 202:
 
'''Important Note'''  
 
'''Important Note'''  
  
Due to a viewer [https://jira.secondlife.com/browse/SVC-2941 bug], you can only TP between regions that are no more than 4096 cells apart in any dimension. What this means in practice is that if you want to link to OSGrid, you must have your own regions reachable from the (10,000; 10,000) point on the map, which is where OSGrid is centered. Place your regions somewhere in the 8,000s or the 12,000s.  
+
Due to a viewer &lt;a href="https://jira.secondlife.com/browse/SVC-2941"&gt;bug&lt;/a&gt;, you can only TP between regions that are no more than 4096 cells apart in any dimension. What this means in practice is that if you want to link to OSGrid, you must have your own regions reachable from the (10,000; 10,000) point on the map, which is where OSGrid is centered. Place your regions somewhere in the 8,000s or the 12,000s.  
  
 
=== Unlinking regions  ===
 
=== Unlinking regions  ===
Line 215: Line 220:
 
== Additional References  ==
 
== Additional References  ==
  
Implemented osFunctions:&nbsp; [[OSSL Implemented]]
+
Implemented osFunctions:&nbsp; &lt;a _fcknotitle="true" href="OSSL Implemented"&gt;OSSL Implemented&lt;/a&gt;
  
Enabling osFunctions: [[OSSL Enabling Functions]]
+
Enabling osFunctions: &lt;a _fcknotitle="true" href="OSSL Enabling Functions"&gt;OSSL Enabling Functions&lt;/a&gt;
  
HyperGrid Security: [[Hypergrid Security]]
+
HyperGrid Security: &lt;a _fcknotitle="true" href="Hypergrid Security"&gt;Hypergrid Security&lt;/a&gt;
  
Banning Foreign Users in Hypergrid: [[Banning Foreign Users in Hypergrid]]
+
Banning Foreign Users in Hypergrid: &lt;a _fcknotitle="true" href="Banning Foreign Users in Hypergrid"&gt;Banning Foreign Users in Hypergrid&lt;/a&gt;
  
Public HyperGrid Nodes Listing: [[Public Hypergrid Nodes]]
+
Public HyperGrid Nodes Listing: &lt;a _fcknotitle="true" href="Public Hypergrid Nodes"&gt;Public Hypergrid Nodes&lt;/a&gt;
  
Hypergrid Inventory Access: [[Hypergrid Inventory Access]]&nbsp;(proposal)  
+
Hypergrid Inventory Access: &lt;a _fcknotitle="true" href="Hypergrid Inventory Access"&gt;Hypergrid Inventory Access&lt;/a&gt;&nbsp;(proposal)  
  
CATAGORY: [[Hypergrid|Hypergrid]]
+
CATAGORY: &lt;a href="Hypergrid"&gt;Hypergrid&lt;/a&gt;

Revision as of 13:03, 7 January 2010

<IMG class=FCK__MWTemplate src="spacer.gif" width=1 height=1 _fckfakelement="true" _fckrealelement="2" _fck_mw_template="true"> 

 

Revised Jan.07,2010.  Effective from OpenSim 0.6.7 Post Fixes  to 0.6.9 <dev> GIT# a542871 - r11916

  • Subject to change in future

Installing

  1. Checkout OpenSim, prebuild and build as normal.
    • If you're running your opensim in grid mode with the UGAIM servers on other machines, you're done. If you're running in standalone and you want it to be network-able, or if you have your grid on loopback (127.0.0.1) change all the [Network] server addresses to "http://<external_host_name>:<http_port>". See below.
  2. Run opensim like this: [mono] OpenSim.exe -hypergrid=true. To make sure the hypergrid is running type this on your console: link-region. If you don't hear anything back, the hypergrid is not properly installed.



EXAMPLE Network Sections
Default Network settings for a Stand Alone:

[Network]
http_listener_port = 9000

grid_server_url = [http://example.com:9000grid_send_key http://example.com:9000
]<a href="http://example.com:9000grid_send_key">grid_send_key</a> = null
grid_recv_key = null

user_server_url = [http://example.com:9000user_send_key http://example.com:9000
]<a href="http://example.com:9000user_send_key">user_send_key</a> = null
user_recv_key = null

asset_server_url = [http://example.com:9000inventory_server_url http://example.com:9000
]<a href="http://example.com:9000inventory_server_url">inventory_server_url</a> = [http://example.com:9000messaging_server_url http://example.com:9000
messaging_server_url] = [http://example.com:9000 http://example.com:9000

][http://example.com:9000/

]


Network settings for a Grided opensim:

[Network]
http_listener_port = 9000

grid_server_url = http://example.com:8001
grid_send_key = null
grid_recv_key = null

user_server_url = http://example.com:8002
user_send_key = null
user_recv_key = null

asset_server_url = http://example.com:8003
inventory_server_url = [http://example.com:8004messaging_server_url http://example.com:8004
messaging_server_url] = [http://example.com:8004messaging_server_url http://example.com:8004
messaging_server_url] = [http://example.com:8006 http://example.com:8006

]

Network Section for OSGrid Example:

[Network]
    http_listener_port = 9000
    grid_server_url = [http://osgrid.org:8001 http://osgrid.org:8001]       ;default 8003
    grid_send_key = "1234"
    grid_recv_key = "1234"

    user_server_url = [http://osgrid.org:8002 http://osgrid.org:8002]
    user_send_key = "1234"
    user_recv_key = "1234"

    asset_server_url = "http://assets.osgrid.org:8003" 
    inventory_server_url = [http://osgrid.org:8004 http://osgrid.org:8004]   ;default 8003
    messaging_server_url = [http://osgrid.org:8006 http://osgrid.org:8006]

Modifications needed to be applied to OpenSim.ini to enable Hypergrid

- Change the following line at the top of the OpenSim.ini

hypergrid = false  to true

- NEXT, Add or Modify the ###  WORLD  MAP  Section as shown

    ; ##
    ; ## WORLD MAP
    ; ##

    WorldMapModule = "WorldMap"
    MapImageModule = "MapImageModule"
    WorldMapModule = "HGWorldMapModule"  ;NOT INCLUDED IN DEFAULT OpenSim.ini.EXAMPLE

Information:  HGWorldMapModule will, after teleporting to another grid, clean up tiles in your map left over from the grid on which you were previously.


- NEXT, Modify the [Archictecture] Section at the bottom

Uncomment the appropriate Include-HG* =   line by removing the semi colon and making sure that is the only ONE  uncommented. (example shows for a Stand Alone HG enabled installation)

[Architecture]
    ;Include-Standalone    = "config-include/Standalone.ini"   ; DEFAULT UNCOMMENTED
    Include-HGStandalone = "config-include/StandaloneHypergrid.ini"
    ;Include-Grid         = "config-include/Grid.ini"
    ;Include-HGGrid       = "config-include/GridHypergrid.ini"

Your OpenSimulator instance should now be ready for inbound & outbound Hypergrid use


LIMITATIONS:

Due to a viewer issue, you cannot teleport more than 4096 regions away.  Some 3rd party Viewers have addressed this limitation.  What this means, is that if you wish to teleport from a region located at 1000,1000 XY  coordinates you cannot go beyond 5095.   For Instance OSGrid is centered @ 10,000x10,000

Refer to <a _fcknotitle="true" href="Public Hypergrid Nodes">Public Hypergrid Nodes</a> to see some known grids / StandAlones and others and where they are located.


IMPORTANT NOTES:

Make sure you have a 'home' set. If your home region doesn't exist, the hyperlink TPs may not work. To set your home, go to one of your local regions and "Set Home" from the viewer.

To Enable scripted Teleporting between regions, standalone, HyperGrid etc, you can use osTeleprtAgent function, Example here: <a _fcknotitle="true" href="OsTeleportAgent">OsTeleportAgent</a>



Linking regions (Optional)

Method 1

On the console, type for example:

link-region <Xloc> <Yloc> osl2.nac.uci.edu:9006

  • Use Xloc and Yloc that make sense to your world, i.e. close to your regions, but not adjacent.
  • replace osl2.nac.uci.edu and 9006 with the domain name / ip address and the http_listener_port of the simulator where the region is running you want to link to

You can link to a specific region within an instance, by using the name of the region at the end, for example:

link-region 997 997 osl2.nac.uci.edu:9006:UCI Welcome

Method 2

There is also some initial support for reading the links from a xml file.

Use the console command: link-region <URI> [<excludeList>]

The uri can be either the path of a local xml file or a xml document on a http server.

The format of the xml file is:

<Nini>
 <Section Name="Region1"> <!-- can be any name but each section should have a different name and have no spaces -->
   <Key Name="xloc" Value="1002"/>
   <Key Name="yloc" Value="1006" />
   <Key Name="externalPort" Value="9006" />
   <Key Name="externalHostName" Value="osl2.nac.uci.edu" />
   <Key Name="localName" Value="OSGrid-Gateway" />
   <Key Name="real-xloc" Value="10222"/> //optional field that gives the region's real location on its home grid
   <Key Name="real-yloc" Value="10265" /> //optional field that gives the region's real location on its home grid
 </Section>
 <Section Name="Region2"> 
   ...
 </Section>
 ...
</Nini>

[Note] The section names can be anything you want, but they all should be different and have no spaces in the name.


ExcludeList:

The exclude list is a single string paramater with the format: excludeList:<SectionName>[;<SectionName>]

This means that while reading from the xml file any sections that are listed in the excludeList will be ignored and no HyperGrid link created for them.

This could allow, link lists to be created on a webserver that everyone could add their own regions to, and then they just make sure they add their own section name(s) to the exclude list on their own region(s).

So for example, someone might create a editable online list for the up coming OpenSimulator's 2nd birthday. Which might look something like:

<Nini>
 <Section Name="OSGrid-Party"> <!-- can be any name but each section should have a different name and no spaces -->
   <Key Name="xloc" Value="1002"/>
   <Key Name="yloc" Value="1006" />
   <Key Name="externalPort" Value="9006" />
   <Key Name="externalHostName" Value="osl2.nac.uci.edu" />
   <Key Name="localName" Value="OSGrid-Gateway" />
 </Section>
 <Section Name="UCIGrid-Party"> 
   ...
 </Section>
</Nini>

I could then add my own region to the list with the section name "MW-Party". Then when I startup that region that I want to be part of this hypergrid, I use the command: "link-region <URI of xml file> excludeList:MW-Party"

This is so that my region doesn't try to create a hyper link to itself.

Method 3 (dynamic)

Starting in r8193, if you're in an HG-enabled region, you'll be able to dynamically link sims, and TP there, in any one of these ways (and probably more). All you need to know is the target address, e.g. from the list below.

1) Type for example secondlife://ucigrid04.nacs.uci.edu:9007/ in the 
chat box, pull up the chat history and click on that link
2) Pull up the map and search for things like 
ucigrid04.nacs.uci.edu:9007
3) Using the embedded browser visit pages that have links like 
secondlife://ucigrid04.nacs.uci.edu:9007/ (there's one up at
http://www.ics.uci.edu/~lopes/hypergrid/test.html)

Again, you can link to a specific region within an instance by adding the name of that region at the end, like this: secondlife://ucigrid04.nacs.uci.edu:9007:Gateway 7000/

Important Note

Due to a viewer <a href="https://jira.secondlife.com/browse/SVC-2941">bug</a>, you can only TP between regions that are no more than 4096 cells apart in any dimension. What this means in practice is that if you want to link to OSGrid, you must have your own regions reachable from the (10,000; 10,000) point on the map, which is where OSGrid is centered. Place your regions somewhere in the 8,000s or the 12,000s.

Unlinking regions

On the console, type for example:

unlink-region osl2.nac.uci.edu:9006

or

unlink-region <local region name>

 


Additional References

Implemented osFunctions:  <a _fcknotitle="true" href="OSSL Implemented">OSSL Implemented</a>

Enabling osFunctions: <a _fcknotitle="true" href="OSSL Enabling Functions">OSSL Enabling Functions</a>

HyperGrid Security: <a _fcknotitle="true" href="Hypergrid Security">Hypergrid Security</a>

Banning Foreign Users in Hypergrid: <a _fcknotitle="true" href="Banning Foreign Users in Hypergrid">Banning Foreign Users in Hypergrid</a>

Public HyperGrid Nodes Listing: <a _fcknotitle="true" href="Public Hypergrid Nodes">Public Hypergrid Nodes</a>

Hypergrid Inventory Access: <a _fcknotitle="true" href="Hypergrid Inventory Access">Hypergrid Inventory Access</a> (proposal)

CATAGORY: <a href="Hypergrid">Hypergrid</a>

Personal tools
General
About This Wiki