Difference between revisions of "De:Installing Sphere"

From SphereWiki
Jump to: navigation, search
(Einen Liveshard aufsetzen)
(Windows)
Line 146: Line 146:
  
 
==Windows==
 
==Windows==
:Übersetzung läuft noch --[[User:Sco|Sco]] 07:58, 23 November 2010 (UTC)
+
Als erstes sollte Sphere hier heruntergeladen werden: [[Where to get Sphere/de|Sphere Download]]. Man sollte danach mindestestens zwei verschiedene zip Dateien erhalten haben, eins für den SphereServer und eins mit dem Script Paket.
Start by downloading Sphere. See the [[Where to get Sphere]] page for download links. You should end up with two different zip files, one containing the Sphere executable and the other containing the [[Script Pack]].
 
  
# Extract the SphereServer-0.56b-xxxxxxxxxxxx-Win32.zip file to wherever you want to run it from. I would recommend "c:\sphere"
+
# Entpacke SphereServer-0.56b....zip in einen Ordner bspw. nach "c:\sphere"
# Extract SphereServer-0.56b-xxxxxxxxxxxx-Scripts.zip to the directory where you previously extracted the file in the previous step. Now you should have the directory scripts in "c:\sphere".
+
# Entpacke SphereServer-0.56b-xxxxxxxxxxxx-Scripts.zip Ordner aus Schritt 1. Es sollte nun "c:\sphere" ein Ordner namens "scripts" vorhanden sein.
# Create three new folders, one named "accounts", another called "logs", and the third one called "save".
+
# Erstelle in diesem Ordner drei weitere Unterordner: "accounts", "logs" und "save".
# Now, go to your "save" folder, recently created. And create an empty text file (I recommend using the Start Menu to access Notepad instead of "Right Click => New"). Write an empty line and add "[EOF]" in the second one. Save the file as "spheredata.SCP" (not .txt).
+
# Im "save" Ordner, erstelle eine leere Textdatei (bspw. mit dem Windows Notepad) und schreibe in diese Datei eine einzelne Zeile, in der [EOF] steht. Benenne diese Datei dann "spheredata.SCP" (NICHT .txt).
# Copy this file three times an rename them as: spherestatics, spherechars.scp and sphereworld.scp
+
# Erstelle drei Kopien dieser Datei und benenne sie: spherestatics, spherechars.scp und sphereworld.scp
# Go to the "accounts" folder that you created alongside the "save" folder, and do the same as Step 3 and 4, but name the files: "sphereacct.scp" and "sphereaccu.scp"
+
# Wiederhole das dann im "accounts" Ordner und erstelle die Dateien: "sphereacct.scp" und "sphereaccu.scp"
# Download the [http://prerelease.sphere.torfo.org/files/libMySQL.dll MySQL Library] and place it into your Sphere Folder (remember: "c:\sphere").
+
# Lade dir dann [http://prerelease.sphere.torfo.org/files/libMySQL.dll MySQL Library] und kopiere sie in den Sphere Ordner (bspw.: "c:\sphere").
# Now, [[Configuring_Sphere.ini|configure your sphere.ini]]. This is a must before running Sphere for the first time!
+
# Nun sollte die [[Configuring_Sphere.ini/de|Sphere.ini]] bearbeitet werden, der SphereServer wird sonst nicht starten.
# Double Click on SphereSvr.exe to launch the Console. This black window is your server console from which you can enter commands.
+
# Doppelklicke dann SphereSvr.exe und dann wird die Konsole starten. In diesem Fenster können administrative Befehle abgesetzt werden (eine Liste dieser Befehle gibts mit Eingabe von "?").
# Create an Account for yourself. In the console, type in "<font color="darkred">account add USERNAME PASSWORD</font>". With whatever username and password you want. Then, type in "<font color="darkred">account USERNAME plevel 7</font>" to grant your account Owner privileges.
+
# Erstelle einen ersten Account auf dem Server. Führe deshalb folgende Befehle der Reihe nach aus und setze dabei einen passenden Nutzernamen und ein passenden Passwort ein:
 +
#*"<font color="darkred">account add USERNAME PASSWORD</font>"
 +
#*"<font color="darkred">account USERNAME plevel 7</font>" (dieser Befehl gibt dem Account GM-Rechte).
  
  
Now you can go around your map and explore some parts of it. You can use the navigation bar on the left to read various tutorials to learn how to script and learn something about Sphere. After that, read the other articles and check the [[Main_Page#Reference Compendium|reference compendium]] if you need something special.
+
Der Server ist nun bereit und man kann sich mit einem UO Client einloggen. Es empfiehlt sich die Tutorials innerhalb dieses Wikis zu lesen, um ein wenig mehr über Sphere zu erfahren.
  
 
==FreeBSD==
 
==FreeBSD==

Revision as of 17:32, 23 November 2010

Linux

Vorwort

Sphere auf einem Linuxsystem zu installieren, ist nicht viel schwieriger als auf einem Windowsrechner. Allerdings ist Basiswissen über Linux vorausgesetzt und ein wenig Erfahrung mit der Kommandozeile von Nöten, da hier nicht einfach auf ein Symbol geklickt wird und Sphere läuft.


Diese Anleitung ist deshalb darauf ausgelegt, dass eine Shell oder ein Terminal zum Linuxsystem verfügbar ist und root-Rechte vorhanden sind.


Letztendlich wird diese Anleitung nicht beinhalten, welche Dateien auf dem Linux Server verfügbar sein müssen. Diese Anleitung umfasst keine Einführung in Linuxsysteme und hat auch keinen Anspruch darauf, dies zu sein. Für weiterführende Informationen über Linux gibt es viele E-Books und Howtos, die frei im Web verfügbar sind. Beispielsweise ist hier ein guter Startpunkt: http://www.linux.org


Wichtig ist aber vor allem folgendes: Anders als ein Windowssystem, ist Linux bezüglich Datei- und Ordnernamen die Groß- und Kleinschreibung zu beachten. Wenn eine Datei von Sphere nicht gefunden wird, liegt das möglicherweise daran, dass gewisse Dateien falsch geschrieben sind, wie bspw: "sphere.INI" anstelle von "sphere.ini".


Alle Zeilen, die in dieser Anleitung kursiv sind, sollten direkt in das Terminal eingegeben werden.


Vorbereitungens

Auf dem Linuxsystem wird eine Installation des MySQL Clients benötigt. Fehlen die Bibliotheken des MySQL Clients, wird Sphere nicht ausführbar sein.


Des Weiteren wird ein Sphere Version FÜR LINUX benötigt, sowie das passende Skriptpaket und eventuelle zusätzliche Bibliotheken, die in der Downloadsektion angegeben sind.


Schritt für Schritt Installation

1) Mit Rootrechten einen neuen Nutzer namens "sphere" anlegen. Dieser Nutzer benötigt ein eigenen Heimverzeichnis (meistens: /home/sphere) mit den entsprechenden Rechten.


useradd -d /home/sphere sphere
mkdir /home/sphere
chown sphere /home/sphere
chmod 700 /home/sphere


2) Kopiere alle Dateien des Sphere LINUX downloads, das Skriptpaket und eventuell nötige Bibliotheken in das neu angelegte Verzeichnis. Zudem müssen Unterordner angelegt werden: "save", "logs" und "accounts", wie angegeben in der sphere.ini und in spheretables.scp. Am Ende sollte eine ähnliche Ordnerstruktur vorliegen:


/home/sphere --- spheresvr
              |  sphere.ini
              |  sphereCrypt.ini
          |-------------------- accounts/
          |-------------------- logs/
          |-------------------- muls/
          |-------------------- save/
          |-------------------- scripts/


3) Nachdem alle Dateien an die richtige Stelle kopiert wurden, benötigen sie die richtigen Dateirechte. Deshalb weiterhin unter Rootrechten folgende Befehle ausführen:


cd ~sphere
chown -R sphere *
find . -type d | xargs chmod 0700
find . -type f | xargs chmod 0600
chmod 4700 spheresvr


4) Immer noch unter Rootrechten:


ldd spheresvr


Die Ausgabe sollte nun ungefähr so lauten:


longbow:/home/sphere# ldd spheresvr
libpthread.so.0 => /lib/libpthread.so.0 (0x4001f000)
libmysqlclient.so.15 => /usr/lib/libmysqlclient.so.15 (0x40071000)
libboost_regex-gcc-1_33_1.so => /usr/lib/libboost_regex-gcc-1_33_1.so (0x40243000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x402ea000)
libm.so.6 => /lib/libm.so.6 (0x403c9000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x403ef000)
libc.so.6 => /lib/libc.so.6 (0x403fa000)
/lib/ld-linux.so.2 (0x40000000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x4051c000)
libnsl.so.1 => /lib/libnsl.so.1 (0x4054a000)
libz.so.1 => /usr/lib/libz.so.1 (0x40561000)


NACH FEHLENDEN BIBLIOTHEKEN AUSSCHAU HALTEN! Notfalls müssen diese nachinstalliert werden.

Die Installation testen

Es ist jetzt nicht mehr von Belang, ob der erste Test mit Rootrechten oder unter dem Benutzer sphere ausgeführt wird. Werden die Rechte der Datei auf 4700 gesetzt, wird Sphere automatisch immer unter dem benutzer sphere ausgeführt. Deshalb:

cd ~sphere
./spheresvr


Es sollte nun eine Liste des Startups folgen ... mit vielleicht enthaltenen Warnings:


longbow:/home/sphere# ./spheresvr
WARNING:(sphere.ini,587)'scripts/spherestatusbase.html' not found...
ERROR:(sphere.ini,587)Can't open web page input 'spherestatusbase1.htm'
Sphere Version 0.56b [Linux] by www.sphereserver.com, compiled at Sep 15 2006 (23:23:07)
Signal handlers installed.
Expansion maps supported: T2A, LBR, AOS, SE, ML
ERROR:(spheretables.scp,59)Unable to open directory scripts/custom/
ERROR:(spheretables.scp,59)DirList=-1 for 'scripts/custom/'
Allocating map sectors: 0=7168 1=7168 2=900 3=1280 4=32761
Indexing 211 scripts...
Loading scripts/sphere_defs.scp
[...]


Warnings und Fehler über fehlende Webseiten können ignoriert werden. Falls allerdings andere Fehler auftreten oder Sphere terminiert (=sich beendet), dann sollte in den vorhergehenden Zeilen nach dem Grund gesucht werden.


Letztendlich sollten folgende Meldungen auftauchen, falls alles gut lief:


[...]
Loading save/spheredata...
Loading save/spherestatics...
Loading save/sphereworld...
Loading save/spherechars...
166 Objects accounted for
Option flags: CommandSysmsgs + NoHouseMuteSpeech
Experimental flags: DiagonalWalkCheck + ScriptsReturnStrings + NewTriggersEnable + NewPositionChecks + WalkCheck + ScriptProfiler + SizeOptimize
Admin=me@my.email.com, URL=www.myshard.com, Lang=English, TZ=0
Startup complete. items=0, chars=0
Creating thread.

Danach befindet man sich in der Sphere Konsole und kann allgemeine Befehle absetzen ('?' gibt eine Liste aus). Lege einen Account an, aktiviert ihn, editier die login.cfg des Ultima Online Clients damit er die IP-Adresse des Servers enthält und log ein.


Damit Sphere wieder heruntergefahren wird, ist zunächst der Befehl "S", gefolgt vom Befehl "X" notwendig. Linux wird dann versuchen, Sphere zu beenden - sollte das aus irgendeinem Grund nicht funktionieren, hilft die Tastenkombination STRG-c weiter.

Einen Liveshard aufsetzen

Sphere in einem Terminal laufen zu lassen hat einen Nachteil: schließt man dieses Terminal, beendet Linux auch Sphere. Das ist unter Linuxsystemen beabsichtigt, weil es ein Multiusersystem ist. Das bedeutet vor allem, dass bei jedem Logout eines Nutzers auch unbedingt all seine laufenden Prozesse beendet werden sollten.


Natürlich ist es aber dennoch möglich, Prozesse im Hintergrund laufen zu lassen, selbst wenn Terminal oder Shell geschlossen werden. Hierfür bietet sich ein Skript an, das ein Tool namens 'screen' nutzt (notfalls nachinstallieren):


#!/bin/sh
cd ~sphere
while true; do
screen -D -m /home/sphere/spheresvr
sleep 30
done


Dieses Skript kann in jedem beliebigen Editor abgespeichert werden und sollte möglichst die Dateiendung .sh erhalten. Wird das Skript ausgeführt, startet sich Sphere in einem virtuellen Terminal, das jederzeit mit "screen -r "abgerufen werden kann. Mit der Tastenkombination STRG-a gefolgt von STRG-d kann man dieses Terminal jederzeit wieder verlassen und es läuft im Hintergrund weiter. In der Dokumentation von "screen" finden sich weitere Informationen.

Windows

Als erstes sollte Sphere hier heruntergeladen werden: Sphere Download. Man sollte danach mindestestens zwei verschiedene zip Dateien erhalten haben, eins für den SphereServer und eins mit dem Script Paket.

  1. Entpacke SphereServer-0.56b....zip in einen Ordner bspw. nach "c:\sphere"
  2. Entpacke SphereServer-0.56b-xxxxxxxxxxxx-Scripts.zip Ordner aus Schritt 1. Es sollte nun "c:\sphere" ein Ordner namens "scripts" vorhanden sein.
  3. Erstelle in diesem Ordner drei weitere Unterordner: "accounts", "logs" und "save".
  4. Im "save" Ordner, erstelle eine leere Textdatei (bspw. mit dem Windows Notepad) und schreibe in diese Datei eine einzelne Zeile, in der [EOF] steht. Benenne diese Datei dann "spheredata.SCP" (NICHT .txt).
  5. Erstelle drei Kopien dieser Datei und benenne sie: spherestatics, spherechars.scp und sphereworld.scp
  6. Wiederhole das dann im "accounts" Ordner und erstelle die Dateien: "sphereacct.scp" und "sphereaccu.scp"
  7. Lade dir dann MySQL Library und kopiere sie in den Sphere Ordner (bspw.: "c:\sphere").
  8. Nun sollte die Sphere.ini bearbeitet werden, der SphereServer wird sonst nicht starten.
  9. Doppelklicke dann SphereSvr.exe und dann wird die Konsole starten. In diesem Fenster können administrative Befehle abgesetzt werden (eine Liste dieser Befehle gibts mit Eingabe von "?").
  10. Erstelle einen ersten Account auf dem Server. Führe deshalb folgende Befehle der Reihe nach aus und setze dabei einen passenden Nutzernamen und ein passenden Passwort ein:
    • "account add USERNAME PASSWORD"
    • "account USERNAME plevel 7" (dieser Befehl gibt dem Account GM-Rechte).


Der Server ist nun bereit und man kann sich mit einem UO Client einloggen. Es empfiehlt sich die Tutorials innerhalb dieses Wikis zu lesen, um ein wenig mehr über Sphere zu erfahren.

FreeBSD

We currently have no guide for this OS. Anyway, the developers have posted a list of required stuff. Here is the list:


Compiled on:


FreeBSD freebsdvbox.fastwebnet.it 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386


With:

Using built-in specs.
Target: i386-portbld-freebsd7.0
Configured with: ./..//gcc-4.1-20071105/configure --disable-nls --with-system-zlib --with-libiconv-prefix=/usr/local --program-suffix=41 --libdir=/usr/local/lib/gcc-4.1.3 --with-gxx-include-dir=/usr/local/lib/gcc-4.1.3/include/c++/ --disable-rpath --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/gcc41 i386-portbld-freebsd7.0
Thread model: posix
gcc version 4.1.3 20071105 (prerelease)


Linked Against:


libthr.so.3 => /lib/libthr.so.3 (0x281f3000)
libmysqlclient.so.15 => /usr/local/lib/mysql/libmysqlclient.so.15 (0x28206000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x28265000)
libm.so.5 => /lib/libm.so.5 (0x2835a000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2836f000)
libc.so.7 => /lib/libc.so.7 (0x2837a000)
libcrypt.so.4 => /lib/libcrypt.so.4 (0x28476000)
libz.so.4 => /lib/libz.so.4 (0x2848f000)


If you use this release, please check this topic.