Installing 3rd party addins/de

From OpenSimulator

Jump to: navigation, search

Contents

Installing 3rd party addins

Diese Seite erklärt, wie man Drittanbieter-Addins für den Simulator-Server systematisch installiert, aktualisiert und deinstalliert. Drittanbieter-Addins sind Pakete, die um binäre Distributionen von Region Modulen herum erstellt wurden, möglicherweise mit zusätzlichen externen Bibliotheken und Ressourcen, die den Simulator mit zusätzlicher Funktionalität erweitern. Beachten Sie, dass Drittanbieter-Addins hier binäre Pakete von OpenSim-Erweiterungen bezeichnet; dies unterscheidet sich von als Quellcode verfügbaren Erweiterungen, mit denen Sie möglicherweise bereits vertraut sind und für die Sie möglicherweise bereits einen Prozess zum Erstellen und Bereitstellen in Ihrem Grid eingerichtet haben. Drittanbieter-Addins geben den Anbietern die Möglichkeit, den Quellcode proprietär zu halten, und bieten Ihnen einen relativ einfachen Prozess zur Integration dieser Erweiterungen in Ihre OpenSim-Installation und zur Weiterentwicklung relativ unabhängig von Aktualisierungen des OpenSim-Kerns.

Hinweis: Diese Dokumentation wurde für OpenSimulator Version 0.9.3.x mit .NET 8.0 Runtime aktualisiert.

Wenn Sie ein Entwickler sind, der nach Informationen zur Entwicklung und Verteilung von Addins sucht, lesen Sie bitte diese andere Seite.

Voraussetzungen

Bevor Sie Drittanbieter-Addins installieren, stellen Sie sicher, dass Sie Folgendes haben:

Registry-Speicherort

Bevor Sie mit der Verwendung verwalteter Addins beginnen, ist es wichtig, dass Sie sorgfältig darüber nachdenken, wo Sie diese Addins aufbewahren möchten. Intern verwendet OpenSim seine eigenen Addins und installiert die Addin-Datenbank unter seinem bin-Ordner. Wenn Sie nichts ändern, werden auch Drittanbieter-Addins dort platziert. Abhängig davon, welchen Prozess Sie für die Aktualisierung von OpenSim eingerichtet haben, kann dies zu Problemen führen: Wenn Ihr Prozess das Löschen des gesamten bin-Ordners und das Ersetzen durch einen neuen umfasst, werden bei diesem Prozess auch Ihre Drittanbieter-Addins gelöscht, und Sie müssen sie jedes Mal neu installieren, wenn Sie den OpenSim-Kern aktualisieren.

Der Speicherort der Addin-Registry wird durch eine Konfigurationsvariable in OpenSim.ini angegeben:

 [Startup]
     ...
     ;# {RegistryLocation} {} {Addins Registry Location} {}
     ; Legen Sie den Pfad zu einem Verzeichnis für die Addin-Registry fest, wenn Sie sie nicht im OpenSim bin-Verzeichnis haben möchten.
     ; RegistryLocation = "."
     RegistryLocation = "/pfad/zu/meiner/registry"

Sie können dies so ändern, dass es auf einen anderen Pfad in Ihrem Dateisystem verweist. Dieser Speicherort ist für die Addin-Installation wichtig.

Empfehlung: Verwenden Sie ein separates Verzeichnis außerhalb des OpenSim bin-Ordners, um Ihre Addins bei OpenSim-Updates zu erhalten.

Von hier an verwenden alle im Folgenden beschriebenen Schritte das Mono Addins Kommandozeilen-Tool mautil. mautil ermöglicht es uns, Mono-Addins für .NET-Anwendungen im Allgemeinen zu paketieren, zu verteilen, zu installieren und zu deinstallieren. Dieses Tool ist im bin-Verzeichnis von OpenSim als mautil.exe enthalten.

Konfigurations-Speicherort

Ein weiteres Problem, über das Sie nachdenken müssen, ist, wo die eigenen Konfigurationsdateien der Addins gespeichert werden sollen. Dies ist wichtig, da Sie beim Aktualisieren von OpenSim oder den Addins diese Konfigurationsdateien nicht immer wieder neu erstellen möchten.

Der Speicherort der Addin-Konfigurationsdateien wird durch eine Konfigurationsvariable in OpenSim.ini angegeben:

 [Startup]
     ...
     ;# {ConfigDirectory} {} {Set path to directory for modular ini files} {}
     ; Wird von Region Modulen verwendet, um optional Konfigurationsdateien aus einem separaten Verzeichnis zu laden
     ; ConfigDirectory = "."
     ConfigDirectory = "/pfad/zu/meinen/addin/configs"

Sie können dies so ändern, dass es auf einen anderen Pfad in Ihrem Dateisystem verweist. Dieser Speicherort ist für die Addin-Installation wichtig.

Empfehlung: Verwenden Sie ein separates Verzeichnis, um Konfigurationsdateien über Updates hinweg persistent zu halten. Häufige Optionen sind:

  • Windows: C:\OpenSim\configs
  • Linux: /etc/opensim/configs oder ~/opensim/configs

Initiale Registry-Aktualisierung

Bevor Sie Drittanbieter-Addins installieren, müssen Sie die Registry mit OpenSims eigenen Addins füllen, die für die Installation von Drittanbieter-Addins erforderlich sind. Führen Sie dazu diesen Befehl im bin-Ordner von OpenSim aus:

Windows:

 $ mautil.exe -reg "C:\pfad\zu\meiner\registry" reg-update

Linux/Mac:

 $ mono mautil.exe -reg "/pfad/zu/meiner/registry" reg-update

Zum Beispiel:

 $ mautil.exe -reg "C:\addins-registry" reg-update

WICHTIG: Sie müssen diese Befehle aus dem bin-Ordner heraus ausführen. Andernfalls müssen Sie den -p Parameter hinzufügen und ihn auf das Verzeichnis setzen, in dem sich OpenSim.exe befindet. Wenn Sie also mautil.exe von woanders ausführen, stellen Sie sicher, dass Sie den Wert dieses Arguments anpassen. Wenn Sie es beispielsweise aus dem OpenSim-Stammordner ausführen, sollte der obige Befehl lauten:

 $ bin\mautil.exe -p bin -reg "C:\addins-registry" reg-update

Sie können auch absolute Pfade verwenden, wenn das einfacher ist.

Von hier an gehen wir davon aus, dass mautil.exe aus dem bin-Ordner von OpenSim ausgeführt wird, daher lassen wir -p weg.

Drittanbieter-Repositories

Der nächste Schritt besteht darin, Remote-Repositories von Addins zu Ihrer OpenSim-Installation hinzuzufügen. Es gibt kein zentrales Repository für OpenSim-Addins. Remote-Repositories werden von Drittanbietern bereitgestellt und gepflegt, und Sie müssen auf irgendeine Weise davon erfahren. Sie können so viele Repositories hinzufügen, wie Sie benötigen.

Um ein Repository hinzuzufügen, führen Sie diese Befehle im bin-Ordner von OpenSim aus:

Windows:

 $ mautil.exe -reg "C:\pfad\zu\meiner\registry" rep-add http://repository-url
 $ mautil.exe -reg "C:\pfad\zu\meiner\registry" rep-update

Linux/Mac:

 $ mono mautil.exe -reg "/pfad/zu/meiner/registry" rep-add http://repository-url
 $ mono mautil.exe -reg "/pfad/zu/meiner/registry" rep-update

Zum Beispiel:

 $ mautil.exe -reg "C:\addins-registry" rep-add http://example.com/opensim-addins
 $ mautil.exe -reg "C:\addins-registry" rep-update

Oder wenn Sie sich entschieden haben, den Standard-bin-Ordner von OpenSim als Registry-Speicherort zu verwenden:

 $ mautil.exe -reg . rep-add http://example.com/opensim-addins
 $ mautil.exe -reg . rep-update

Nochmals: Wenn Sie mautil.exe von woanders ausführen, stellen Sie sicher, dass Sie -p richtig verwenden.

Von hier an können Sie prüfen, welche Addins verfügbar sind, indem Sie Folgendes eingeben:

 $ mautil.exe -reg "/pfad/zu/meiner/registry" list-av

Dies zeigt alle verfügbaren Addins aus allen hinzugefügten Repositories an.

Addins installieren

Schließlich können Sie ein verfügbares Addin mit folgendem Befehl installieren:

 $ mautil.exe -reg "/pfad/zu/meiner/registry" install addin-name

Zum Beispiel, um die neueste Version eines Addins zu installieren:

 $ mautil.exe -reg "C:\addins-registry" install IhrAddin.Name

Um eine bestimmte Version zu installieren:

 $ mautil.exe -reg "C:\addins-registry" install IhrAddin.Name,0.9.3.1.1

Die installierten Addins werden unter /pfad/zu/meiner/registry/addins/addin-name platziert. Häufig bringen diese Addins eine Konfigurationsdatei (.ini) mit, die Sie möglicherweise ändern müssen. Abhängig davon, wie die Addins codiert sind, kopieren sie möglicherweise ihre eigene Konfigurationsdatei in den oben angegebenen Ordner ConfigDirectory oder auch nicht. Selbst wenn sie es tun, können sie es nur tun, wenn OpenSim die Addins zum ersten Mal ausführt.

Best Practice: Gehen Sie nach der Installation eines Addins zu dem Verzeichnis, in dem Ihr Addin installiert wurde, und prüfen Sie auf Konfigurationsdateien. Kopieren Sie alle .ini-Dateien von dort in Ihr ConfigDirectory und bearbeiten Sie sie entsprechend Ihren Anforderungen, bevor Sie OpenSim starten.

Zum Beispiel könnten Sie Konfigurationsdateien finden unter:

 C:\addins-registry\addins\IhrAddin.Name.0.9.3.1.1\

Sie würden dann alle .ini-Dateien in Ihr ConfigDirectory (z.B. C:\OpenSim\configs) kopieren und dort bearbeiten.

Installation überprüfen

Nach der Installation können Sie überprüfen, ob das Addin korrekt installiert wurde:

 $ mautil.exe -reg "/pfad/zu/meiner/registry" list

Dies listet alle installierten Addins mit ihren Versionen auf.

Um detaillierte Informationen über ein bestimmtes Addin zu sehen:

 $ mautil.exe -reg "/pfad/zu/meiner/registry" info addin-name

Auf Updates prüfen und Updates installieren

Um nach verfügbaren Updates zu suchen:

 $ mautil.exe -reg "/pfad/zu/meiner/registry" list-update

Dies zeigt Ihnen, für welche installierten Addins neuere Versionen verfügbar sind.

Um ein bestimmtes Addin zu aktualisieren:

 $ mautil.exe -reg "/pfad/zu/meiner/registry" update addin-name

Um alle Addins zu aktualisieren:

 $ mautil.exe -reg "/pfad/zu/meiner/registry" update

Hinweis: Vor dem Aktualisieren wird empfohlen, Ihre Konfigurationsdateien zu sichern und das Update zuerst in einer Entwicklungsumgebung zu testen.

Addins deinstallieren

Um ein Addin zu deinstallieren:

 $ mautil.exe -reg "/pfad/zu/meiner/registry" uninstall addin-name

Zum Beispiel:

 $ mautil.exe -reg "C:\addins-registry" uninstall IhrAddin.Name

Hinweis: Die Deinstallation eines Addins entfernt nicht automatisch seine Konfigurationsdateien aus Ihrem ConfigDirectory. Möglicherweise möchten Sie diese manuell entfernen oder archivieren.

Versionierung und Kompatibilität

Ein wichtiger Aspekt bei der Installation und Verwaltung von binären Drittanbieter-Komponenten ist die Frage der Versionierung. .NET ist besonders streng, was die Schnittstellenkompatibilität zwischen Bibliotheken betrifft, und beschwert sich (durch Auslösen von Ausnahmen oder Abstürzen), wenn eine ausführbare Datei versucht, eine inkompatible Bibliothek zu verknüpfen. Im Fall von Drittanbieter-Addins können Inkompatibilitäten auftreten, wenn diese Addins gegen eine OpenSim-Version kompiliert wurden, die sich von der unterscheidet, die Sie haben. Einige dieser Inkompatibilitäten werden zum Zeitpunkt der Addin-Installation abgefangen, andere jedoch nicht -- diese können auftreten, wenn Sie OpenSim ausführen.

Versionsnummern verstehen

OpenSim-Addins verwenden typischerweise Versionsnummern im Format: X.Y.Z.W.A wobei:

  • X.Y.Z.W der OpenSim-Version entspricht (z.B. 0.9.3.1)
  • A die eigene Versionsnummer des Addins ist

Zum Beispiel: IhrAddin.Name,0.9.3.1.2 bedeutet:

  • Kompatibel mit OpenSim 0.9.3.1
  • Dies ist Version 2 des Addins

Kompatibilitäts-Szenarien

Szenario 1: Addin älter als OpenSim

Angenommen, das neueste MISearchModules-Addin wurde gegen OpenSim 0.9.3.1 kompiliert und Sie haben OpenSim 0.9.2.0. Wenn Sie versuchen, dieses Addin zu installieren, schlägt die Addin-Installation fehl, da MISearchModules,0.9.3.1.1 eine explizite Abhängigkeit von OpenSim 0.9.3.1 hat. Da Ihre OpenSim-Version älter als das Addin ist, wird die Inkompatibilität erkannt und die Installation schlägt fehl. In diesem Fall müssten Sie:

  • Ihr OpenSim auf 0.9.3.1 oder höher aktualisieren, ODER
  • Das ältere MISearchModules-Addin für OpenSim 0.9.2.0 finden und installieren

Szenario 2: OpenSim neuer als Addin (Am problematischsten)

Angenommen, Sie haben MISearchModules,0.9.2.0.1 installiert (das gegen OpenSim 0.9.2.0 kompiliert wurde) und aktualisieren Ihre OpenSim-Installation auf OpenSim 0.9.3.1. Das Mono-Addins-Framework wird dieses Addin als kompatibel mit der neuen OpenSim-Version betrachten (weil die neue OpenSim-Version höher ist als die des Addins). In Wirklichkeit können die neuen OpenSim-DLLs jedoch andere .NET-Schnittstellen haben als die, gegen die das MISearchModules-Addin kompiliert wurde. Wenn das Addin Teile des Kern-OpenSim verwendet, die sich zwischen den Versionen geändert haben, kann ein Fehler auftreten, wenn Sie OpenSim ausführen -- es kann sich nur um eine Ausnahme im Log oder einen vollständigen Absturz des Simulators handeln. In diesem Fall müssten Sie:

  • Nach Updates suchen: mautil.exe -reg "pfad" list-update
  • Das Addin aktualisieren: mautil.exe -reg "pfad" update MISearchModules
  • Wenn noch kein Update existiert, deinstallieren Sie das Addin, bis die neuere Version verfügbar wird

Versionsnummern aller Art sind hauptsächlich Anmerkungen für Menschen. Die Wahrheit liegt immer in der binären Signatur der DLLs.

Konkrete Beispiele

  • Addin Foo benötigt OpenSim 0.9.3.1 und wird in OpenSim 0.9.3.1 installiert ==> Addin-Kompatibilität ok. Binäre Kompatibilität wahrscheinlich ok.
  • Addin Foo benötigt OpenSim 0.9.2.0 und wird in OpenSim 0.9.3.1 installiert ==> Addin-Kompatibilität ok. Binäre Kompatibilität kann fehlschlagen, abhängig von API-Änderungen. Wenn Foo gegen OpenSim 0.9.2.0 kompiliert wurde, kann es fehlschlagen, da sich OpenSim-APIs zwischen Releases ändern können. Aber wenn Foo gegen 0.9.3.1 kompiliert wurde, die Entwickler von Foo aber vergessen haben, die deklarierte Abhängigkeit zu aktualisieren, ist die binäre Kompatibilität ok.
  • Addin Foo benötigt OpenSim 0.9.4.0 und wird in OpenSim 0.9.3.1 installiert ==> Addin-Kompatibilität wird fehlschlagen. Foo wird nicht einmal laufen, um die binäre Kompatibilität zu prüfen. Die Installation wird blockiert.

Fehlerbehebung

Häufige Probleme

Addin lädt nicht

  • Überprüfen Sie das OpenSim-Log auf Fehlermeldungen
  • Überprüfen Sie, ob die Addin-Version mit Ihrer OpenSim-Version übereinstimmt
  • Stellen Sie sicher, dass alle Abhängigkeiten installiert sind
  • Prüfen Sie, ob Konfigurationsdateien vorhanden und korrekt bearbeitet sind

Versions-Mismatch-Fehler

  • Aktualisieren Sie das Addin auf eine mit Ihrem OpenSim kompatible Version
  • Oder downgraden/upgraden Sie Ihr OpenSim, um mit dem Addin übereinzustimmen
  • Fragen Sie beim Addin-Anbieter nach kompatiblen Versionen

Konfigurations-Probleme

  • Überprüfen Sie, ob .ini-Dateien im richtigen ConfigDirectory sind
  • Prüfen Sie, ob ConfigDirectory in OpenSim.ini richtig gesetzt ist
  • Überprüfen Sie Log-Dateien auf konfigurationsbezogene Fehler

Registry-Beschädigung

  • Wenn die Registry beschädigt wird, müssen Sie sie möglicherweise löschen und neu erstellen:
 1. Löschen Sie das Registry-Verzeichnis
 2. Führen Sie mautil.exe -reg "pfad" reg-update erneut aus
 3. Fügen Sie Repositories wieder hinzu
 4. Installieren Sie Addins neu

.NET 8.0 spezifische Probleme

  • Stellen Sie sicher, dass .NET 8.0 Runtime auf Ihrem System installiert ist
  • Einige ältere Addins, die für .NET Framework kompiliert wurden, funktionieren möglicherweise nicht mit .NET 8.0
  • Fragen Sie bei Addin-Anbietern nach .NET 8.0-Kompatibilität

Hilfe erhalten

Wenn Sie auf Probleme stoßen:

  • Überprüfen Sie die OpenSim-Log-Dateien im bin-Verzeichnis
  • Konsultieren Sie die Dokumentation des Addin-Anbieters
  • Besuchen Sie die OpenSimulator-Foren oder Discord
  • Prüfen Sie die List of 3rd Party Addin Repositories für Kontaktinformationen

Best Practices

  • Separate Registry: Verwenden Sie immer ein separates Verzeichnis für die Addin-Registry außerhalb des bin-Ordners
  • Separate Konfiguration: Speichern Sie Addin-Konfigurationen in einem dedizierten ConfigDirectory
  • Zuerst testen: Testen Sie Addins in einer Entwicklungsumgebung, bevor Sie sie in der Produktion einsetzen
  • Backup: Sichern Sie Ihre Konfigurationen vor dem Aktualisieren von Addins oder OpenSim
  • Kompatibilität prüfen: Überprüfen Sie immer die Versionskompatibilität vor der Installation oder Aktualisierung
  • Dokumentation lesen: Lesen Sie die Dokumentation des Addin-Anbieters für spezifische Installationsanweisungen
  • Aktuell bleiben: Prüfen Sie regelmäßig auf Addin-Updates, um die Kompatibilität mit Ihrer OpenSim-Version sicherzustellen
  • Logs überwachen: Beobachten Sie OpenSim-Logs nach der Installation neuer Addins auf Fehler oder Warnungen

Erweiterte Nutzung

Verwendung mehrerer Registries

In einigen Fällen möchten Sie möglicherweise separate Registries für verschiedene Zwecke pflegen (Testing, Produktion, etc.). Sie können dies tun, indem Sie verschiedene Registry-Pfade angeben:

 $ mautil.exe -reg "C:\addins-registry-test" rep-add http://example.com/repo
 $ mautil.exe -reg "C:\addins-registry-prod" rep-add http://example.com/repo

Konfigurieren Sie dann OpenSim.ini entsprechend für jede Umgebung.

Scripting für Addin-Verwaltung

Sie können Skripte erstellen, um die Addin-Verwaltung zu automatisieren:

Windows (PowerShell):

 $registry = "C:\addins-registry"
 & .\mautil.exe -reg $registry list-update
 & .\mautil.exe -reg $registry update

Linux (Bash):

 #!/bin/bash
 REGISTRY="/pfad/zu/registry"
 mono mautil.exe -reg "$REGISTRY" list-update
 mono mautil.exe -reg "$REGISTRY" update

Siehe auch

Externe Links

General
About This Wiki