Supertuxkart-Server für lokales Netzwerk

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
debianoli
Beiträge: 4073
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Supertuxkart-Server für lokales Netzwerk

Beitrag von debianoli » 10.04.2020 19:27:57

Hi,

ich würde gerne einen lokalen Supertuxkart-Server für Zuhause aufsetzen. Laut dieser Anleitung muss man Supertuxkart dazu neukompillieren. https://github.com/supertuxkart/stk-cod ... WORKING.md

Hat das schon mal jemand von euch gemacht? Wie gehe ich da am besten vor? Der Supertuxkart-Server soll auf meinem Datenserver ohne X laufen.

Wie am Besten kompilieren, geht das auch mit checkinstall? Ich hätte das gerne hinterher als deb.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Supertuxkart-Server für lokales Netzwerk

Beitrag von smutbert » 10.04.2020 20:40:28

Von kompilieren müssen steht da nichts, nur von können.
Hast du schon versucht ob es nicht mit dem Paket Debiansupertuxkart klappt. Das Paket lässt sich jedenfalls auch ohne X installieren, auch wenn es natürlich eine Menge Bibliotheken benötigt.

Wenn du dein eigenes deb kompilieren willst, wäre checkinstall bestimmt eine Möglichkeit. Oder du borgst dir das Quellcodepaket aus debian und versuchst es entsprechend anzupassen und daraus ein Paket zu bauen. Das ist bestimmt aufwändiger, aber das Ergebnis wäre ein „schöneres“ Paket.

wanne
Moderator
Beiträge: 7463
Registriert: 24.05.2010 12:39:42

Re: Supertuxkart-Server für lokales Netzwerk

Beitrag von wanne » 11.04.2020 02:04:06

In der Anleitung steht was von wegen, dass man mit -DSERVER_ONLY=ON compilieren soll. Das tut Debian nicht:

Code: Alles auswählen

if [ $(DEB_HOST_ARCH_OS) = linux ]; then \
	dh_auto_configure -- -DCMAKE_BUILD_TYPE="STKRelease" \
	                     -DSTK_INSTALL_BINARY_DIR="games" \
	                     -DSTK_INSTALL_DATA_DIR="share/games/supertuxkart" \
	                     -DUSE_CRYPTO_OPENSSL=OFF \
	                     -DBUILD_RECORDER=0; \
	else \
	dh_auto_configure -- -DCMAKE_BUILD_TYPE="STKRelease" \
	                     -DSTK_INSTALL_BINARY_DIR="games" \
	                     -DSTK_INSTALL_DATA_DIR="share/games/supertuxkart" \
	                     -DUSE_WIIUSE=OFF \
	                     -DUSE_CRYPTO_OPENSSL=OFF \
	                     -DBUILD_RECORDER=0; \
	fi
Das müsste man anpassen. Ich würde aber vorher mal testen, ob sich die nicht-Server Version nicht auch als Server betreiben lässt. Üblicherweise ist das bei den meisten Spielen so. Die Server Version ist etwas kleiner und kann nur Server. Die Client-Vaiante kann alles.
Btw. Die denkten tatsächlich an Hurd und Co!
rot: Moderator wanne spricht, default: User wanne spricht.

debianoli
Beiträge: 4073
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Supertuxkart-Server für lokales Netzwerk

Beitrag von debianoli » 13.04.2020 11:43:27

Ich habe supertuxkart jetzt in einem virtuellen Debian ohne X kompiliert, aber es funktioniert nicht.

1. Weg: supertux mit Option -DSERVER_ONLY=ON aus den Quellen als Backport

Code: Alles auswählen

 apt-get source supertux
 cd supertux
Dann habe ich die debian/rules geändert und -DSERVER_ONLY=ON eingefügt

Code: Alles auswählen

override_dh_auto_configure:
        # libbluetooth-dev is only available on linux, hence build with
        # wiimote input device support only on linux
        # TODO: remove -DBUILD_RECORDER=0 once libopenglrecorder is packaged
        if [ $(DEB_HOST_ARCH_OS) = linux ]; then \
        dh_auto_configure -- -DCMAKE_BUILD_TYPE="STKRelease" \
                             -DSTK_INSTALL_BINARY_DIR="games" \
                             -DSTK_INSTALL_DATA_DIR="share/games/supertuxkart" \
                             -DSERVER_ONLY=ON; \
        else \
        dh_auto_configure -- -DCMAKE_BUILD_TYPE="STKRelease" \
                             -DSTK_INSTALL_BINARY_DIR="games" \
                             -DSTK_INSTALL_DATA_DIR="share/games/supertuxkart" \
                             -DUSE_WIIUSE=OFF \
                             -DSERVER_ONLY=ON; \
        fi
Jetzt die fehlenden Abhängigkeiten rein und Bauen:

Code: Alles auswählen

sudo apt-get build-dep supertux
 debuild -i -us -uc -b
Nach der Installation startet man

Code: Alles auswählen

supertuxkart --server-config=config.xml --network-console
Sofort erhält man eine Fehlermeldung zum fehlenden X:

Code: Alles auswählen

Irrlicht Engine version 1.8.0
Linux 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64
[warn   ] irr_driver: Unknown desktop resolution.
[warn   ] [IrrDriver Temp Logger]: Level 3: No X11 support compiled in. Only Null driver available.

[warn   ] [IrrDriver Temp Logger]: Level 3: No X11 support compiled in. Only Null driver available.

[warn   ] [IrrDriver Temp Logger]: Level 3: No X11 support compiled in. Only Null driver available.

[warn   ] [IrrDriver Temp Logger]: Level 3: No X11 support compiled in. Only Null driver available.

[fatal  ] irr_driver: Couldn't initialise irrlicht device. Quitting.
2. Weg direkt aus den Quellen wie hier https://github.com/supertuxkart/stk-cod ... INSTALL.md:

bin gerade dabei

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Supertuxkart-Server für lokales Netzwerk

Beitrag von eggy » 13.04.2020 11:55:13

debianoli hat geschrieben: ↑ zum Beitrag ↑
13.04.2020 11:43:27
Ich habe supertuxkart jetzt in einem virtuellen Debian ohne X kompiliert, aber es funktioniert nicht.

1. Weg: supertux mit Option -DSERVER_ONLY=ON aus den Quellen als Backport

Code: Alles auswählen

 apt-get source supertux
 cd supertux
Freudsche Fehlleistung oder falsches Paket genommen? Supertux ist das Jump'n'Run, nicht das Autorennen.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Supertuxkart-Server für lokales Netzwerk

Beitrag von eggy » 13.04.2020 12:32:49

es sollte übrigens ausreichen die rules im oberen Teil so anzupassen:
#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

export SERVER_ONLY=ON

export DEB_LDFLAGS_MAINT_APPEND=-lGLU
zumindest auf sid baut es damit und startet auch ohne Gui, wenn man, wie in der Anleitung beschrieben, mit
supertuxkart --server-config=/tmp/tuxkartconfig.xml --lan-server=your_server_name --network-console
startet und vorher noch die Beispiel Config aus der Anleitung entsprechend in /tmp/ abgelegt. (Edit kleiner Nachtrag: beide .debs, sowohl das normale als auch das -data via dpkg -i installieren, er meckert dann noch wegen den fehlenden Fonts, die kann man ganz normal via apt/apt-get/etc über die Paketverwaltung einspielen)
Außerdem könnte man die Config noch ins Paket aufnehmen, die Pfade richtig setzen und nen Startscript mitgeben, weitere Ideen findest Du im new maintainer guide und dem debian policy manual.
Falls es funktioniert hat: Vielleicht magst Du mal nen freundlichen Wishlist-Bugreport aufmachen und den Maintainer fragen, ob er das Buildscript bzw die control nicht einfach um Einträge für supertuxkart-nongui-server-only erweitern will? Der Pflegeaufwand dürfte minimal sein. Und wenns Leute gibt, die das so benutzen, warum nicht?
Zuletzt geändert von eggy am 13.04.2020 13:52:13, insgesamt 1-mal geändert.

debianoli
Beiträge: 4073
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Supertuxkart-Server für lokales Netzwerk

Beitrag von debianoli » 13.04.2020 13:26:18

eggy hat geschrieben: ↑ zum Beitrag ↑
13.04.2020 11:55:13
Freudsche Fehlleistung oder falsches Paket genommen? Supertux ist das Jump'n'Run, nicht das Autorennen.
Freud'sche Fehlleistung beim Tippen.

Antworten