OpenSimulator

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.
OpenSimulator
Logo
Maintainer opensimulator.org
Entwickler opensimulator.org, Opensource BSD
Erscheinungsjahr März 2007
Aktuelle Version 0.8.2.1
(9. Dezember 2015[1])
Programmier­sprache C#, Mono, .NET
Lizenz BSD
Deutschsprachig nein
opensimulator.org

OpenSimulator, auch kurz OpenSim, ist ein BSD-lizenziertes Open-Source-Projekt, in dem eine Server-Plattform für virtuelle Welten geschaffen wird. Die Anwendung wird in C# programmiert und lässt sich über die Laufzeitumgebungen .NET und Mono bearbeiten und kompilieren. Mit OpenSimulator betriebene virtuelle Welten können mit einem Client, genannt Viewer, betrachtet werden. Dies erlaubt es mehreren Nutzern gleichzeitig, sich am gleichen virtuellen Ort aufzuhalten und miteinander zu interagieren.

Basis[Bearbeiten | Quelltext bearbeiten]

OpenSimulator ist eine Server-Software zum Betreiben von virtuellen Welten. Dieser Server verwaltet dabei alle zum Betrieb erforderlichen Daten und stellt sie den Nutzern über das Internet oder nur lokal zur Verfügung. Hierbei handelt es sich um Daten zum virtuellen Land, Benutzerkonten, Chats, Gruppen und die von den Nutzer erstellten Inhalte (Gebäude, Kleidung, Skripte, Texturen, ...). OpenSimulator lässt sich sehr flexibel konfigurieren, so dass zum einen der Betrieb auf einem lokalen Standard-PC möglich ist, aber auch bei externen Anbietern von Servern und sogar in der Cloud.

Versionierung[Bearbeiten | Quelltext bearbeiten]

OpenSimulator befindet sich derzeit noch im Alpha-Stadium. Die Community gibt regelmäßig neue Versionen heraus. Neben den stabilen Versionen, die meist halbjährlich freigegeben werden, gibt es noch Entwickler-Versionen. Diese sind mit der zusätzlichen Kennung „DEV“ (Developer) gekennzeichnet und in einem gesonderten Entwicklerbereich (der aber öffentlich zugänglich ist) verfügbar. Wenn nach einiger Zeit eine neue Version ansteht, die bereits einen gewissen Grad an Stabilität erreicht hat, wird diese mit der Kennung „RC“ (Release Candidate) zusätzlich zur aktuellen Version im Download-Bereich angeboten.

Architektur[Bearbeiten | Quelltext bearbeiten]

OpenSimulator kann in zwei Moden betrieben werden:

  • Im Standalone-Modus werden alle Aufgaben (Region, Anmeldung, Datenhaltung) durch einen Prozess abgebildet. Diese eignet sich vor allem für Entwickler oder der Nutzung auf einem einzelnen Server.
  • Der Grid-Modus ist zum Betrieb größerer virtueller Welten gedacht, die Server-seitig mehr Performance benötigen. Die Aufgaben werden auf spezialisierte Serverprozesse aufgeteilt. Über die sogenannte "Robust-Konsole" werden die einzelnen Server verbunden und die Verwaltung zentralisiert.

Beide Moden lassen sich mit oder ohne HyperGrid-Unterstützung betreiben.

Module[Bearbeiten | Quelltext bearbeiten]

OpenSimulator benutzt Module zur Erweiterung der Funktionalität. So kann ein stabiler und standardisierter Kern (Core) bereitgestellt werden, während in großer Freiheit und wenig Koordinationsnotwendigkeit neue Funktionen als Modul entwickelt werden können.

Datenbanken[Bearbeiten | Quelltext bearbeiten]

Da OpenSimulator sowohl den Anspruch an Portabilität und Plattformunabhängigkeit erfüllen soll, musste die Unterstützung von mehreren Datenbanken realisiert werden. Voreingestellt ist die Verwendung der bereits enthaltenen SQLite-Datenbanken, so dass keine zusätzliche Datenbanksoftware installiert werden muss. Alternativ lassen sich andere SQL-Datenbanken verwenden, z.B. MySQL, MariaDB oder Microsoft SQL Server.

Varianten[Bearbeiten | Quelltext bearbeiten]

Um die Software auf bestimmte Bereiche zu optimieren, entstanden seitens des eigentlichen Projektes einige Abspaltungen (Forks):

  • OSgrid OpenSimulator basiert auf einer aktuellen Entwickler-Version und ist bereits so vorkonfiguriert, dass das eigene Grid an das flächenmäßig derzeit größte Grid, OSgrid, angeschlossen wird.
  • Diva-Distro ist eine speziell für den Standalone-Modus angepasste Version, die vor allem die Bedienung erleichtern soll. Zudem wird eine Weboberfläche, die sogenannte Diva Wifi, mitgeliefert, die das Erstellen eines Webservers erleichtern soll.
  • Sim on a Stick ist ein vollständig vorkonfigurierter OpenSimulator-Server, der sich direkt von einem USB-Stick ausführen lässt. Mit dabei ist eine MySQL-Datenbank und ein Apache-Webserver mit PHP-Unterstützung.

Erkenntnisse, die aus den oben genannten Varianten gewonnen werden, fließen oft wieder zurück in den offiziellen Entwicklungsstrang.

Protokolle[Bearbeiten | Quelltext bearbeiten]

OpenSimulator benutzt als Standard das SecondLife-Protokoll, welches durch Linden Lab entwickelt wurde. Allerdings ist OpenSimulator multiprotokoll-fähig und im März 2009 wurde als erste Erweiterung das Metaverse Exchange Protocol (MXP) eingeführt. MXP ist ein Client-Server-Protokoll der zweiten Generation. Intern benutzt OpenSimulator XML-RPC und REST (JSON/HTTP und XML/HTTP).

Hypergrid[Bearbeiten | Quelltext bearbeiten]

Beim Hypergrid (HG) handelt es sich um eine Funktion, die mehrere Grids über Hypergrid-Teleports verbindet. Hierfür benutzt das System eine direkte Adresseingabe ähnlich wie bei einem herkömmlichen Webbrowser. Seit der HG-Version 1.5 ist auch ein IM-Chat (Instant-Messaging) über das Hypergrid möglich. Mit HG 2.0 sollen wesentliche Dinge vor allem im Bereich der Sicherheit optimiert werden. Das Hypergrid ermöglicht sogar den Grid-übergreifenden Handel von virtuellen Waren: Ein Avatar kann von Grid A nach Grid B teleportieren, dort neue Güter erhalten und diese mitnehmen zurück ins Grid A. Ab der HG-Version 2.0 geschieht dies mit einem virtuellen Reisekoffer - ein zusätzlicher Ordner namens "My Suitcase" im Inventar. Solange sich der Avatar in Grid B aufhält, hat er nur Zugriff auf diesen Reisekoffer, nicht aber auf sein restliches Inventar. Damit soll vermieden werden, dass Betreiber von Grids Inventar-Inhalte von Besuchern ihrer Grids kopieren. Es ist allerdings Sache des jeweiligen Gridbetreibers, die HG-Version festzulegen. Die standardmäßig vorgesehene HG-Version 2.0 wird von vielen Grids nicht eingesetzt.

Inhalte[Bearbeiten | Quelltext bearbeiten]

Zum Erstellen von Objekten setzt OpenSimulator, ähnlich wie Second Life, auf Primitives, Sculpted Objects und Mesh:

  • Primitives (kurz Prims) sind geometrische Grundbausteine die sich anhand mehrerer Parameter verformen lassen. Sie werden mit einem internen Werkzeug im Viewer erstellt und bearbeitet. Da dies sehr intuitiv ist, können schnell auch ansehnliche Ergebnisse erzielt werden.
  • Sculpted Objects (kurz Sculpties) sind Objekte, deren Geometrie durch eine UV-Map beschrieben wird. Die Intensität der Farben rot, blau und grün definieren dabei den Abstand der Oberfläche vom Objekt-Mittelpunkt. Ideal sind Sculpties bei Objekten mit natürlichen Rundungen, wie z.B. bei einem Delphin. Erstellt werden Sculpties meistens mit externen Programmen. Verwendet werden Sculpties kaum noch, da Mesh in den meisten Fällen performanter bzgl. Datenübertragung und Rendering ist.
  • Mesh lassen sich mit Hilfe von 3D-Grafiksoftware erstellen und im Collada-Format (.dae) mit dem Viewer hochladen und "in-world" weiter bearbeiten. Beim Erstellen sind eine Reihe technischer Faktoren zu berücksichtigen, so dass die Einarbeitungszeit recht hoch ist. Dafür erlaubt Mesh das höchste Maß an gestalterischer Freiheit - so können die Objekte weit mehr Details erhalten, man hat volle Kontrolle über die Detailstufen (Level of Detail / LOD) und Texturen lassen sich exakt auf die Oberfläche mappen.

Scripting[Bearbeiten | Quelltext bearbeiten]

OpenSimulator benutzt Skripte für die In-World-Programmierung. Dazu wurde die Skriptsprache Linden Scripting Language (LSL) von Second Life weitestgehend übernommen. Jedoch wurden OSSL-Funktionen hinzugefügt, die es so in Second Life nicht gibt, aber von der Community gewünscht wurden. OSSL steht für OpenSimulator Scripting Language. Über Schnittstellen zu diversen Programmiersprachen lässt sich OpenSimulator mit eigenen Funktionen erweitern.

Vision[Bearbeiten | Quelltext bearbeiten]

Ziel des Projektes ist es, eine Software zum Betreiben virtueller Welten zu schaffen, die frei verwendet werden darf. Die BSD-Lizenz erlaubt es, den Quellcode von OpenSimulator zu kopieren, zu verändern und zu verbreiten. Zudem ermöglicht sie auch eine kommerzielle Nutzung, da vorgenommene Änderungen nicht veröffentlicht werden müssen. Gleichzeitig stellt dies eine neue Basis zum sogenannten Web3D dar.

Viewer[Bearbeiten | Quelltext bearbeiten]

Zum Betreten und Betrachten einer virtuellen Welt wird ein Client benötigt, der Viewer genannt wird. Unterstützt werden bei OpenSimulator diverse Viewer, die allesamt auf dem offiziellen Second Life-Viewers basieren, dessen Quellcode seitens Linden Lab unter die GPL gestellt wurde.

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. OpenSimulator Downloadseite