Inventory Archives/de

From OpenSimulator

Revision as of 06:00, 19 July 2024 by Manni (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Contents

Einführung

OpenSimulator Inventory Archives (IARs) sind eine Möglichkeit, Inventarordner und -elemente offline in einer einzigen Datei (einem IAR) zu speichern. Diese Datei kann dann in eine andere OpenSimulator-Installation geladen werden.

Wie bei OpenSim Archives speichern IARs alle notwendigen Asset-Daten, die erforderlich sind, um die Objekte vollständig wiederherzustellen, einschließlich Texturen, Sounds, Skripte und Objekte, die sich im Inventar anderer Objekte befinden.

IARs sind in OpenSimulator seit der Git-Revision 5a64ca (OpenSimulator 0.6.7 und später) aktiviert.

Verwendung

IARs werden von der Regionskonsole gespeichert und geladen. Standardmäßig werden sie im /bin-Verzeichnis Ihrer Installation gespeichert, und eine IAR-Datei muss sich im /bin-Verzeichnis befinden, um importiert zu werden.

save iar

Der Befehl zum Speichern eines IARs in der Regionskonsole lautet:

save iar [-h|--home=<url>] [-v|--verbose] [--noassets] [--perm=<permissions>] <benutzername> <pfad> <passwort> [<dateiname>]

wo

  • <benutzername> der Name des Benutzers ist, von dem das Inventar gespeichert werden soll
  • <pfad> der Pfad zu einem Inventargegenstand oder -ordner ist. Wenn der Pfad zu einem Ordner führt, werden dieser Ordner und alle darin enthaltenen Elemente (sowohl untergeordnete Ordner als auch Elemente) gespeichert. Wenn der Pfad zu einem Element führt, wird nur dieses Element gespeichert.

Komponenten des Pfads sind durch einen Schrägstrich ("/") getrennt. Wenn Sie einen Pfad mit Leerzeichen angeben müssen, können Sie das Ganze in doppelte Anführungszeichen setzen (z. B. "Ordner A/Ordner B").

Sie können angeben, dass der Inhalt eines Ordners gespeichert werden soll, anstatt den Ordner selbst, indem Sie das *-Wildcard verwenden. Zum Beispiel speichert "a/b/*" den Inhalt des Ordners b, aber nicht den Ordner b selbst.

Wenn ein Name oder Ordner einen Schrägstrich ("/") enthält, kann er mit einem Backslash (d. h. "\/") maskiert werden, um zu verhindern, dass er als Pfadtrenner erkannt wird. Backslashes selbst müssen mit einem weiteren Backslash maskiert werden (d. h. "\\").

Ein weiteres Problem ist, dass es nicht möglich ist, zwischen identisch benannten Ordnern oder Elementen auf dem Pfad zu unterscheiden - der Workaround besteht darin, Ihre Elemente/Ordner umzubenennen, wenn Sie sie im Pfad angeben müssen :)

  • <passwort> ist das Passwort des Benutzers.
  • <dateiname> ist ein optionaler Dateiname für das IAR. Wenn keiner angegeben wird, wird der Dateiname user-inventory.iar im aktuellen Verzeichnis verwendet. Ich empfehle, dass IARs die Erweiterung .iar haben.

Optionen

  • Wenn die Option --noassets angegeben wird, wird das Archiv ohne Assets gespeichert. Dies kann nützlich sein, wenn Sie die Asset-Datenbank separat sichern und die Kosten für die Einbeziehung aller Assets in jedes Archiv vermeiden möchten.
  • --home=<url> ist die URL des Profilservices dieser Welt. Es ist nicht erforderlich, dass der Profilservice in Betrieb ist; die Informationen werden gespeichert und überall angezeigt, wo das Archiv geladen wird. HINWEIS: Die ältere Option --profile (der frühere Name dieser Option) erzeugte IARs, die nicht mit OpenSimulator 0.7.0.2 und früher kompatibel sind; verwenden Sie diese Option nicht, wenn Sie ein kompatibles IAR erstellen möchten.
  • --verbose gibt ausführliche Speichernachrichten aus.
  • Wenn die Option --perm angegeben wird, werden Elemente mit unzureichenden Berechtigungen nicht in das IAR gespeichert. Dies kann nützlich für Grids sein, die ihren Kunden erlauben, ihr Inventar in IARs zu exportieren, da es sicherstellt, dass der Export in IARs nicht zur Umgehung von Inhaltsberechtigungen verwendet werden kann.

<permissions> gibt an, welche Berechtigungen erforderlich sind. Es ist eine Zeichenkette, die eine oder mehrere dieser Zeichen enthält:

  • "C" = Kopieren
  • "T" = Übertragen
  • "M" = Ändern

Beispiele

Hier ist ein Beispiel. Angenommen, Sie haben eine Inventarstruktur wie diese:

Mein Inventar
  |
  +-- OrdnerA
        |  
        +-- OrdnerB
        |      |
        |      +-- ElementX
        |
        +-- ElementY

Wenn Sie eingeben

save iar John Doe OrdnerA PASSWORT meine-elemente.iar

dann werden OrdnerA und alles in OrdnerA (OrdnerB, ElementX und ElementY) in einem IAR namens meine-elemente.iar gespeichert. Wenn Sie hingegen eingeben

save iar John Doe OrdnerA/OrdnerB/ElementX PASSWORT meine-elemente.iar

wird nur ElementX gespeichert.

Wenn im Pfad zum Element ein Leerzeichen enthalten ist, z. B. wenn John Does Ordner "Ordner A" statt "OrdnerA" heißt, sind Anführungszeichen um den Pfad in der Befehlszeile erforderlich:

save iar John Doe "Ordner A/OrdnerB/ElementX" PASSWORT meine-elemente.iar

Speichern des gesamten Inventars eines Benutzers

Mit save iar können Sie Ihr gesamtes Inventar sowie den Inhalt bestimmter Ordner oder einzelner Elemente speichern.

Zum Beispiel würde das Eingeben von

save iar John Doe /* passwort

Ihr gesamtes Inventar in user-inventory.iar speichern (da kein Dateiname angegeben wurde). Dies kann später mit dem --merge-Schalter im Befehl load iar wiederhergestellt werden. Weitere Einzelheiten finden Sie im Abschnitt "Wiederherstellen des gesamten Inventars eines Benutzers" unten.

Bitte beachten Sie, dass für OpenSimulator 0.7.5 und früher der Pfad für save iar als "/*" und nicht nur als "/" angegeben werden muss. Wenn nur "/" angegeben wird, wird trotzdem das gesamte Inventar gespeichert, aber es wird ein Basisordner namens "Mein Inventar" erstellt, der beim Neuladen unter dem vorhandenen Ordner "Mein Inventar" eines Benutzers erstellt wird.

Ab OpenSimulator-Git-Master-Dev-Code-Commit d54d3180 (Samstag, 16. Februar 2013, 00:49:06) speichert "/" auch das gesamte Inventar des Benutzers ohne den Ordner "Mein Inventar". Dies liegt daran, dass "Mein Inventar" eigentlich kein echter Ordner ist, sondern der Name des Benutzerinventars. Ich glaube, dass dies intuitiver ist und es bedeutet, dass Inventare, die mit / gespeichert wurden, mit der load iar --merge-Funktion ebenfalls wiederhergestellt werden können. Diese Änderung wird in der nächsten OpenSimulator-Version (0.7.6) enthalten sein. -- Justincc 02:26, 16. Februar 2013 (UTC)

load iar

Ein IAR kann mit dem Befehl load iar in eine OpenSimulator-Instanz geladen werden:

load iar [-m|--merge] <benutzername> <pfad> <passwort> [<dateiname>]

wo

  • <benutzername> der Name des Benutzers ist, in dessen Inventar das IAR geladen werden soll
  • <pfad> der Pfad ist, in den das IAR geladen werden soll. Dies muss ein bereits vorhandener Ordner in "Mein Inventar" sein. Weitere Einzelheiten finden Sie im Befehl save iar.
  • <passwort> das Passwort des Benutzers ist.
  • [<dateiname>] ein optionaler Dateiname für das IAR ist. Wenn keiner angegeben wird, wird der Dateiname user-inventory.iar im aktuellen Verzeichnis angenommen.

Optionen

  • Wenn die Option --merge angegeben wird, werden IAR-Elemente in die vorhandene Ordnerstruktur geladen, wo dies möglich ist, anstatt immer neue Ordner zu erstellen.

Beispiele

1. Angenommen, "David Hume" hat das oben gespeicherte my-items.iar erhalten, das OrdnerA, OrdnerB, ElementX und ElementY enthält. David Hume hat bereits eine Inventarstruktur wie diese:

Mein Inventar
 |
 +-- Ordner1
       |  
       +-- Ordner2
       |      
       +-- Ordner3

David möchte das IAR in Ordner3 laden, also führt er in der Regionskonsole den Befehl aus:

load iar David Hume Ordner1/Ordner3 passwort meine-elemente.iar

Nach einer Weile hat er die folgende Ordnerstruktur:

Mein Inventar
 |
 +-- Ordner1
       |  
       +-- Ordner2
       |
       +-- Ordner3 
             |
             +-- OrdnerA
             |  
             +-- OrdnerB
             |      |
             |      +-- ElementX
             |
             +-- ElementY

wobei ElementX und ElementY bereit zum Rezzing sind.

Wenn im Pfad zum Element ein Leerzeichen enthalten ist, z. B. wenn Davids Ordner "Ordner 1" statt "Ordner1" heißt, sind Anführungszeichen um

den Pfad in der Befehlszeile erforderlich:
load iar David Hume "Ordner 1/Ordner3" passwort meine-elemente.iar

Ab OpenSimulator 0.7 und später können Sie auch IARs direkt von Webadressen laden. Zum Beispiel

load iar Betrand Russell Ordner2 PASSWORT http://justincc.org/downloads/iars/my-great-items.iar

wird my-great-items.iar aus dem Web in Ordner2 des Benutzers "Bertrand Russell" laden.

2. Angenommen, ein Benutzer namens Albert Camus hat eine vorhandene Inventarstruktur:

Mein Inventar
 |
 +-- OrdnerA
 |     |
 |     +-- Element1
 |
 +-- OrdnerC
       |
       +-- Element2

und wir führen aus

load iar --merge Albert Camus / PASSWORT meine-elemente.iar

mit dem oben gespeicherten IAR. Anstatt einen doppelten OrdnerA zu erstellen, führt dies zu folgender Inventarstruktur:

Mein Inventar
 |
 +-- OrdnerA
 |     |
 |     +-- OrdnerB
 |     |      |
 |     |      +-- ElementX
 |     |
 |     +-- Element1
 |     |
 |     +-- ElementY
 |
 +-- OrdnerC
       |
       +-- Element2

Wiederherstellung des gesamten Inventars eines Benutzers

Die Option --merge ist nützlich, wenn Sie ein gespeichertes Inventar in ein neues Benutzerkonto wiederherstellen, da die Basisordner (Gesten, Landmarks, Objekte usw.) nicht dupliziert werden.

Zum Beispiel, wenn Sie das gesamte Inventar eines Benutzers wie oben beschrieben gespeichert haben, können Sie es in das Inventar eines neu erstellten Benutzers mit folgendem Befehl wiederherstellen.

load iar --merge Albert Camus / PASSWORD my-inventory.iar

Anwendungsfälle

Mögliche Anwendungen

1. Um Inhalte an andere OpenSimulator-Installationen zu verteilen, ohne ganze Regionen übertragen zu müssen. Ein Nachteil von IARs für diesen Anwendungsfall ist, dass Erstellernamen nicht erhalten bleiben, es sei denn, der Benutzer hat ein Profil auf der Zielinstallation. Ein Workaround besteht darin, eine Notizkarte beizufügen, die den Ersteller und die Lizenzbedingungen des Inhalts beschreibt.

2. Um das Inventar eines Benutzers zu sichern. IARs sind derzeit nicht sehr gut dafür geeignet. Man kann ein gesamtes Inventar sichern, indem man einen Pfad von "/" für den save iar-Befehl angibt. Aber ein load IAR desselben wird einen doppelten Satz von 'Standard'-Ordnern (Objekte, Texturen, Kleidung usw.) bedeuten. Die geladenen Ordner haben keine Typ-Icons.

Aktuelle Einschränkungen

  • Das Laden und Speichern von IARs erfolgt derzeit in einem einzelnen Thread. Dies kann die Konsole für eine Weile blockieren, wenn es sich um sehr große IARs handelt. Dies sollte in Zukunft behoben werden.
  • Erstellernamen werden nicht erhalten, es sei denn, das Profil existiert im Zielsystem. Dieses Problem könnte in Zukunft behoben werden.

IAR-Format

Das OpenSimulator Inventory Archive (IAR)-Format ist mit drei Zielen im Sinn entworfen:

  1. Es soll einfach sein, einzelne Elemente, Assets usw. innerhalb eines Archivs zu lesen und zu aktualisieren.
  2. Es soll einfach sein, zwei Inventararchive zu einem einzigen Inventararchiv zusammenzuführen.
  3. Es soll einfach sein, Archive von Grund auf neu zu erstellen.

Daher werden alle verschiedenen Entitäten (Assets, Items usw.) in einzelnen Dateien (z.B. eine für jedes Asset) mit menschenlesbaren Dateinamen und maschinenlesbaren Erweiterungen (z.B. .jp2 für Texturen, .txt für Notizkarten) verpackt.

Fehler

Bitte durchsuchen Sie den OpenSimulator Mantis nach Informationen zu aktuellen IAR-Fehlern.

23. FEB. 2010:

Es gibt eine kleine "Eigenheit" bei MySql in Bezug auf die Max_Allowed_Packet-Größe, deren Standardwert 1 Megabyte beträgt. Dies ist zu klein für einige der größeren Datenblobs, die gespeichert werden. Es wird empfohlen, den Standardwert auf 16 Megabyte zu erhöhen.

Suchen Sie Ihre MY.ini für MySql (BEISPIEL: unter Windows befindet sie sich unter "C:\Program Files\MySQL\MySQL Server 5.1"). Ändern Sie diese Datei, um das Folgende unter der mysqld-Sektion einzufügen:

[mysqld]

  1. Der TCP/IP-Port, auf dem der MySQL-Server lauscht
    port=3306
    max_allowed_packet = 16M

Zusätzliche Referenzdev.mysql.com/doc/refman/5.1/en/packet-too-large.html

Aktueller Status

Betriebsbereit. Fehlerberichte sind über die üblichen Mantis-Kanäle willkommen.

Obwohl wir uns bemühen werden, die Kompatibilität alter Archive mit neueren OpenSimulator-Versionen aufrechtzuerhalten, verlassen Sie sich bitte nicht nur auf diese Archive als einzige Sicherung für Inventar.

Herunterladbare IAR-Dateien

Bitte fügen Sie hier gerne Links zu anderen IARs hinzu.

Externe Links

http://justincc.org/blog/category/iars/ - Artikel von justincc über IARs, einschließlich Tutorials, Hintergrundinformationen und mögliche zukünftige Entwicklungen. (Defekter Link)

The OpenSimulator Library just got more interesting - Diva Cantos Artikel darüber, wie man die OpenSimulator-Bibliothek mit IARs erweitern kann.

Siehe auch

Personal tools
General
About This Wiki