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
Entwickler opensimulator.org
Erscheinungsjahr März 2007
Aktuelle Version 0.8.2.1
(9. Dezember 2015[1])
Betriebssystem plattformübergreifend
Programmier­sprache C#
Lizenz BSD
deutschsprachig nein
opensimulator.org

OpenSimulator (kurz OpenSim) ist eine quelloffene Server-Plattform für virtuelle Welten. Mithilfe eines Clients (sogenannte Viewer) können auf einem Server gelegene Regionen betrachtet und bearbeitet werden. Dabei ist es möglich, dass mehrere Nutzer sich zur selben Zeit am selben virtuellen Ort befinden und miteinander interagieren.[2]

Ziel des Projektes ist es, eine Software zum Betreiben virtueller Welten zu schaffen, die frei verwendet werden darf. Die BSD-Lizenz erlaubt es den Code beliebig abzuwandeln und auch für kommerzielle Zwecke zu verwenden. Gleichzeitig stellt das Projekt eine neue Basis zum sogenannten Web3D dar.

Funktionen[Bearbeiten | Quelltext bearbeiten]

OpenSimulator wurde in C# geschrieben, ist sowohl mit der .NET als auch der Mono Laufzeitumgebung kompatibel und ist daher plattformunabhängig ausführbar. Die Sofware ermöglicht es mittels Modulen die Funktionalität wesentlich zu erweitern, was eine Anpassung an die individuellen Ansprüche eines Serverbetreibers erlaubt.

Der Server verwaltet alle zum Betrieb erforderlichen Daten und stellt sie den Nutzern 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, usw.). Es werden verschiedene existierende Datenbanken unterstützt, dazu zählen SQLite, MySQL, MariaDB und Microsoft SQL Server.

Mittels Skripte erlaubt OpenSimulator die In-World-Programmierung virtueller intelligenter Objekte, welche mit Nutzern und der Umgebung interagieren können. Die Skriptsprache Linden Scripting Language (LSL) wurde weitestgehend von Second Life übernommen. Sie wurde aber um weitere, von der Communtiy gewünschte, Funktionen zur Skriptsprache OSSL (OpenSimulator Scripting Language) erweitert.

Hypergrid[Bearbeiten | Quelltext bearbeiten]

Analog zu den Hyperlinks des World Wide Web erlauben es Hypergrid-Teleports einem Nutzer zwischen verschiedenen Grids zu navigeren. Es besteht auch die Möglichkeit mittels direkter Adresseingabe zu reisen, was es erlaubt Verzeichnisse von besuchbaren Orten zu führen. Dabei wird das Inventar des Nutzers vom Ursprungsgrid zum besuchten Grid kopiert, was einen nahtlosen Übergang ermöglicht.[3] Gleichzeitig kann ein Nutzer auch neue Objekte sammeln und wieder mitnehmen. Um zu vermeiden, dass ein bösartiges Grid die digitalen Objekte eines Nutzers stiehlt, wird seit Version 2.0 des Hypergrids nur noch ein spezieller Ordner – eine Art virtueller Reisekoffer – namens "My Suitcase" übertragen und der Nutzer kann während seines Aufenthaltes auf keinen anderen Ordner zugreifen. Es steht Gridbetreibern aber offen eine ältere Version des Hypergrids, ohne diesen Schutz, zu verwenden.[4]

Betriebsarten[Bearbeiten | Quelltext bearbeiten]

OpenSimulator verfügt über zwei wesentliche Betriebsarten:

  • Im Standalone-Modus werden alle Aufgaben (Region, Anmeldung, Datenhaltung) durch einen einzigen Prozess abgebildet. Dies 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 mehr serverseitige Leistung benötigen. Die Aufgaben werden auf spezialisierte Serverprozesse aufgeteilt. Über die sogenannte "Robust-Konsole" werden die einzelnen Server verbunden und die Verwaltung zentralisiert.

Beide Modi lassen sich mit oder ohne Hypergrid-Unterstützung betreiben.

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.

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).

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.

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
  2. OpenSimulator Projektseite. Abgerufen am 28. August 2016.
  3. Hypergrid. Abgerufen am 29. August 2016 (englisch).
  4. Diva Canto: How HG 2.0 is coming along. 23. September 2012, abgerufen am 29. August 2016 (englisch).