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.7.6
(4. Oktober 2013[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 werden soll. Die Anwendung wurde in C# programmiert und lässt sich über die Laufzeitumgebungen Net-Framework und Mono bearbeiten und kompilieren. OpenSimulator ist kompatibel zu dem Clienten von SecondLife,[2] der seitens Linden Lab unter die GPL gestellt wurde. Ziel des OpenSimulator Projektes ist es eine Plattform für 3D-virtuelle Welten zu schaffen, auf der jedem erlaubt ist, sie zu kopieren, zu verändern und zu verbreiten. Die BSD-Lizenz ermöglicht zudem auch die kommerzielle Nutzung, da der Programmierer, der die Software verändert hat (anders als bei der GPL), nicht verpflichtet ist, seine Änderungen mit zu veröffentlichen.

Basis[Bearbeiten]

OpenSim stellt das Backend – die Serverseite. Zum Betreten der erstellten virtuellen Welt wird ein Client benötigt. Hierbei werden alle Viewer auf Basis des SecondLife Clienten unterstützt. Mit Hilfe dieser Viewer greift man auf Regionen zu, die ebenso 256 × 256 m umfassen, wie dies in SecondLife der Fall ist. Zum Erstellen von Objekten setzt man bei OpenSim ähnlich wie bei SecondLife auf sogenannte Prims. Prims sind geometrische Grundbausteine die sich über einen Satz von Formungsparametern weiter ausformen lassen. Seit der Version 0.7.2 werden auch Meshes (.dae-Dateien) unterstützt. Diese lassen sich über 3D-Anwendungen wie Blender erstellen.

Versionierung[Bearbeiten]

Das OpenSim-Projekt befindet sich immer noch in der Alpha-Phase. Die OpenSim Community gibt regelmäßig neue Versionen heraus. Neben den stabilen Versionen, die meist halbjährlich freigegeben werden, gibt es noch spezielle Versionen für Entwickler. Diese sind mit der zusätzlichen Kennung „DEV“ (Developer) gekennzeichnet und sind 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 Distributionsbereich angeboten.

Architektur[Bearbeiten]

OpenSimulator kann in zwei Modifikationen 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 Gridmodus ist zum Betrieb größerer Netzwerke gedacht. Die Aufgaben werden auf spezialisierte Serverprozesse aufgeteilt. Über die sogenannte "Robust-Konsole" werden die einzelnen Simulatoren verbunden und die Verwaltung auf einem Server zentralisiert.

Module[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]

Da OpenSim sowohl den Anspruch an Portabilität erfüllen soll, als auch auf verschiedenen Plattformen größere Welten zu betreiben, musste die Unterstützung von mehreren Datenbanken realisiert werden. Offiziell unterstützt OpenSim die Plattformen SQLite (serienmäßig, keine Installation eines Datenbankserver nötig), Microsoft SQL Server und MySQL. Auch andere SQL-basierende Datenbanken können verwendet werden, so wurde in einigen Grids z.B. MariaDB erfolgreich eingesetzt.

Varianten[Bearbeiten]

Um die Software auf bestimmte Bereiche zu optimieren, entstanden seitens des eigentlichen Projektes einige Forks. Zu den bekanntesten zählen unter anderem die von OpenSimulator-Projekt gepflegte Diva-Distro[3], AuroraSim[4], das sogenannte NewWorldStudio[5] und die „Sim on a Stick“-Version[6].

  • Die Diva-Distro ist eine speziell für den Standalone-Mode 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.
  • Bei AuroraSim handelt es sich um eine komplette Abspaltung des eigentlichen Projektes. Grund war unter anderem, dass gewisse Entwicklungen nicht in das OpenSim-Projekt einfließen konnten. Zu den bekanntesten Funktionen gehört unter anderem die Möglichkeit, die Größe der Regionen (standardmäßig sind Regionen 256 × 256 m groß) zu verändern.
  • NewWorldStudio und Sim on a Stick haben vor allem das Ziel, den Zugang zu 3D-Welten- und Technologien zu verbessern und zu erleichtern. Hierfür wurden diese Versionen speziell auf die Bedürfnisse einer einfachen Bedienung angepasst. So besitzt das NewWorldStudio z.B. eine grafische Oberfläche zur Konfiguration.

Protokolle[Bearbeiten]

OpenSim benutzt als Standard das SecondLife-Protokoll, das durch Linden Labs entwickelt wurde. Allerdings ist OpenSim multiprotokoll-fähig und seit März 2009 ist als erste Erweiterung des MXP-Protokolls eingeführt worden. Metaverse Exchange Protocol (MXP) ist ein Client(Viewer)-Server-Protokoll der zweiten Generation. Intern benutzt Opensim XML-RPC und REST (JSON/HTTP and XML/HTTP).

Hypergrid[Bearbeiten]

Beim Hypergrid handelt es sich um eine Funktion, die mehrere Grids über sog. Teleports verbindet. Hierfür benutzt das System eine direkte Adresseingabe ähnlich wie bei einem herkömmlichen Webbrowser. Ebenso wird das Inventar des Nutzers mitgenommen und bleibt wechselseitig nutzbar. Aufgrund der Sicherheit soll jedoch im Zukunft alles über einen Suitcase-Ordner geregelt werden, damit die besuchten Server keinen Einfluss auf die Benutzer des Hypergrids ausüben können. Seit der Version 1.5 ist auch ein IM-Chat (Instant-Messaging) über das Hypergrid möglich. Mit HG 2.0 sollen wesentliche Dinge vor allem in Bereich der Sicherheit optimiert werden.

Scripting[Bearbeiten]

OpenSimulator benutzt ähnlich wie in SecondLife sogenannte Skripte für die Inworld-Programmierung. Dabei wird auf die gleichen LSL-Skriptfunktionen wie in SecondLife gesetzt. Jedoch wurden auch neue Funktionen hinzugefügt die derzeit nicht in SecondLife möglich sind.

Vision[Bearbeiten]

Ziel des OpenSimulator-Projektes ist es eine Plattform für 3D-virtuelle Welten zu schaffen, wo es jedem erlaubt ist, sie zu kopieren, zu verändern und zu verbreiten. Gleichzeitig stellt dies eine neue Basis zum sogenannten Web3D dar.

Einzelnachweise[Bearbeiten]

  1. http://opensimulator.org/wiki/Download OpenSimulator Download Page
  2. http://opensimulator.org/wiki/Main_Page OpenSimulator Homepage
  3. https://github.com/diva Diva Distribution
  4. http://aurora-sim.org/ Aurora-Sim
  5. http://newworldstudio.net/ new world studio
  6. http://simonastick.com/ SoaS Portable OpenSim