Konfiguration der Datei OpenSim.ini
In der OpenSim.ini können wirklich sehr viele Einstellungen verändert werden, es ist die umfangreichste Konfigurationsdatei. Als Basis kann die Beispieldatei „OpenSim.ini.example“ genommen werden, die mit OpenSim 0.9.1 mitgeliefert wird.
Wichtiger Hinweis: Größere Grids, auch das hier als Beispiel gezeigte OSGrid, bieten spezielle vorkonfigurierte OpenSim-Downloads an. Dort sind die gridspezifischen Einstellungen bereits passend gesetzt. Jetzt wird trotzdem durch die Datei gehechelt, um etwas zu lernen…
Wir beginnen mit den notwendigen Einstellungen, später kommen dann noch einige interessante optionale Zusatzeinstellungen.
Wird OpenSim 0.9.1 verwendet, ist die Physikengine „BulletSim“ als Default eingestellt. Sonst aktiviere diese Option, wenn die modernere Engine verwendet werden soll. Alternativ kann „ubODE“ verwendet werden, eine von Ubit Umarov weiterentwickelte Version von ODE. (Die alte Original-ODE ist heute nicht mehr empfehlenswert.)
[Startup] ; physics = ubODE ; physics = BulletSim
Falls soeben „ubODE“ ausgewählt wurde, muss etwas oberhalb in der Ini-Datei auch noch „ubODEMeshmerizer“ gewählt werden anstelle des Defaults „Meshmerizer“.
[Startup] ;; select ubODEMeshmerizer only with ubOde physics engine ; meshing = ubODEMeshmerizer
Dies ist der TCP-Port von OpenSim. Bitte verwechselt das nicht mit den UDP-Ports der Regionen! Es kann eine Region durchaus die selbe Portnummer haben, weil TCP und UDP verschiedene Protokolle sind und sich gegenseitig nicht stören. Default ist 9000. Wenn mehrere Instanzen von OpenSim mit der selben IP-Adresse betrieben werden, dann müssen die Programme unterschiedliche TCP-Ports verwenden (und sowieso jede Region einen eindeutigen UDP-Port).
[Network] ; http_listener_port = 9000
Nur erforderlich, wenn Scripte auf den Regionen als Webserver agieren: Die Funktion llRequestURL benötigt hier die von extern erreichbare Webadresse oder Domain. Als Default ist dies auskommentiert und damit das Feature abgeschaltet.
[Network] ; ExternalHostNameForLSL = "my.external.domain.or.ipv4.address"
Wenn Scripte mit der Funktion llHTTPRequest Webseiten aufrufen, wird der folgende String als Browser-Identifikation mitgegeben. Warum „Mozilla“ sinnvoll ist anzugeben, wird im Second Life Wiki (dort unten im Kommentar) erklärt.
[Network] user_agent = "OpenSim LSL (Mozilla Compatible)"
Zum Senden und Empfangen von IMs müssen URLs für das gewählte Grid eingetragen werden, je nach Grid müssen zusätzlich noch Module aktiviert werden. Leider gibt es inzwischen so einige Kombinationsmöglichkeiten von Modulen, so dass im Zweifel die Konfiguration des gewählten Grids erfragt werden muss!
[Messaging] ;; Benutze nur ein Message-Modul passend zum ausgewählten Grid! OfflineMessageModule = "Offline Message Module V2" OfflineMessageURL = "http://services.osgrid.org" ;; Benutze nur ein Mutelisten-Modul passend zum ausgewählten Grid! MuteListModule = "MuteListModule" MuteListURL = "http://services.osgrid.org"
„Windlight“ sind spezielle Lichtstimmungen auf den Regionen. Damit diese an die OpenSim-Viewer der Besucher übermittelt werden können, muss Windlight aktiviert werden. Default ist „false“, warum auch immer.
[LightShare] enable_windlight = true
DataSnapshot und Search sorgen dafür, dass Objekte auf dem Land für die Suche markiert werden können. Auch hier müssen Einstellungen für das gewählte Grid passend gemacht werden. Mit index_sims wird das Feature eingeschaltet. Wenn auf dem Server die Suche nach Objekten aktiviert ist, muss zyklisch das Land durchsucht und eine Objektliste ans Grid übertragen werden. Aus Performancegründen wird empfohlen, das Übertragungsintervall von 20 Minuten auf 10 Stunden zu erhöhen.
Hinweis: Wenn auf den Regionen keinerlei Vendoren oder kopierbare Objekte stehen, dann kann auch „index_sims = false“ gesetzt werden (was der Defaultwert ist). Dann werden keine Objekte „beworben“, wo versehentlich bei den Berechtigungen der Copy-Haken gesetzt ist – aber eben auch sonst keine Objekte.
[DataSnapshot] index_sims = true default_snapshot_period = 36000 gridname = "OSGrid" data_services = "http://search.osgrid.org/register.php"
Nur für Grids, die das Modul „OpenSimSearch“ verwenden: Die Sektion „Search“ fehlt in der Original-Beispieldatei. Ergänze dann einfach wie unten angegeben [Search] und die beiden Zeilen mit ans Grid angepasster URL.
[Search] ;; Beispiel für "OpenSimSearch" wie im OSGrid verwendet. Module = "OpenSimSearch" SearchURL = "http://search.osgrid.org/query.php"
In OpenSim 0.9.1 liegt die OSSL-Konfiguration in einer separaten Datei. Als Default ist sie aber nicht ausgewählt, so dass alle OSSL Scriptfunktionen deaktiviert wären.
[OSSL] Include-osslEnable = "config-include/osslEnable.ini"
Nur für Voice-Chat erforderlich: Aktuelle Viewer unterstützen ohne Modifikation des Programmcodes weder Mumble noch FreeSwitch. Die Firma Vivox, die u.a. den Voice-Service für Second Life betreibt, schloss seit Anfang 2012 unkompliziert Verträge mit OpenSim Serverbetreibern ab. Leider sind keine Neuverträge mehr möglich. (Default ist „enabled = false“.)
[VivoxVoice] ; enabled = true ; vivox_server = www.foobar.vivox.com ; vivox_sip_uri = foobar.vivox.com ; vivox_admin_user = DeepThroat ; vivox_admin_password = VoiceG4te
Hier wird die Gruppenfunktion eingeschaltet und das passende Modul aktiviert. Außerdem muss wieder die richtige URL für das gewählte Grid eingetragen werden.
[Groups] ;; Beispiel für Grids, die "GroupsModule V2", "Groups HG Service ;; Connector" und "Groups Messaging Module V2" verwenden. ; Enabled = true ; Module = "Groups Module V2" ; ServicesConnectorModule = "Groups HG Service Connector" ; LocalService = remote ; GroupsServerURI = "http://groups.beispiel.grid" ; GroupsExternalURI = "http://groups.beispiel.grid" ; MessagingModule = "Groups Messaging Module V2" ;; Beispiel für "GroupsModule", "XmlRpcGroupsServicesConnector" ;; und "Groups Messaging Module" wie im OSGrid verwendet. Enabled = true Module = GroupsModule ServicesConnectorModule = "XmlRpcGroupsServicesConnector" GroupsServerURI = "http://groups.osgrid.org/xmlrpc.php" MessagingModule = GroupsMessagingModule
NPC sind scriptgesteuerte Avatare. Diese Option kann pauschal aktiviert werden, auch wenn sie momentan nicht benötigt wird. Die Grids haben in der osslEnable.ini normalerweise bereits entsprechend eingeschränkte Berechtigungen vorgesehen. Wer sicher ist keine NPC zu benötigen, braucht dies nicht auf „true“ setzen. (Default ist „false“.)
[NPC] Enabled = true
Abhängig vom jeweiligen Grid die passende URL wählen…
[UserProfiles] ProfileServiceURL = "http://services.osgrid.org"
Abhängig vom jeweiligen Grid die passende URL wählen…
[XBakes] URL = "http://xbakes.osgrid.org"
Nur in Grids mit Maptile-Server: URL zur Abfrage von Maptiles aus dem Hypergrid.
[SimulatorFeatures] ;; Beispiel für ein Grid mit Maptile-Server, hier OSGrid. MapTileURL = "http://maptiles.osgrid.org:80"
Passend zur Anleitung muss „GridHypergrid.ini“ gewählt werden, denn hier wird OpenSim an ein Grid angeschlossen und Hypergrid konfiguriert. Andere Architekturen passen nur eingeschränkt zu dieser Anleitung!
[Architecture] Include-Architecture = "config-include/GridHypergrid.ini"
Das waren die notwendigen Einstellungen. Ein paar Seiten weiter folgen einige Tuning-Tipps.