Server aufsetzen
Auf dieser Seite wird beschrieben wie man den Server manaserv mit den Invertika Daten aufsetzt.
Inhaltsverzeichnis |
Linux
Arch Linux
Einfach das Paket invertika-server-svn aus dem AUR installieren. Alles weitere erfolgt analog zur unten stehenden Anleitung für Ubuntu.
Ubuntu
8.04 - Hardy / 10.04 Lucid
Im ersten Schritt sollte der Server wie unter Server kompilieren beschrieben kompiliert werden.
Mittels „adduser manaserv“ sollte der Nutzer „manaserv“ angelegt werden. Anschließend wechselt man mittels „su manaserv“ auf den entsprechenden User. In dem Homeverzeichnis werden die Skripte start-manaserv.sh, start-manaserv-account.sh und start-manaserv-game.sh abgelegt. Dann müssen noch folgende Dinge in das Homeverzeichnis:
- manaserv.xml
- invertika.db
- maps Ordner
- scripts Ordner
Die maps und scripts Ordner sollten dabei in /home/manaserv/data/ liegen, die anderen Dateien direkt im Home Verzeichnis des Nutzers. Nach dem kopieren sollte darauf geachtet werden das die Zugriffsrechte für die Dateien entsprechend gesetzt werden (0777). Sobald die Datei „start-manaserv.sh“ gestartet ist ist der Server online. Sobald der Server gestartet ist läuft er im Hintergrund weiter. Der Server kann mittels stop-manaserv.sh beendet werden.
Möchte man die Besitzrechte auf manaserv setzen so kann man dies mittels
chown -R -c manaserv:manaserv /home/manaserv/
tun. Sollte man die beim Start der Skripte die Fehlermeldung:
/bin/bash^M: Defekter Interpreter: No such file or directory
bekommen, so sollte man für die entsprechende Skriptdatei:
sed -i 's/\x0D$//' <Datei>
ausführen. Danach sollte der Fehler behoben sein. Für alle Skriptdateien würde das ganze so aussehen:
sed -i 's/\x0D$//' restart-server.sh sed -i 's/\x0D$//' start-manaserv-account.sh sed -i 's/\x0D$//' start-manaserv-game.sh sed -i 's/\x0D$//' start-server.sh sed -i 's/\x0D$//' stop-server.sh
Muss noch eine Datenbank erzeugt werden so kann sie mit der SQL Datei aus dem Manaserv und dem Befehl sqlite -init createTables.sql invertika.db erzeugt werden.
Schlusseinrichtung
Bei Test- und Entwicklungsservern sollte noch das autoupdate sowie das Webinterface eingerichtet werden:
Für einen Produktivserver sollten noch das automatische Backup sowie die Statusanzeige installiert werden. Dazu müssen folgende Dateien (sie befinden sich im Repository unter /tools/) in das root Verzeichnis kopiert werden:
- backup.sh
- status_bg.png
- status.py
Nachdem die Dateien kopiert wurde gibt man ihnen ihnen die Rechte 700 (backup.sh, status.py). Anschließend wird mittels „crontab -e“ die Cronjob Tabelle für den User root geöffnet. Dort werden folgende Zeilen hinzugefügt:
00 3 * * * /root/backup.sh */1 * * * * python /root/status.py
Für einen Test- oder Entwicklerserver kann auch noch ein automatisches Autoupdate eingerichtet werden. Dieses sollte dann für den Nutzer manaserv eingerichtet werden:
00 3 * * * mono /home/manaserv/autoupdate.exe /home/manaserv/autoupdate.xml
Wichtig ist, dass am Ende der Tabelle noch ein Kommentar oder eine Leerzeile stehen. Ähnlich wie die fstab, muss die crontab mit einer Leerzeile enden!
Windows
Weiteres
Account zum Administrator hochstufen
In der Tabelle mana_accounts muss das Level (level) für den entsprechen Nutzer auf 255 setzten.
UPDATE mana_accounts SET level=255 WHERE username='MyAccount';
Mit sqlite3 würde das dann auf der Kommandozeile wie folgt aussehen:
sqlite3 invertika.db "UPDATE mana_accounts SET level=255 WHERE username='MyAccount';"
Genaueres ist unter Server Zugriffslevel und Liste der Befehle zu befinden.