Posts aus der Kategorie DigitalOcean

Starbound Server bei DigitalOcean

Das vor kurzem erschienene Spiel Starbound befindet sich zwar noch in Entwicklung aber trotzdem ist es bereits möglich, einen eigenen Multiplayer-Server aufzusetzen. Wir wollen dies anhand dieser kleinen Anleitung bei DigitalOcean praktisch umsetzen.

Droplet starten

Zu Beginn benötigen wir erstmal einen Server bzw. ein Droplet bei DigitalOcean . Für einen kleinen Server für eine überschaubare Anzahl von Spielern sollte ein 512 MB RAM Ubuntu 13.10 x64 Droplet ausreichen. Dieses Droplet starten wir über die Adminoberfläche von DigitalOcean .

Ein wenig Swap

Ist unser Droplet fertig gestartet besorgen wir uns die IP-Adresse aus der Admin-Oberfläche und loggen uns als Root-User ein.

ssh root@111.111.111.111

Anmerkung: Die 111.111.... bitte durch die korrekte IP-Adresse ersetzen

Um sicher zu gehen, dass unserem Droplet nicht der Ram-Speicher zu knapp wird fügen wir etwas Swap-Speicher hinzu. Dies erfolgt mit den folgenden Befehlen über die SSH-Konsole:

dd if=/dev/zero of=/swapfile bs=2048 count=512k
mkswap /swapfile
swapon /swapfile
echo 0 > /proc/sys/vm/swappiness
chown root:root /swapfile 
chmod 0600 /swapfile

Um sicher zu gehen, dass bei jedem Systemstart auch das Swap-File geladen wird öffnen wir mit Hilfe eines Editors das fstab-File und legen eine Zeile für das Swapfile an:

nano /etc/fstab

Am Ende der Datei fügen wir folgendes ein:

 /swapfile       none    swap    sw      0       0 

Damit ist unser Server nun mit etwas Swap-Speicher ausgestattet.

Quelle: https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04

Nutzer anlegen

Damit unser geplanter Server nicht mit Root-Rechten läuft brauchen wir noch einen User. Der Nutzername ist frei wählbar - als Beispiel verwende ich hier den Usernamen starbound.

adduser starbound

Das Kommando fragt uns nach ein paar Daten die wir so korrekt wie möglich ausfüllen und zum Abschluss bestätigen.

Pakete installieren

Damit der Steam-Client, welchen wir für den Download der Server-Software auf unserem System auch lauffähig ist, benötigen wir noch ein 32-Bit-Paket und für den späteren Gebrauch screen. Dieses wird mit Hilfe folgender Eingabe installiert:

apt-get install -y lib32gcc1 screen

Steam installieren

Mit dem letzten Schritt sind nun alle Vorarbeiten erledigt und wir können dazu übergehen uns den Steam-Client zu besorgen.

Damit wir gleich mit dem korrekten Nutzer unterwegs sind, loggen wir uns erneut über SSH am Server ein. Diesmal aber nicht als Root-User sondern mit dem vorher erstellten User.

ssh starbound@111.111.111.111

Anmerkung: Bitte auch hier wieder die korrekte IP-Adresse einsetzen und falls ein anderer Username als starbound angelegt wurde bitte auch diesen korrekt einsetzen.

Als Alternative zum erneuten Einloggen könnte man auch das Kommando

su - starbound

verwenden, aber um spätere Probleme zu vermeiden gehe ich hier auf Nummer sicher und logge mich erneut ein.

Sind wir wieder auf unserem Server eingeloggt, besorgen wir uns den Steam Client. Dies erledigen wir mit folgenden Kommandos:

wget http://media.steampowered.com/client/steamcmd_linux.tar.gz
tar xvfz steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz

Das letzte Kommando dient nur dazu um hinter uns aufzuräumen und muss nicht zwingend ausgeführt werden.

Einloggen bei Steam

Damit wir Zugriff auf unsere Spiele haben, ist es notwendig, uns mit dem Steam-Client einzuloggen. Wichtig: Unbedingt auf dem Client-Rechner den Steam-Client schließen, da es sonst zu Problemen kommen kann.

Mit folgendem Kommando starten wir den Steam-Client:

./steamcmd.sh

Jetzt sollte sich unsere Kommandozeile etwas verändert haben und uns mit dem Wort "Steam>" begrüßen. Nun ist es Zeit sich einzuloggen. Dies erfolgt per

login --steamuser--

_Anmerkung: --steamuser-- durch euren eigenen Steam-Benutzernamen ersetzen (ohne --).

Sogleich werden wir nach unserem Passwort gefragt, welches wir auch eingeben. Danach erfolgt noch eine Abfrage des Steam-Guard-Codes. Dieser Code wird euch an die bei Steam hinterlegte E-Mail-Adresse zugesandt.

Starbound installieren

Nun da wir bei Steam eingeloggt sind, können wir Starbound installiern. Dies erfolgt durch die Eingabe von

app_update 211820

Anmerkung: 211820 stellt die ID der Applikation innerhalb von Steam dar.

Nun erfolgt der Download von Starbound auf euren Server. Dies kann ein Weilchen dauern.

Ist der Download abgeschlossen beenden wir den Steam-Client mit Hilfe der Tastenkombination CTRL+C.

Starbound starten

Es ist endlich soweit - wir können unseren Starbound-Server in Betrieb nehmen. Dazu wechseln wir in das Verzeichnis der Linux-Binaries:

cd ~/Steam/SteamApps/common/Starbound/linux64/

Dort angekommen stellen wir sicher, dass unsere Server-Software auch ausführbar ist:

chmod +x starbound_server

Und starten anschließend den Server:

screen ./starbound_server

Weitere Infos

Die Config-Datei für Starbound kann mit folgendem Kommando geöffnet und editiert werden:

nano ~/Steam/SteamApps/common/Starbound/assets/default_configuration.config

Unterstützung

Sollte das Tutorial hilfreich gewesen sein und die Entscheidung für einen DigitalOcean-Account gefallen sein, dann wäre es toll wenn ihr dafür meine Links zu DigitalOcean verwendet.

Bildquelle: Starbound Webseite

OpenTTD Server bei DigitalOcean

Starten des Droplets

Für unseren OpenTTD-Server benötigen wir keinen sonderlich leistungsstarken Server. Ein 512MB-Ubuntu-13.10-Droplet reicht für den Anfang vollkommen aus. Dieses starten wir über das Backend von Digital-Ocean. Ist das Droplet erstmal gestartet, suchen wir uns die zugewiesene IP-Adresse raus und loggen uns mit

ssh root@111.111.111.111

ein. (111.111.111.111 bitte durch die korrekte IP des droplets ersetzen ;-D)

Droplet einrichten

Bevor wir mit der Einrichtung des OpenTTD-Servers beginnen können, müssen wir vorher ein paar Schritte durchführen.

Erstmal bringen wir die Software des Servers auf den neusten Stand. Dies erfolgt mit Hilfe von apt-get:

apt-get update
apt-get upgrade -y

Apt holt sich nun die neusten Versionen der installierten Software-Pakete und installiert diese für uns. Dank SSD und guter Verbindung bei DigitalOcean sollte dies innerhalb weniger Minuten erledigt sein.

Jetzt holen wir uns noch 2 Software-Pakete die wir später benötigen:

apt-get install unzip screen -y

Auch dies sollte nur eine Angelegenheit von Sekunden sein.

Damit unser OpenTTD-Server später nicht mit root-Rechten unterwegs ist, legen wir uns noch einen User an:

adduser openttd

Anmerkung: Der User muss nicht zwingend "openttd" heißen.

Installation des OpenTTD-Servers

Jetzt da unser Droplet fertig eingerichtet ist, besorgen wir uns die neuste Version von OpenTTD. Dies erfolgt über die Webseite von OpenTTD.

Mit Hilfe von wget übertragen wir das OpenTTD-Paket auf unser Droplet:

wget http://binaries.openttd.org/releases/1.3.3/openttd-1.3.3-linux-ubuntu-raring-amd64.deb

Wichtige Anmerkung: Unbedingt die Architektur eures Droplets beachten (32 oder 64bit)

Sobal das Paket auf unser Droplet geladen ist, installieren wir dies mit Hilfe von:

dpkg -i openttd-1.3.3-linux-ubuntu-raring-amd64.deb

Dies wird jedoch wegen fehlender Abhängigkeiten nicht funktionieren. Kein Problem - denn wir lösen dies umgehend mit Hilfe von:

apt-get -f install -y

Und schon ist OpenTTD installiert.

Einrichten des OpenTTD-Servers

Um mit der Einrichtung der Server-Software für OpenTTD fortzufahren, loggen wir uns aus (exit) und erneut mit unserem openttd-User ein:

ssh openttd@111.111.111.111

Anmerkung: Bitte hier den User ("openttd") abändern falls ein anderer Username verwendet wurde und auch wieder die korrekte IP verwenden ;-)

Nun starten wir unseren OpenTTD-Server indem wir

openttd -D

eingeben.

Aus irgendeinem unerfindlichen Grund meckert OpenTTD nun, dass kein Grafik-Paket installiert ist. Grafik-Paket .... auf einer Konsole für einen Server? O_O Nun gut, tun wir unserer kleinen "Transport-Diva" den gefallen und installieren wir das Grafik-Paket.

Grafik-Paket installieren

Als erstes besorgen wir uns über die Webseite die aktuelle Version des "OpenGFX" Grafik-Pakets. Die Webseite findet ihr hier.

Wieder mit der Hilfe von wget laden wir das Grafik-Paket auf unser Droplet:

wget http://bundles.openttdcoop.org/opengfx/releases/LATEST/opengfx-0.4.7.zip

Anmerkung: Es ist nicht zwingend notwendig dies mit wget zu erledigen, es ist auch möglich das Grafik-Paket mit Hilfe von SCP auf den Server zu kopieren. (Passende Software ist zB: Cyberduck für Mac oder WinSCP für Windows ).

Da wir ein ZIP-File bekommen müssen wir dies zuerst auspacken:

unzip opengfx-0.4.7.zip

Sobald es entzippt ist, kopieren wir die Dateien in den Arbeits-Ordner von OpenTTD:

mv ~/opengfx-0.4.7/* ~/.openttd/baseset/

Danach räumen wir noch mit

rm -rvf opengfx-0.4.7*

hinter uns auf.

OpenTTD-Server starten (jetzt aber wirklich)

Nun starten wir unsern Server erneut:

openttd -D

Nun sollte der Server starten und anhand der Voreinstellungen eine neue Karte generieren. Mit Hilfe des Spiel-Clients ist es nun möglich sich mit dem Server zu verbinden und mit Freunden und Verwandten OpenTTD zu genießen.

Eine Kleinigkeit gibt es aber noch. Falls wir unsere Konsole nun schließen ist der OpenTTD-Server auch weg. Um den OpenTTD-Server dauerhaft laufen zu lassen verwenden wir das Tool "screen". Uns so funktioniert es:

screen openttd -D

Und schon läuft unser Server. Mit CTRL + A + D können wir die Konsole nun verlassen.

Mit dem Kommando

screen -r

können wir uns wieder Zugriff auf die Admin-Konsole von OpenTTD verschaffen.

Weitere Einrichtung und Anpassungen

Um unseren Server anzupassen und zu gestalten bietet OpenTTD eine Vielfalt an Optionen innerhalb der Konfigurations-Datei. Diese ist im Heimat-Ordner unseres openttd-Users unter .openttd zu finden.

Alle möglichen Optionen und deren Bedeutung findet ihr in der OpenTTD-Wiki unter http://wiki.openttd.org/Openttd.cfg.

Unterstützung

Sollte das Tutorial hilfreich gewesen sein und die Entscheidung für einen DigitalOcean-Account gefallen sein dann wäre es toll wenn ihr dafür meine Links zu DigitalOcean verwendet.

Bildquelle: OpenTTD - eigener Screenshot