Configuration of the file “OpenSim.ini”

In OpenSim.ini a lot of settings can be changed, it is the largest configuration file. You can take the example file “OpenSim.ini.example” included in OpenSim Arriba as basis.

Important Note: For the correct configuration, be sure to contact the admins of the respective grid, because OpenSim 0.8 or Arriba is only used very rarely now! We will still look at the file in detail to learn something…

We begin with the necessary settings and will get over some additional optional settings, later.

In OpenSim Arriba, the physics engine “BulletSim” is set as the default. The old original ODE is no longer recommended today. Web addresses that are repeated in many places can be preassigned as constants, which is used here in the instructions. The URL and ports (with “http://”) are specified by the grid.

  BaseURL = ""
  PrivateBaseURL = "${Const|BaseURL}"
  PublicPort = 8002
  PrivatePort = 8003

Following is the TCP port of OpenSim. Please do not confuse this with the UDP ports of the regions! One region can have quite the same port number, because TCP and UDP are different protocols and do not disturb each other. Default is 9000. If multiple instances of OpenSim are running with the same IP address, then the programs must use different TCP ports (and anyway each region a unique UDP port).

  ; http_listener_port = 9000

Only required if scripts act as web server on the regions: The function llRequestURL requires the externally accessible web address or domain (without „http://“). If the feature is not required, set the “” which can only be reached locally, to be on the safe side.

  ExternalHostNameForLSL = ""
  ; ExternalHostNameForLSL = "my.external.domain.or.ipv4.address"

To send and receive IMs, URLs must be entered for the selected grid, and depending on the grid additional modules must be activated. Here are two commented out variants, for one of our sample grids the appropriate comment characters must be removed. Unfortunately, there are now many possible combinations of modules, so that the configuration of the selected grid must be requested in case of doubt!

  ;; Use only one message module depending on the grid connected to!
  OfflineMessageModule = "Offline Message Module V2"
  OfflineMessageURL = "${Const|BaseURL}"

  ;; Use only one mute list module depending on the grid connected to!
  MuteListModule = "MuteListModule"
  MuteListURL = "${Const|BaseURL}"

DataSnapshot together with Search ensures that objects on your land can be marked for search. Here also settings fitting for the selected grid have to be made. Index_sims will turn on that feature. If search for objects is enabled in the server, periodical scans of the land are necessary and a list of objects is transmitted to the grid. For performance reasons it is recommended to increase the transmission interval of 20 minutes to 10 hours.

Note: If there are no vendors or copy-able objects on the regions, then “index_sims = false” can also be set (which is the default value). Then no objects are “advertised” if the copy check box in the permissions is set by mistake – but also no other objects.

  index_sims = true
  default_snapshot_period = 36000
  gridname = "Example Grid"
  data_services = "${Const|BaseURL}/register.php"

Only necessary for Voice-Chat: Latest Viewer support neither Mumble nor FreeSwitch without modification to the code. The company Vivox, which operates the voice service for Second Life amongst other things, offered uncomplicated agreements with OpenSim server operators since early 2012. Unfortunately, new contracts are no longer possible. (Default is “enabled = false”.)

  ; enabled = true
  ; vivox_server =
  ; vivox_sip_uri =
  ; vivox_admin_user = DeepThroat
  ; vivox_admin_password = VoiceG4te

Here grid specific one group function block is turned on and the appropriate module is enabled. Moreover, the correct URL for the selected grid has to be entered.

  ;; Example for grids using "Groups HG Service Connector",
  ;; "Groups HG Service Connector" and "Groups Messaging Module V2".
  ; Enabled = true
  ; Module = "Groups Module V2"
  ; ServicesConnectorModule = "Groups HG Service Connector"
  ; LocalService = remote
  ; GroupsServerURI = "${Const|PrivateBaseURL}:${Const|PrivatePort}/groups"
  ; GroupsExternalURI = "${Const|BaseURL}:${Const|PublicPort}/groups"
  ; MessagingModule = "Groups Messaging Module V2"

  ;; Example for "GroupsModule", "XmlRpcGroupsServicesConnector"
  ;; and "Groups Messaging Module".
  ; Enabled = true
  ; Module = GroupsModule
  ; ServicesConnectorModule = "XmlRpcGroupsServicesConnector"
  ; GroupsServerURI = "${Const|BaseURL}/xmlrpc.php"
  ; MessagingModule = GroupsMessagingModule

NPC are scripted avatars. This option can be activated on a flat rate, even if it is currently not needed. The grids usually already have correspondingly limited privileges in the osslEnable.ini. Who is sure to need no NPC can omit setting this to true. (Default is false.)

  Enabled = true

Depending on the grid, choose the appropriate Module and the appropriate URL …

;; Example for a Grid with UserProfilesModule
  ; Module = "UserProfilesModule"

  ; ProfileServiceURL = "${Const|PrivateBaseURL}:${Const|PrivatePort}/profiles" 

Depending on the grid, choose the appropriate URL …

  ; URL = ${Const|BaseURL}/xbakes"

Only in Grids with Maptile-Server: URL for retrieving maptiles from the hypergrid.

  ;; Example for a Grid with Maptile Server
  ; MapTileURL = "${Const|BaseURL}/maptiles"

In keeping with the tutorial “GridHypergrid.ini” must be chosen, because here OpenSim is connected to a grid and Hypergrid is configured. Other architectures are only partially suitable for this manual!

  Include-Architecture = "config-include/GridHypergrid.ini"

These were the necessary settings. A few pages further down some Tuning-Tipps will follow.

Continued: Starting the OpenSim software for the first time

Scroll to Top