ROBUST/de

From OpenSimulator

Revision as of 10:30, 18 January 2022 by Manni (Talk | contribs)

Jump to: navigation, search

Contents

Einführung

ROBUST steht für die neu gestaltete OpenSimulator Basic Universal Server Technology (ROBUST). Es nutzt das System von Ein- und Ausgangskonnektoren und -diensten, das für Hypergrid und OpenSimulator entwickelt wurde. Es ersetzt OGS1 durch eine modulare Architektur, die einfach mit Core- und 3rd-Party-Modulen erweitert werden kann.

ROBUST ist eine flexible Server-Shell, die dieselben Module laden kann, die bereits von Regionen verwendet werden. Dies ermöglicht eine fast 100-prozentige Wiederverwendbarkeit des Codes und eine große Flexibilität.

Der ROBUST-Server lädt "in"-Konnektoren wie in der Konfigurationsdatei angegeben. Diese Konnektoren laden dann die erforderlichen Verarbeitungs- und Speichermodule und/oder "Ausgangs"-Konnektoren. Durch diese Architektur kann jeder ROBUST-Server beliebige oder alle Grid-Dienste ausführen und/oder als Proxy für Grid-Dienste fungieren.

Auf dieser Seite geht es um Nutzung und Konfiguration von ROBUST. Es gibt separate Seiten, auf denen Sie mehr über die services selbst erfahren können.

Konfiguration

Der Server liest beim Start eine Konfigurationsdatei, die standardmäßig den Namen der Assembly mit angehängter INI-Datei enthält. Der Standardname für den ROBUST-Server ist Robust.exe, daher ist die Standardkonfigurationsdatei Robust.ini. Eine Robust.ini.example-Datei wird mit dem OpenSimulator-Kit bereitgestellt. Der Standardport für alle Dienste, die in ROBUST ausgeführt werden, ist 8003, wie Sie unten sehen können.

; * The startup section lists all the connectors to start up in this server
; * instance. This may be only one, or it may be the entire server suite.
; * Multiple connectors should be seaprated by commas.
; *
; * These are the IN connectors the server uses, the in connectors
; * read this config file and load the needed OUT and database connectors
; *
[Startup]
ServiceConnectors = "OpenSim.Server.Handlers.dll:AssetServiceConnector,OpenSim.Server.Handlers.dll:InventoryServiceInConnector"   

; * This is common for all services, it's the network setup for the entire
; * server instance
; *
[Network]
port = 8003

; * As an example, the below configuration precisely mimicks the legacy
; * asset server. It is read by the asset IN connector (defined above)
; * and it then loads the OUT connector (a local database module). That,
; * in turn, reads the asset loader and database connection information
; *
[AssetService]
LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
AssetLoaderArgs = "assets/AssetSets.xml"
StorageProvider = "OpenSim.Data.MySQL.dll"
ConnectionString = "Data Source=localhost;Database=grid;User ID=grid;Password=grid;"

; * This configuration loads the inventory server modules. It duplicates
; * the function of the legacy inventory server
; *
[InventoryService]
LocalServiceModule = "OpenSim.Services.InventoryService.dll:InventoryService"
UserServerURI = "http://127.0.0.1:8002"
SessionAuthentication = "false"
StorageProvider = "OpenSim.Data.MySQL.dll"
ConnectionString = "Data Source=localhost;Database=grid;User ID=grid;Password=grid;"

Kommandozeilenargumente

  • -inifile
Geben Sie anstelle des Standardspeicherorts den Speicherort der zu lesenden .ini-Datei an
  • -console
Geben Sie den Konsolentyp an, entweder Basic, Local oder Rest
  • -logconfig
Weisen Sie log4net an, diese Datei als Konfigurationsdatei zu verwenden
  • -prompt
Überschreiben Sie die Server-Eingabeaufforderung

Konfigurationsdatei

Abschnitt [Startup]

  • ServiceConnectors
Durch Kommas getrennte Liste von Dienst-IN-Anschlüssen. Das Format jedes Eintrags ist <dllname>:<classname>. Wenn eine DLL nur eine passende Klasse enthält, kann der Klassenname weggelassen werden.
  • Prompt
Überschreiben Sie die Server-Eingabeaufforderung
  • Console
Geben Sie den Konsolentyp an, entweder Basic, Local oder Rest
  • Logfile
Geben Sie die Protokolldatei an, in der sich dieser Server anmeldet

Abschnitt [Network]

  • Port
Stellen Sie den zu überwachenden Netzwerkport ein. Alle Dienste werden auf diesem Port ausgeführt.

Connector Konfigurationen

Diese Konfigurationen werden von den Anschlussmodulen bereitgestellt und sind kein integraler Bestandteil des ROBUST-Servers. Dokumentation zu allen möglichen Optionen finden Sie in der Dokumentation des Connectors. Dieses Handbuch listet nur die Optionen auf, die in der Beispielkonfigurationsdatei vorhanden sind.

Abschnitt [AssetService]

  • LocalServiceModule [Connector option]
Eine Modulspezifikation (<dll>:<class>), die die Dienste für diesen Connector bereitstellt
  • DefaultAssetLoader [Service option]
Eine DLL, die das Asset Ladeprogramm enthält, das zum Laden des Standard Asset Sets verwendet werden soll
  • AssetLoaderArgs [Service option]
Pfad zum Laden von Assets (für das Dateisystem-Asset-Loader)
  • StorageProvider [Service option]
Dll, die den Code des Datenbankanbieters enthält
  • ConnectionString [Service option]
An den Datenbankanbieter zu übergebende Verbindungszeichenfolge

Abschnitt [InventoryService]

  • LocalServiceModule [Connector option]
Eine Modulspezifikation (<dll>:<class>), die die Dienste für diesen Connector bereitstellt
  • UserServerURI [Connector option]
URI, um den Benutzerserver zu erreichen
  • SessionAuthentication [Connector option]
Inventarisierungssitzungen authentifizieren (standardmäßig false!)
  • StorageProvider [Service option]
Dll, die den Code des Datenbankanbieters enthält
  • ConnectionString [Service option]
An den Datenbankanbieter zu übergebende Verbindungszeichenfolge

Für zusätzliche Anschlüsse müssen möglicherweise zusätzliche Abschnitte hinzugefügt werden.

Moving any service to its own ROBUST shell

This section contains advanced material. Normally you can ignore this.

If you have a large grid, you may want to run different sets of services in their own ROBUST shell in separate machines, instead of all in one. For example, you may want to single out the Login Service with all the other outside-the-firewall services in its own machine; the Grid Service in its own machine; the Asset Service in its own machine; etc. With ROBUST any service, or any combination of services, can be easily grouped into their own ROBUST shells. If so, do this:

  • Copy Robust.ini.example to your own copy in each machine you want to run of these servers.
  • Edit each. Pay attention to all the server connectors that are given in the [Startup] section. Pick & choose whichever you want in that particular machine.
  • In each configuration section you now need to pay attention to the auxiliary service connectors, and, maybe, change them appropriately. For example, the Login Service needs to access the Inventory Service in order to get the user's inventory upon login. In the default configuration, that dependency is given under the [LoginService] section by the variable
InventoryService = "OpenSim.Services.InventoryService.dll:InventoryService"

If you separate the login service from the inventory service, the corresponding 'InventoryService' variable under [LoginService] should be changed to

   InventoryService = "OpenSim.Services.Connectors.dll:InventoryServicesConnector"

Then in the [InventoryService] section of this Login server config, you'd have

 [InventoryService]
   InventoryServerURI = "http://myinventoryserver.com:myport"

instead of what you have by default.

  • Save the configuration and start the server as normal
  • Note that you can start the server like this:
$ Robust.exe -inifile=OpenSim.MyServer.ini -logfile=/some/path/to/some/file
  • Start all other ROBUST servers you may want to have
  • In your simulators, make sure to update GridCommon.ini to point to the correct URLs
  • Start your sims

Additional Examples

WxService - An example ROBUST service

Personal tools
General
About This Wiki