ROBUST/de

= Einführung =

ROBUST steht für die "Redesigned 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 : . 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, 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, 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.

= Verschieben eines beliebigen Dienstes in seine eigene ROBUST Shell =

Wenn Sie über ein großes Grid verfügen, möchten Sie möglicherweise verschiedene Sätze von Diensten in ihrer eigenen ROBUST-Shell auf separaten Computern ausführen, anstatt alle auf einem. Beispielsweise möchten Sie möglicherweise den Login-Dienst mit allen anderen Diensten außerhalb der Firewall auf einem eigenen Computer herausgreifen; der Grid-Dienst in seiner eigenen Maschine; der Asset Service in seiner eigenen Maschine; usw. Mit ROBUST kann jeder Dienst oder jede Kombination von Diensten einfach in eigenen ROBUST-Shells gruppiert werden. Wenn ja, tun Sie dies:


 * Kopieren Sie Robust.ini.example in Ihre eigene Kopie auf jedem Computer, den Sie von diesen Servern ausführen möchten.
 * Bearbeiten Sie jeweils. Achten Sie auf alle Server-Connectors, die im Abschnitt [Startup] angegeben sind. Wählen Sie aus, was Sie in dieser bestimmten Maschine wollen.
 * In jedem Konfigurationsabschnitt müssen Sie nun auf die Hilfsdienstanschlüsse achten und diese gegebenenfalls entsprechend ändern. Beispielsweise muss der Anmeldedienst auf den Inventardienst zugreifen, um das Inventar des Benutzers bei der Anmeldung abzurufen. In der Standardkonfiguration wird diese Abhängigkeit im Abschnitt [LoginService] durch die Variable angegeben

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

Wenn Sie den Anmeldedienst vom Inventardienst trennen, sollte die entsprechende 'InventoryService'-Variable unter [LoginService] geändert werden InventoryService = "OpenSim.Services.Connectors.dll:InventoryServicesConnector" Dann hätten Sie im Abschnitt [InventoryService] dieser Anmeldeserverkonfiguration [InventoryService] InventoryServerURI = "http://myinventoryserver.com:myport" anstelle dessen, was Sie standardmäßig haben.


 * Speichern Sie die Konfiguration und starten Sie den Server wie gewohnt
 * Beachten Sie, dass Sie den Server wie folgt starten können:

$ Robust.exe -inifile=OpenSim.MyServer.ini -logfile=/some/path/to/some/file


 * Starten Sie alle anderen ROBUST-Server, die Sie haben möchten
 * Stellen Sie in Ihren Simulatoren sicher, dass GridCommon.ini so aktualisiert wird, dass sie auf die richtigen URLs verweist
 * Starten Sie Ihre Sims