Skip to content

HowTo - Einen eigenen SuperTuxKart Server im LAN aufsetzen und gegen Freunde zocken

Vor kurzem wurde eine neue SuperTuxKart Version veröffentlicht.

Wie schon aus der Beta bekannt war, bringt diese neue Version neben diversen Verbesserungen eine Netzwerkunterstützung mit.

Daneben sorgen ca. 20 Rennstrecken und verschiedene Spielmodi für Abwechslung. Der Funracer ist natürlich OpenSource und so hat jeder die Möglichkeit seinen eigenen Server zu betreiben.

Alle Infos findet ihr in den Release Notes.

SuperTuxKart1
Genau diese Netzwerkunterstützung will ich im Folgenden näher anschauen, denn für einen eigenen Server reicht bereits ein RaspberryPi aus.


Eigenen SuperTuxKart Server fürs LAN bauen

Als Basis dient ein Ubuntu 16.04 LTS oder ein Raspbian System, der Vorgang ist jeweils gleich.

Zunächst müssen ein paar Pakete installiert werden, damit der Build auch gelingt.

sudo apt-get install build-essential cmake libbluetooth-dev \
libcurl4-openssl-dev libenet-dev libfreetype6-dev libfribidi-dev \
libgl1-mesa-dev libglew-dev libjpeg-dev libogg-dev libopenal-dev libpng-dev \
libssl-dev libvorbis-dev libxrandr-dev libx11-dev nettle-dev pkg-config zlib1g-dev git subversion

Als nächstes werden die Installationsdateien auf das lokale System geladen.

cd /opt
sudo mkdir stk-code
sudo mkdir stk-asset
git clone https://github.com/supertuxkart/stk-code stk-code
svn co https://svn.code.sf.net/p/supertuxkart/code/stk-assets stk-assets

Der letzte Schritt kann etwas Zeit benötigen, da mehrere 100MB geladen werden müssen.

cd stk-code
sudo mkdir cmake_build
cd cmake_build/
sudo cmake .. -DSERVER_ONLY=ON
sudo make -j$(nproc)

Nun heißt es etwas warten, denn je nach CPU Leistung, kann dies etwas dauern...

stk-server

Schwups ist der fertige Server erstellt, ihr könnt ihn nun bereits ausprobieren oder systemweit mit sudo make install installieren.

Danach findet ihr den installierten Server unter /usr/local/bin/supertuxkart.


In unserem Fall starten wir den Server testweise direkt.

cd bin/

./supertuxkart --lan-server=test --network-console

stk-server-start

[info   ] GrandPrixManager: Loading Grand Prix files from ../../data/grandprix/
[info   ] GrandPrixManager: Loading Grand Prix files from /home/xyz/.local/share/supertuxkart/grandprix/
Fri Apr 26 20:25:41 2019 [info   ] STKHost: Host initialized.
Fri Apr 26 20:25:41 2019 [info   ] STKHost: Server port is 2759
Fri Apr 26 20:25:41 2019 [info   ] main: Creating a LAN server 'test'.
Fri Apr 26 20:25:41 2019 [info   ] ServerLobby: Reset server to initial state.
Fri Apr 26 20:25:41 2019 [info   ] ProtocolManager: A 11ServerLobby protocol has been started.
Fri Apr 26 20:25:41 2019 [info   ] STKHost: Listening has been started.

Nun solltet ihr darauf achten, dass der Port 2759 im lokalen Netz erreichbar ist und Firewalls diesen nicht blockieren.

Ebenfalls ist es wichtig lokal einen Servernamen beim Start anzugeben, da der Server sonst nicht startet.

Zusätzlich wird unter /opt/stk-code/.config/supertuxkart/config-0.10/server_config.xml beim ersten Start eine Konfigurationsdatei angelegt, dort können weitere Einstellungen gesetzt werden.

Für unseren Server muss hier Nichts weiter angepasst werden.

Alternativ könnt ihr eure eigene Konfigurationsdatei beim Start auch gleich mitgeben

supertuxkart --server-config=your_config.xml --network-console

Ob der Server läuft lässt sich mit einem einfachen netstat -lnp oder via ss -ln herausfinden (Artikel).

SuperTuxKart auf eigenen Server spielen

Um auf dem eigenen Server gegeneinander zu spielen, müsst ihr euch zunächst das Spiel installieren, dieses findet ihr hier.


Nach dem Start müssen folgende Schritte durchgeführt werden, um auf den eigenen Server zu gelangen,

stk-server-gui

stk-server-lan

stk-server-findstk-server-test-srv

Alternativ kann auch ein Server direkt aus dem Programm heraus erstellt werden und somit quasi mit jedem PC. Ein kleiner RapsberryPi ist allerdings um einiges praktischer.

Sollte ein STK Server übers Internet erreichbar sein, muss zusätzlich ein STK Account angelegt werden. Dieser Account muss beim Serverstart angegeben werden. Weitere Tipps finden sich hier.

supertuxkart --init-user --login=your_registered_name --password=your_password

Viel Spaß

 

Anleitung: PostgreSQL 9.x Installation auf Postgres 10 aktualisieren

PostgreSQL 10 ist nun seit ein paar Monaten auf dem Markt. Somit kann an ein Update der bestehenden Infrastruktur gedacht werden.

Diese kurze Anleitung soll zeigen, wie ein Update einer 9.x Installation auf die aktuelle Version 10 unter Ubuntu Server gelingt.

PostgreSQL Server 9.x auf Version 10 aktualisieren

Zunächst wird das aktuelle Repository hinterlegt.

sudo echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc |   sudo apt-key add -

sudo apt-get update

Nun kann die aktuelleste Version installiert werden

sudo apt-get dist-upgrade

oder

sudo apt install postgresql-10

Zur Überprüfung ob auch beide Versionen vorhanden sind können die aktiven DB Cluster aufgelistet werden

pg_lsclusters

ls_clusterNun kann das neue 10er Cluster angehalten und das bestehende aktualisiert werden.

sudo pg_dropcluster 10 main --stop

sudo pg_upgradecluster 9.5 main

Danach sollte wieder ein kurzer Check gemacht werden, bevor das alte System entfernt wird. Ich prüfe hier nur den Prozess.

Am besten die Datenbanken oder Anwendungen direkt auf Funktion prüfen, bevor die alte Version entfernt wird.

ps aux

sudo pg_dropcluster 9.5 main

postgres

Debian 9 Stretch - Systemd deinstallieren und SysV-Init verwenden

Seit einigen Jahren setzen viele Distributionen auf systemd. Das neue Init System ist allerdings nicht bei allen beliebt und führte in der Vergangenheit zu Forks wie beispielsweise Devuan.

Ebenfalls sind im Vergleich zu SysV-Init noch Unstimmigkeiten oder Sicherheitslücken vorhanden. (Siehe CVE)

debian

Welches System am Ende zum Einsatz kommt, hängt oft von der verwendeten Distribution ab.

Das muss nicht sein, denn Systeme wie Debian 9 lassen sich einfach umstellen.

Zunächst sollte überprüft werden, welches Standard-Init-System aktuell im Einsatz ist:

ps -p 1

PID TTY          TIME CMD
    1 ?        00:00:10 systemd

 

 

Debian 9 - Systemd deinstallieren

apt install sysvinit-core

reboot

sysvinit-debian

apt remove --purge --auto-remove systemd*

nano /etc/apt/preferences.d/systemd

Package: *systemd*
Pin: release *
Pin-Priority: -1

 

SysV-Init überprüfen

Die Überprüfung erfolgt auf die gleiche Weise wie am Anfang des Artikels.

debian9-init

Fazit

Die Umstellung eines aktuellen Debian 9 Stretch Systems ist schnell erledigt, mit Devuan 1.0 ist seit Mitte des Jahres ein Debian Fork vorhanden, welcher direkt auf das alte SysV-Init setzt.

Sendung verpasst? - MediathekView in Ubuntu installieren

Drüben bei Caschy wurde gestern Werbung für die kommende Nerd Nacht auf ZDFinfo gemacht. Der Sender zeigt in der Nacht vom 11. auf den 12. ganze sieben Filme rund um das Thema Nerds. Mit dabei sind World of Warcraft, Silicon Valley, Anonymous Nintendo und Aaron Swartz. Wachbleiben würde sich durchaus lohnen.

Ob die Sendungen in der ZDF Mediathek verfügbar sein werden steht zwar nicht fest, vorsorglich kann das Tool MediathekView dennoch installiert werden. Damit lassen sich Sendungen aus den Mediatheken der Sender ARD, ZDF, Arte, 3Sat, SWR, BR, MDR, NDR, WDR, HR, RBB, ORF und SF herunterladen.

MediathekView in Ubuntu 14.04 installieren

Die Installation ist schnell gemacht, dazu müssen lediglich ein paar Pakete installiert werden.

sudo apt-get install vlc flvstreamer libav-tools

sudo wget http://downloads.sourceforge.net/project/zdfmediathk/Mediathek/Mediathek%208/MediathekView_9.zip

sudo mkdir mediathekview

sudo unzip MediathekView_9.zip -d mediathekview/

./mediathekview/MediathekView__Linux.sh

mediathekview

Nach dem Start wird nach einem Pfad zu ffmpeg verlangt, hier muss /usr/bin/avconv angegeben werden. Das ist zwar nicht ffmpeg, aber eine gleichwertige Alternative für Systeme ab 14.04. Da MediathekView auf Java basiert, sollte (wenn nicht schon vorhanden) OpenJDK7 installiert sein.

sudo apt-get install openjdk-7-jre

Ab Ubuntu 14.10 ist bereits OpenJDK 8 in den Paketquellen verfügbar.

Unity Verknüpfung erstellen

Leider fehlt nach der Installation ein Icon auf dem Desktop oder in der Unity Menüleiste. Dieses Problem lässt sich mit einem einfach Startskript beheben.

sudo nano /home/user/mediathekview/mediathekview.desktop

[Desktop Entry]
Comment=MediathekView 9.0
Exec=java -jar /home/user/mediathekview/MediathekView.jar
Icon=/home/user/mediathekview/info/MediathekView.png
Keywords=stream;Fernsehen;media;TV;video;audio;
Terminal=false
Type=Application
Categories=AudioVideo;Video;TV;

Danach die Datei ausführbar machen über einen Dateimanager mit der Maus ins Menü ziehen.

sudo chmod +x /home/user/mediathekview/MediathekView.jar

sudo chmod+x /home/user/mediathekview/mediathekview.desktop

[Update]

Befehle auf die aktuelle Version 9 von Mediathek View angepasst.

PgTune - Performance Einstellungen für PostgreSQL Datenbanken automatisch erstellen

Nachdem ich die Tage schon einen Artikel über PostgreSQL hatte, will ich euch noch ein kleines Tool für den optimalen Betrieb eines Datenbankservers ans Herz legen.

PgTune

ist ein Webservice, der euch die wichtigsten Werte für eure postgresql.conf automatisch berechnet. Egal ob Windows oder Linux, der Service beherrscht beide Systeme.

PgTune

Für die richtigen Einstellungen wird zusätzlich die Einsatzart und der verwendete Speicher benötigt. Danach können alle benötigten Werte generiert werden.

Praktischerweise werden für PostgreSQL Datenbanken unter 9.3 auch die Werte für /etc/sysctl.conf (kernel.shmmax und kernel.shmall) berechnet.

Gehe zu PgTune