Installing and Running Hypergrid

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Robot: Cosmetic changes)
m (Robot: Replacing 'OpenSim' to 'OpenSimulator', which is the precise name)
Line 1: Line 1:
 
{{Quicklinks}}
 
{{Quicklinks}}
  
= Installing & Running OpenSim in Hypergrid Mode =
+
= Installing & Running OpenSimulator in Hypergrid Mode =
The setup for hypergrid differs depending on whether you run OpenSim as a standalone or as a grid. There also came considerable changes with version 0.7.
+
The setup for hypergrid differs depending on whether you run OpenSimulator as a standalone or as a grid. There also came considerable changes with version 0.7.
 
= Configuration =
 
= Configuration =
 
In order for OpenSimulator to be accessible in the hypergrid, you must use an externally visible IP address or domain name. You also may need to set up port forwarding for all ports (TCP and UDP) that OpenSimulator and the regions use. Typically, these are port 8002 for an installation running in grid mode and port 9000 for standalones. Regions typically use ports starting at 9000. For more information, see [[Network Settings]].
 
In order for OpenSimulator to be accessible in the hypergrid, you must use an externally visible IP address or domain name. You also may need to set up port forwarding for all ports (TCP and UDP) that OpenSimulator and the regions use. Typically, these are port 8002 for an installation running in grid mode and port 9000 for standalones. Regions typically use ports starting at 9000. For more information, see [[Network Settings]].

Revision as of 23:39, 3 March 2012

Contents

Installing & Running OpenSimulator in Hypergrid Mode

The setup for hypergrid differs depending on whether you run OpenSimulator as a standalone or as a grid. There also came considerable changes with version 0.7.

Configuration

In order for OpenSimulator to be accessible in the hypergrid, you must use an externally visible IP address or domain name. You also may need to set up port forwarding for all ports (TCP and UDP) that OpenSimulator and the regions use. Typically, these are port 8002 for an installation running in grid mode and port 9000 for standalones. Regions typically use ports starting at 9000. For more information, see Network Settings.

Standalone

The configuration for hypergrid is activated in section [Architecture] in file OpenSim.ini. Ensure that the line for Include-HGStandalone is the only one that is uncommented in this section:

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

In StandaloneCommon.ini the network addresses in the following sections must be changed to your external network address:

[HGInventoryService]
    ProfileServerURI = "http://127.0.0.1:9000/profiles"
 
[HGAssetService]
    ProfileServerURI = "http://127.0.0.1:9000/profiles"
 
[HGInventoryAccessModule]
    ProfileServerURI = "http://127.0.0.1:9000/profiles"
    Gatekeeper = "http://127.0.0.1:9000"
 
[GridService]
    Gatekeeper = "http://127.0.0.1:9000"
 
[Messaging]
    Gatekeeper = "http://127.0.0.1:9000"
 
[LoginService]
    ; ... (other settings in this section) ...
    GatekeeperURI = "http://127.0.0.1:9000"
 
    SRV_HomeURI = "http://127.0.0.1:9000"
    SRV_InventoryServerURI = "http://127.0.0.1:9000"
    SRV_AssetServerURI = "http://127.0.0.1:9000"
    SRV_ProfileServerURI = "http://127.0.0.1:9000"
    SRV_FriendsServerURI = "http://127.0.0.1:9000"
    SRV_IMServerURI = "http://127.0.0.1:9000"
 
[GatekeeperService]
    ; ... (other settings in this section) ...
    ExternalName = "http://example.com:9000"

If you want to use a different port with these addresses, then you must adjust the HTTP listener port in section [Network] in OpenSim.ini, too:

[Network]
    ; ... (other settings in this section) ...
    http_listener_port = 9000

As a last step, the regions must be configured according to the previous changes. See #Region Setup for both Grid and Standalone.

Grid

To enable hypergrid for a grid, both the Robust server and the region servers (simulators) must be configured appropriately.

Simulator

The region servers (simulators) that connect to the Robust server read their configuration from file OpenSim.ini. To activate hypergrid for them, the line for Include-HGGrid in section [Architecture] must be uncommented:

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

In GridCommon.ini the network addresses in the following sections must be changed to your external network address:

[GridService]
    ; === HG ONLY === 
    ;; Change this to the address of your Gatekeeper service
    ;; (usually bundled with the rest of the services in one 
    ;; Robust server in port 8002, but not always)
    Gatekeeper="http://mygridserver.com:8002"
 
[Messaging]
    ; === HG ONLY === 
    ;; Change this to the address of your Gatekeeper service
    ;; (usually bundled with the rest of the services in one 
    ;; Robust server in port 8002, but not always)
    Gatekeeper = "http://mygridserver.com:8002"
 
[HGInventoryAccessModule]
    ;
    ; === HG ONLY ===
    ; Change this to your server
    ; accessible from other grids
    ;
    ProfileServerURI = "http://mygridserver.com:8002/user"
    Gatekeeper = "http://mygridserver.com:8002"
 
[UserAgentService]
    ;
    ; === HG ONLY ===
    ; Change this to your user agent server (HG robust)
    ;
    UserAgentServerURI = "http://mygridserver.com:8002"

Robust Server

The Robust server is started with configuration file Robust.HG.ini instead of Robust.ini. If this file does not yet exist in your installation, create it by making a copy of Robust.HG.ini.example. Make the changes appropriate for your environment (e.g. adjust the database connection string). For hypergrid, the following settings are relevant:

[LoginService]
    GatekeeperURI = "http://127.0.0.1:8002"
 
    SRV_HomeURI = "http://127.0.0.1:8002"
    SRV_InventoryServerURI = "http://127.0.0.1:8002"
    SRV_AssetServerURI = "http://127.0.0.1:8002"
    SRV_ProfileServerURI = "http://127.0.0.1:8002/user"
    SRV_FriendsServerURI = "http://127.0.0.1:8002"
    SRV_IMServerURI = "http://127.0.0.1:8002"
 
[GatekeeperService]
    ; ... (other settings in this section) ...
    ExternalName = "http://127.0.0.1:8002"
 
[HGInventoryService]
    ProfileServerURI = "http://127.0.0.1:8002/user"
 
; * The interface that local users get when they are in other grids.
; * This restricts the access that the rest of the world has to
; * the assets of this world.
; *
[HGAssetService]
    ProfileServerURI = "http://127.0.0.1:8002/user"

If you want to change the port(s) used with these addresses, you will also need to adjust the ports in parameter 'ServiceConnectors' in section [Startup] and probably the port configured in section [Network] as well.

After these adjustments, the Robust server can be started. On Windows/.NET:

Robust -inifile=Robust.HG.ini

Or, with Mono (e.g. on Linux or OSX):

mono Robust.exe -inifile=Robust.HG.ini

Region Setup for both Grid and Standalone

Finally, all your regions must use the same external address that is set for GatekeeperService, for example:

[Region One]
    ; ... (other settings in this section) ...
    ExternalHostName = "example.com"

For the ports which are used by your regions, TCP and UDP requests must be forwarded through any firewall that is securing your network.

The 4096 Regions Limit

Due to a viewer issue, teleports to destinations that are more than 4096 regions away in any direction will not work as expected. Most viewers will do the teleport but the destination region will not be rendered and thus remain invisible to you. What this means in practice is that if you wish to teleport from a region located at cell coordinates (1000, 1000) you cannot go beyond (5095, 5095). To reach destinations that are placed at farer locations, you should either place your own region closer to the destination, or use some intermediate region that is reachable from both your region and the destination region.

Refer to Public Hypergrid Nodes to see some known grids and standalones and where they are located.

Configuration for OpenSimulator 0.7.3 onwards

There are some minor changes for Hypergrid configuration in OpenSimulator 0.7.3 compared to 0.7.2. Compared to 0.7.2, ProfileURI parameters become HomeURI parameters instead and lose their extensions (e.g. ProfileServerURI = "http://127.0.0.1:900/profiles" in [HGInventoryService] in StandaloneCommon.ini becomes HomeURI = "http://127.0.0.1:9000"

Standalone

The configuration for hypergrid is activated in section [Architecture] in file OpenSim.ini. Ensure that the line for Include-HGStandalone is the only one that is uncommented in this section:

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

In StandaloneCommon.ini the network addresses in the following sections must be changed to your external network address:

[HGInventoryService]
    HomeURI = "http://127.0.0.1:9000"
 
[HGAssetService]
    HomeURI = "http://127.0.0.1:9000"
 
[HGInventoryAccessModule]
    HomeURI = "http://127.0.0.1:9000"
    Gatekeeper = "http://127.0.0.1:9000"
 
[GridService]
    Gatekeeper = "http://127.0.0.1:9000"
 
[Messaging]
    Gatekeeper = "http://127.0.0.1:9000"
 
[LoginService]
    ; ... (other settings in this section) ...
    GatekeeperURI = "http://127.0.0.1:9000"
 
    SRV_HomeURI = "http://127.0.0.1:9000"
    SRV_InventoryServerURI = "http://127.0.0.1:9000"
    SRV_AssetServerURI = "http://127.0.0.1:9000"
    SRV_ProfileServerURI = "http://127.0.0.1:9000"
    SRV_FriendsServerURI = "http://127.0.0.1:9000"
    SRV_IMServerURI = "http://127.0.0.1:9000"
 
[GatekeeperService]
    ; ... (other settings in this section) ...
    ExternalName = "http://1270.0.1:9000"

If you want to use a different port with these addresses, then you must adjust the HTTP listener port in section [Network] in OpenSim.ini, too:

[Network]
    ; ... (other settings in this section) ...
    http_listener_port = 9000

As a last step, the regions must be configured according to the previous changes. See #Region Setup for both Grid and Standalone.

Grid

To enable hypergrid for a grid, both the Robust server and the region servers (simulators) must be configured appropriately.

Simulator

The region servers (simulators) that connect to the Robust server read their configuration from file OpenSim.ini. To activate hypergrid for them, the line for Include-HGGrid in section [Architecture] must be uncommented:

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

In GridCommon.ini the network addresses in the following sections must be changed to your external network address:

[GridService]
    ; === HG ONLY === 
    ;; Change this to the address of your Gatekeeper service
    ;; (usually bundled with the rest of the services in one 
    ;; Robust server in port 8002, but not always)
    Gatekeeper="http://mygridserver.com:8002"
 
[Messaging]
    ; === HG ONLY === 
    ;; Change this to the address of your Gatekeeper service
    ;; (usually bundled with the rest of the services in one 
    ;; Robust server in port 8002, but not always)
    Gatekeeper = "http://mygridserver.com:8002"
 
[HGInventoryAccessModule]
    ;
    ; === HG ONLY ===
    ; Change this to your server
    ; accessible from other grids
    ;
    HomeURI = "http://mygridserver.com:8002"
    Gatekeeper = "http://mygridserver.com:8002"
 
[UserAgentService]
    ;
    ; === HG ONLY ===
    ; Change this to your user agent server (HG robust)
    ;
    UserAgentServerURI = "http://mygridserver.com:8002"

Robust Server

The Robust server is started with configuration file Robust.HG.ini instead of Robust.ini. If this file does not yet exist in your installation, create it by making a copy of Robust.HG.ini.example. Make the changes appropriate for your environment (e.g. adjust the database connection string). For hypergrid, the following settings are relevant:

[LoginService]
    GatekeeperURI = "http://127.0.0.1:8002"
 
    SRV_HomeURI = "http://127.0.0.1:8002"
    SRV_InventoryServerURI = "http://127.0.0.1:8002"
    SRV_AssetServerURI = "http://127.0.0.1:8002"
    SRV_ProfileServerURI = "http://127.0.0.1:8002/user"
    SRV_FriendsServerURI = "http://127.0.0.1:8002"
    SRV_IMServerURI = "http://127.0.0.1:8002"
 
[GatekeeperService]
    ; ... (other settings in this section) ...
    ExternalName = "http://127.0.0.1:8002"
 
[HGInventoryService]
    HomeURI = "http://127.0.0.1:8002"
 
; * The interface that local users get when they are in other grids.
; * This restricts the access that the rest of the world has to
; * the assets of this world.
; *
[HGAssetService]
    HomeURI = "http://127.0.0.1:8002"

If you want to change the port(s) used with these addresses, you will also need to adjust the ports in parameter 'ServiceConnectors' in section [Startup] and probably the port configured in section [Network] as well.

After these adjustments, the Robust server can be started. On Windows/.NET:

Robust -inifile=Robust.HG.ini

Or, with Mono (e.g. on Linux or OSX):

mono Robust.exe -inifile=Robust.HG.ini

Region Setup for both Grid and Standalone

Finally, all your regions must use the same external address that is set for GatekeeperService, for example:

[Region One]
    ; ... (other settings in this section) ...
    ExternalHostName = "example.com"

For the ports which are used by your regions, TCP and UDP requests must be forwarded through any firewall that is securing your network.

Installing and Running Hypergrid On OpenSimulator 0.6.9

Installing and Running Hypergrid On OpenSimulator 0.6.9

Additional References

Implemented osFunctions: OSSL Implemented

Enabling osFunctions: OSSL Enabling Functions

HyperGrid Security: Hypergrid Security

Banning Foreign Users in Hypergrid: Banning Foreign Users in Hypergrid

Public HyperGrid Nodes Listing: Public Hypergrid Nodes

Hypergrid Inventory Access: Hypergrid Inventory Access (proposal)

CATEGORY: Hypergrid

Personal tools
General
About This Wiki