Sie befinden sich hier

Inhalt

OpenSim Installation und Konfiguration

Die folgende Anleitung beschreibt die Installation von OpenSim auf einem Suse 9.3 Linux System, sollte sich theoretisch aber auch ohne große Änderungen auf andere Linuxdistributionen übertragen lassen.

OpenSim ist die OpenSource-Variante der bekannten 3D Welt Secondlife. Momentan befindet sich OpenSim in einer frühen Version (zum Erstellungszeitpunkt Version 0.4) und kann zu Testzwecken und zum Spielen genutzt werden.

Dabei bietet es die Möglichkeit entweder als Standalone zu laufen, einen Gridserver aufzubauen oder sich bei  einem Grid anzumelden. Ein Grid verwaltet mehrere Regionen (Sims), so das hier ein Austausch stattfinden kann.
Die Möglichkeit des Austauschs mit Secondlife oder zwischen Standalone Systemen besteht nicht.

Die folgende Anleitung beschreibt die Installation auf einem Suse 9.3 Linux, sollte sich theoretisch aber
auch ohne große Änderungen auf andere Linuxdistributionen übertragen lassen.

Vorarbeiten

OpenSim benötigt das .NET Framework. Unter Linux stellt das OpenSource Projekt Mono die Umgebung zur Verfügung, um .NET Applikationen laufen zu lassen. Das aktuelle Mono kann man sich unter http://www.mono-project.com/Downloads herunterladen und installieren. Hierauf wird in diesem Artikel allerdings nicht weiter eingegangen und nur eine Kurzbeschreibung für die Installation auf Suse 9.3 ausgeführt.

Mit Yast kann man einfach eine neue Installtionsquelle hinzufügen (http://go-mono.com/download-stable/sles-9-i586), mit der man Zugriff auf die aktuellen Pakete hat. Nach erfolgreichem Hinzufügen öffnet man den Dialog zur Installation neuer Software und wählt hier die neueste Version von Mono aus.

Wenn man später nicht ein Nightly Build von OpenSim verwenden möchte, installiert man zusätzlich noch eine aktuelle Version von NAnt einen .NET Build Tool. Hat man in seinem Repository keine aktuelle NAnt Version zur Verfügung, muss man sich unter http://nant.sourceforge.net/ eine aktuelle Version besorgen und installieren.

Zusätzlich installiert man noch eine Version von SQLite3, die zur Speicherung diverser Daten benötigt wird. Später besteht auch die Möglichkeit das ganze nach MySQL zu portieren. Die Vorbereitungen sind nun abgeschlossen.

Installation

Zu erst muss man sich OpenSim herunterladen. Hier hat man die Auswahl zwischen einem Nightly Build, der aktuellsten Version über das SVN Checkout, oder eine ältere Version als Source. Nachdem man in den Zielordner auf dem Server, in dem das Programm später liegen soll gewechselt hat holt man
sich eine dieser Version vom Server.

 

SVN

Um die SVN zu holen wechselt und für folgenden Befehl aus:

svn co opensimulator.org/svn/opensim/trunk opensim

Nachdem die Dateien vollständig auf den Server kopiert wurden wechselt man in das opensim-Verzeichnis, führt das runprebuild Script und anschließend NAnt aus:

cd opensim
./runprebuild.sh
nant

Nightly Build

Um das Nightly Build herunter zu laden öffnet man die Seite ruth.petitbe.be/build/ und kopiert sich die Download-URL, um Sie per wget auf den eigenen Server zu kopieren

wget ruth.petitbe.be/build/opensim-bin.tgz

 

Ähnlich verhält es sich auch mit dem Stable Release.

Die EXE Dateien des Nightly Builds können direkt ausgeführt werden.

Ausführen und Konfigurieren

Beim ersten Starten muss man OpenSim zu erst konfigurieren. Gestartet wird mit folgendem Befehl im /bin Verzeichnis:

mono OpenSim.exe

Danach durchläuft man diese Grundkonfiguration:

# DEFAULT REGION CONFIG: Region Name [OpenSim Test]:
    * Hier der Name des neuen Sims

# DEFAULT REGION CONFIG: Grid Location (X Axis) [1000]:
    * sollte man belassen und nur mit Enter bestätigen

# DEFAULT REGION CONFIG: Grid Location (Y Axis) [1000]:
    * sollte man belassen und nur mit Enter bestätigen

# DEFAULT REGION CONFIG: Internal IP Address for incoming UDP client connections [0.0.0.0]:
    * sollte man belassen und nur mit Enter bestätigen

# DEFAULT REGION CONFIG: Internal IP Port for incoming UDP client connections [9000]:
    * sollte man belassen und nur mit Enter bestätigen

# DEFAULT REGION CONFIG: External Host Name [127.0.0.1]:
    * Hier die IP-Adresse oder Domain. Bei einem lokalen Rechner, auf dem auch der Client läuft mit Enter bestätigen

# DEFAULT REGION CONFIG: First Name of Master Avatar [Test]:
    * Vorname des Masterbenutzers wird angelegt

# DEFAULT REGION CONFIG: Last Name of Master Avatar [User]:
    * Nachname des Masterbenutzers wird angelegt

# DEFAULT REGION CONFIG: (Sandbox Mode Only)Password for Master Avatar account [test]:
    * Passwort für den Benutzer wird gesetzt

Nach einem erfolgreichen Start erhält man diese Meldung:

Startup complete, serving 1 region(s)
[12-20 08:56:05] Region# :

Probleme mit der "libopenjpeg-libsl-2.1.2.0.so"

Oft besteht unter Linux ein Problem mit der "libopenjpeg-libsl-2.1.2.0.so" und man erhält eine Fehlermeldung:

Failed generating terrain map: System.DllNotFoundException: ./libopenjpeg-libsl-2.1.2.0.so
at (wrapper managed-to-native) OpenJPEGNet.OpenJPEG:LibslAllocDecoded OpenJPEGNet.OpenJPEG/LibslImage&)
at OpenJPEGNet.OpenJPEG.Encode (System.Byte[] decoded, Int32 width, Int32 height, Int32 components, Boolean lossless) [0x00000]
at OpenJPEGNet.OpenJPEG.EncodeFromImage (System.Drawing.Bitmap bitmap, Boolean lossless) [0x00000]
at OpenSim.Region.Terrain.TerrainEngine.ExportJpegImage (System.String gradientmap) [0x00000]

Diese besagt, dass die "libopenjpeg-libsl-2.1.2.0.so" nicht kompatibel mit dem aktuellen System ist und es z.B. Probleme beim Einlesen des Terrains gibt. Hat man dieses kleine Problem hilft folgender Workaround, der die "libopenjpeg-libsl-2.1.2.0.so" neu baut.

Man holt sich von opensecondlife.org die libsl Dateien per svn, wechslet in das Verzeichnis und erstellt mit einem "make" die Datei neu:

svn co svn://opensecondlife.org/libsl/trunk libsl
cd libsl/openjpeg-libsl
make
cp libopenjpeg-libsl-2.1.2.0.so TOP_DIR/opensim/bin/

Nachdem die neue Datei in das bin-Verzeichnis erfolgreich kopiert wurde (Datum überprüfen falls es nicht funktioniert), startet OpenSim ohne Fehler.

Optionale Konfiguration

Folgende Zusatzkonfigurationen kann man bei Bedarf vornehmen, wenn man z.B. die Physic in OpenSim, oder das Speichern von Prims einstellen möchte.
Eine genau Beschreibung findet man unter http://opensimulator.org/wiki/OpenSim.ini

Hier eine meiner Grundkonfigurationen

[Startup]
gridmode = False
physics = POS
verbose = True
physical_prim = True
child_get_tasks = False
serverside_object_permissions = False
storage_plugin = OpenSim.DataStore.MonoSqlite.dll
storage_connection_string=URI=file:OpenSim.db,version=3
startup_console_commands_file =
shutdown_console_commands_file =
script_engine = DotNetEngine
asset_database = sqlite
[StandAlone]
accounts_authenticate = False
welcome_message = Willkommen auf meiner Insel
inventory_plugin = OpenSim.Framework.Data.SQLite.dll
userDatabase_plugin = OpenSim.Framework.Data.SQLite.dll
asset_plugin = OpenSim.Framework.Data.SQLite.dll
dump_assets_to_file = False
[Network]
default_location_x = 1000
default_location_y = 1000
http_listener_port = 9000
remoting_listener_port = 8895
grid_server_url = 127.0.0.1
grid_send_key = null
grid_recv_key = null
user_server_url = 127.0.0.1
user_send_key = null
user_recv_key = null
asset_server_url = 127.0.0.1
inventory_server_url = 127.0.0.1
[RemoteAdmin]
enabled = false

 

Kontextspalte

Kegelspiele