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ß

 

Notepad++ (nicht Notepadqq) unter Ubuntu installieren und nutzen

Ob und wie sich das Tool Notepad++ unter Ubuntu nutzen lässt war vor Jahren schon einmal Thema auf ITrig. 

Damals hatte ich die freie Alternative Notepadqq empfohlen.

Mit der Einführung der Snap Apps und der Verwendung von wine-i386 steht nun das aus Windows bekannte Notepad++ unter Ubuntu zur Verfügung.

 

notepadplusplus

Seit Ubuntu 16.04 sind Snaps fester Systembestandteil, falls dennoch eine Installation nötig sein sollte, ist die mit folgendem Befehl möglich:

sudo apt-get install snapd 

Notepad++ unter Ubuntu installieren

Durch neue Paketformates kann der Notepad Klassiker nun unter Ubuntu verwendet werden.

sudo snap install notepad-plus-plus

Die Notepad++ Version entspricht der Windows Variante und bringt somit auch die gleichen Funktionen mit.

notepadplusplus-ubuntu-snap

Natürlich kann die oben erwähnte Alternative über den gleichen Weg installiert werden.

sudo snap install notepadqq

 

KeyStore Explorer - Java Keystore und Zertifikate ohne die Kommandozeile verwalten

Zunächst ein gesundes neues Jahr 2019.

Java Keystore Management auf der Konsole empfinde ich als anstrengend. Liegt mit daran, dass ich mir Befehle wie

keytool -import -keystore /opt/data/cacerts -file /home/itrig/url.itrig.de.crt -alias url.itrig.de

einfach nicht merken kann oder zu selten benötige und sie daher nicht mag. Außerdem ist es mit einem Befehl nicht getan, denn nach dem Import, muss das Ganze noch einmal aufgelistet und eventuell ergänzt werden, usw.

keytool -list /opt/data/cacerts

keystore explorer

Eine Auswahl dieser Befehle hatte ich auch schon in einem Artikel - 9 praktische Keytool Befehle zusammengefasst.

KeyStore Explorer

Abhilfe schafft der KeyStoreExplorer, vorausgesetzt ein Verwaltungsgerät mit Oberfläche ist vorhanden.

Das Programm ergänzt quasi Tools wie das erwähnte keytool oder jarsigner mit einem grafischen Userinterface und lässt sich somit relativ leicht bedienen.

Es läuft auf nahezu jedem System, da es auf Java basiert und erlaubt alle Funktionen, die von der Kommandozeile bekannt sind. Dinge wie Import von Zertifikaten, sowie Export oder umbenennen. Passwort ändern oder generieren.  Insgesamt viele praktische Befehle die sich nun via Klick realisieren lassen.

Auch eine Konvertierung der folgenden Formate beherrscht das Tool: JKS, JCEKS, PKCS #12, BKS (V1 and V2) und UBER.

Aktuell ist Version 5.4.1.

KeyStore_Explorer

Fazit

Wer sich auf der Kommandozeile nicht immer wohlfühlt, der hat mit dem KeyStoreExplorer das richtige Werkezug um Java, Zertifikaten und deren Speicherung Herr zu werden. 

PS: Das Standardpasswort für einen Java Keystore ist "changeit"

Download Keystore Explorer

Sailfish 3.0 - neue Version der Android Alternative aus Finnland

Nachdem ich nun seit ca. einer Woche das neue Sailfish 3.0 auf einem Sony Xperia X betreibe, möchte ich ein paar Worte zum neuen Major Release der Finnen verlieren, denn seit kurzem ist das neue System 3.0.0.8 für alle unterstützen Geräte verfügbar.

Sailfish 3.0

Zunächst kann ich die angekündigte bessere Performance bestätigen, es macht richtig Spaß.

Es bedient sich deutlich flüssiger als die Vorgängerversion 2.2.1.18 (Nurmonjoki) und fühlt sich um einiges flotter an.

Das neugestaltete Top-Menü macht einen modernen Eindruck. Die Farben wirken insgesamt sehr frisch, was sicher auch den neuen Themes zu verdanken ist.
 
Lemmenjoki setzt noch mehr auf Wischgesten. So lassen sich offene Anwendungen durch eine Geste aus der oberen Ecke schließen. Die Tastatur kann via Geste gewechselt werden und bietet nun einen schnellen Zugang zu anderen Sprachen oder Emojis.

Die Kamera zeigt nun die letzten Bilder auf dem Sperrbildschirm direkt an.

Für Firmen wurde ein MDM Feature integriert, dieses habe ich mir allerdings nicht näher angeschaut. Auch USB On-The-Go wurde implementiert.

sailfish-3 sailfish-3-menu

Nicht so toll

Doch wo viel Licht ist, da ist auch Schatten. Beispielsweise der Browser, dieser wurde seit einer gefühlten Ewigkeit nicht aktualisiert. Glücklicherweise ist mit Fennec via F-Droid ausreichend Ersatz vorhanden.

Auch mit Bluetooth gab es so manche Probleme, so ließen sich manche Geräte einfach nicht verbinden. Hier wurde bereits in Version 2 viel nachgebessert, was in Zeiten von Deezer und Spotify essentiell ist.

Auch die NFC Unterstützung wurde bis heute noch nicht implementiert, welche allerdings eher zu verkraften sein sollte.

Unterstütze Geräte

Nachdem der Verkauf von eigenen Geräten aufgegeben werden musste, werden nun Sony Geräte unterstützt. Bisher wurde nur das Sony Xperia X supported, mit dem Sony XA2 und dem Sony XA2 Ultra sind zwei weitere Modelle hinzugekommen.

  •     XA2 single SIM H3113 (also H3123, H3133)
  •     XA2 dual SIM H4113 (also H4133)
  •     XA2 Ultra single SIM H3213 (also H3223)
  •     XA2 Ultra dual SIM H4213 (also H4233)
  •     XA2 Plus single SIM H3413
  •     XA2 Plus dual SIM H4413 (also H4493)
  •     X single SIM F5121
  •     X dual SIM F5122

sailfish-3-modelle

Schade ist, dass zum jetzigen Zeitpunkt Alien Dalvik noch nicht von den neuen XA2 Geräten unterstützt wird. Hier ist noch etwas Geduld gefragt.
    

Sailfish for free

Mit der neuen Version bietet Jolla das Betriebssystem umsonst an. Das heißt es werden nicht sofort 50 Euro fällig, sondern erst wenn Android und Update Support benötigt wird.

sailfish-preis

Fazit

Nach FirefoxOS und Jolla Phone J1, ist mit den Sony Modellen und SailfishOS 2 bzw. 3 endlich eine funktionale Alternative zu Google oder Apple Systemen vorhanden.

Das System lässt sich sehr gut bedienen, es ist performant und bietet Unterstützung für "wichtige" Apps wie Whatsapp, Facebook oder Instagram.

Doch auch wer diese nicht benötigt erhält ein ehrliches und schickes System, welches mit den großen sicher gut mithalten kann, bzw. auf einem sehr guten Weg dahin ist (und das mit einem Bruchteil an Entwicklern).


SailfishOS sei daher jedem ans Herz gelegt, dem der Begriff Datensparsamkeit geläufig ist, der ein funktionales Telefon ohne viel Schnickschnack benötigt und dessen Bedienkonzept besser ist als bei der Konkurrenz.

shop.jolla.com

checkrestart vs. needrestart - alte Prozesse nach Paketupdates erkennen

Wie sich Linux Systeme aktualisieren lassen war auf ITrig bereits zu lesen. Doch nur mit Aktualisieren ist es nicht getan, hin und wieder sollten Prozesse neu gestartet werden deren Installationspakete aktualisiert wurden. Dazu bietet Ubuntu neben dem neuen Kernel Live Patching verschiedene Möglichkeiten.

checkrestart

Um Systeme auf anstehende Neustarts zu kontrollieren gibt es verschiedene Tools, eines altbekanntes ist checkrestart. Dieses ist im debian-goodies Paket enthalten.

Das Programm macht Nichts anderes als nach veralteten Libraries bei noch aktiven Prozessen zu suchen.

Findet es welche schlägt es den Neustart mit dem dazugehörigen Befehl vor.

sudo apt-get install debian-goodies
sudo checkrestart
Found 7 processes using old versions of upgraded files
(7 distinct programs)
(5 distinct packages)

Of these, 5 seem to contain systemd service definitions or init scripts which can be used to restart them.
The following packages seem to have definitions that could be used
to restart their services:
lvm2:
        447     /sbin/lvmetad
openssh-server:
        1160    /usr/sbin/sshd
dbus:
        863     /usr/bin/dbus-daemon
accountsservice:
        945     /usr/lib/accountsservice/accounts-daemon
policykit-1:
        1001    /usr/lib/policykit-1/polkitd

These are the systemd services:
systemctl restart accounts-daemon.service
systemctl restart polkitd.service

These are the initd scripts:
service lvm2-lvmpolld restart
service lvm2 restart
service lvm2-lvmetad restart
service ssh restart
service dbus restart

checkrestart

check-enhancements

Ebenfalls praktischer Teil des debian-goodies Pakets ist check-enhancements.

Damit lassen sich Erweiterungen für bereits installierte Pakete finden.

 

check-enhancements postgresql
postgresql => check-postgres:     Installed: (none)       Candidate: 2.24.0-3.pgdg18.04+1
postgresql => pgpool2:    Installed: (none)       Candidate: 3.7.5-2.pgdg18.04+1
postgresql => pgtop:      Installed: (none)       Candidate: 3.7.0-18-gbbf1f12-2.pgdg18.04+1

needrestart

Das debian-goodies Paket hat schon ein paar Jahre auf dem Buckel, daher gibt es inzwischen neuere Varianten, um anstehende Neustarts zu prüfen. 

Eines davon ist needrestart, es funktioniert ähnlich wie checkrestart, wird aber aktiv weiterentwickelt und unterstützt Docker oder LXC. Zusätzlich ist es nicht an Debian gebunden, sondern auch für andere Distributionen verfügbar.

Needrestart wird von Thomas Liske entwickelt und aktuell in der Version 3.1.x ausgeliefert. Es hat eine Unterstützung für systemd an Bord, läuft aber auch unter System V init.

sudo apt install needrestart
sudo needrestart
Scanning processes...
Scanning processor microcode...
Scanning linux images...

Running kernel seems to be up-to-date.

The processor microcode seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

needrestart

Wie es sich für aktuelle Tools gehört, hat das Tool auch eine Nagios/CheckMK bzw. Icinga Ausgabe.

sudo needrestart -p -l
OK - Kernel: 4.15.0-36-generic, Microcode: CURRENT, Services: none, Containers: none, Sessions: none|Kernel=0;0;;0;2 Microcode=0;0;;0;1 Services=0;;0;0 Containers=0;;0;0 Sessions=0;0;;0

Konfiguration und Einstellungen können bei Bedarf unter /etc/needrestart/needrestart.conf vorgenommen werden.

Das Tool bietet ebenfalls einen interaktiven Modus. Nach einer Installation prüft das Tool nach jedem apt upgrade automatisch auf Neustarts von Prozessen und liestet diese auf, ohne sie neu zu starten.

needrestart-kernel


Bordmittel

Die einfachste Variante einen nötigen Neustart des Systems zu erkennen besteht im Auslesen des Wertes cat /var/run/reboot-required .

Den Wert *** System restart required *** zeigt Ubuntu im Loginprompt an, wenn ihr über einen SSH Konsole zugreift.

Werden auch die betroffenen Pakete benötigt kann in /var/run/reboot-required.pkgs geschaut werden

cat /var/run/reboot-required                                                                                                                                                                            *** System restart required ***
cat /var/run/reboot-required.pkgs