Sauerbraten: Cube Server Lister für Debian und Ubuntu kompilieren

Für Cube2: Sauerbraten gibt es ein nettes, grafisches Programm, mit dem sich Sauerbraten-Server überwachen lassen. Es existiert eine Übersicht sowohl über die Anzahl der Spieler, den Serverstatus, diverse Variablen und auch eine Mapvorschau gibt es. Mit einem simplen Mausklick kann man sich mit dem Server verbinden.


Kleiner Haken. Der Cube Server Lister wurde schon länger nicht mehr aktualisiert und es gibt keine offiziellen Debian- und Ubuntu-Pakete. Als Alternativen bieten sich zum einen die Trunk-Version oder ein Projekt auf GitHub an, welches CSL so gepatcht hat, dass es mit der aktuellen Justice-Version von Sauerbraten funktioniert.
Wenn man von dort die Quellen heruntergeladen hat, muss man nur noch der Anleitung auf ogros.org folgen, dort wo der Cube Server Lister auch von "WahnFred" entwickelt worden ist.

Die Kurzfassung

  1. aptitude install automake libtool libglib2.0-dev intltool g++ libwxgtk2.8-dev
  2. svn co http://cubelister.svn.sourceforge.net/svnroot/cubelister/trunk csl-svn
  3. In das csl-svn-Verzeichnis wechseln.
  4. make -f Makefile.cvs (bei der GitHub-Version nicht notwendig)
    ./configure
    make
    sudo make install

The Debian Way

Besser ist es natürlich direkt Deb-Pakete zu erstellen. Zuvor müssen die Quellen debianisiert werden.
Ihr müsst nur den Schritten in dem alten Beitrag folgen und das Quellverzeichnis richtig umbenennen (z.B. csl-0.81 und csl_0.81.orig.tar.gz) und das .orig.tar.gz-Archiv erstellen. Anschließend wechselt ihr in das Verzeichnis und führt dh_make aus. (Paket dh-make muss installiert sein. )
Das Paket lässt sich dann mit
dpkg-buildpackage -rfakeroot -us -uc
bauen und mit
dpkg -i csl_0.81-1_i386.deb
installieren.
Anmerkung:
Ich musste noch zwei Zeilen in /po/POTFILES.in nachtragen, bevor sich das Debian-Paket kompilieren ließ.

./src/engine/CslCharEncoding.cpp
./src/engine/CslCharEncoding.h

Es erwarten euch noch eine Reihe von Aufgaben, bevor ihr tatsächlich dieses Paket in die offiziellen Repos hochladen dürft. Für eine lokale und private Version reichen diese Schritte aber aus.
Der Cube Server Lister lässt sich schließlich mit csl starten. Unter Einstellungen müsst ihr noch den Pfad zur ausführbaren Sauerbraten-Datei setzen (/usr/games). Um ein Update vom Masterserver zu bekommen, einfach F5 drücken.

3 Replies to “Sauerbraten: Cube Server Lister für Debian und Ubuntu kompilieren”

  1. Hallo,
    make script funktionert nicht mehr im OS: Linux-Mint 18 / Ubuntu 16.04.
    Die einzigste Abweichung die ich machen musste ist das Paket statt libwxgtk2.8-dev den libwxgtk3.0-dev installiert habe, wegen der nicht Verfügbarkeit.
    andreas@Antec ~/csl-svn $ make
    Making all in src
    make[1]: Verzeichnis „/home/andreas/csl-svn/src“ wird betreten
    make all-recursive
    make[2]: Verzeichnis „/home/andreas/csl-svn/src“ wird betreten
    Making all in pch
    make[3]: Verzeichnis „/home/andreas/csl-svn/src/pch“ wird betreten
    if [ „/home/andreas/csl-svn/src/pch“ != „/home/andreas/csl-svn/src/pch“ ]; then \
    cp -a ./Csl.h ./; \
    fi
    make[3]: Verzeichnis „/home/andreas/csl-svn/src/pch“ wird verlassen
    Making all in libGeoIP
    make[3]: Verzeichnis „/home/andreas/csl-svn/src/libGeoIP“ wird betreten
    make[3]: Für das Ziel „all“ ist nichts zu tun.
    make[3]: Verzeichnis „/home/andreas/csl-svn/src/libGeoIP“ wird verlassen
    Making all in irc
    make[3]: Verzeichnis „/home/andreas/csl-svn/src/irc“ wird betreten
    Making all in libircclient
    make[4]: Verzeichnis „/home/andreas/csl-svn/src/irc/libircclient“ wird betreten
    Making all in include
    make[5]: Verzeichnis „/home/andreas/csl-svn/src/irc/libircclient/include“ wird betreten
    make[5]: Für das Ziel „all“ ist nichts zu tun.
    make[5]: Verzeichnis „/home/andreas/csl-svn/src/irc/libircclient/include“ wird verlassen
    Making all in src
    make[5]: Verzeichnis „/home/andreas/csl-svn/src/irc/libircclient/src“ wird betreten
    make[5]: Für das Ziel „all“ ist nichts zu tun.
    make[5]: Verzeichnis „/home/andreas/csl-svn/src/irc/libircclient/src“ wird verlassen
    make[5]: Verzeichnis „/home/andreas/csl-svn/src/irc/libircclient“ wird betreten
    make[5]: Für das Ziel „all-am“ ist nichts zu tun.
    make[5]: Verzeichnis „/home/andreas/csl-svn/src/irc/libircclient“ wird verlassen
    make[4]: Verzeichnis „/home/andreas/csl-svn/src/irc/libircclient“ wird verlassen
    make[4]: Verzeichnis „/home/andreas/csl-svn/src/irc“ wird betreten
    make[4]: Für das Ziel „all-am“ ist nichts zu tun.
    make[4]: Verzeichnis „/home/andreas/csl-svn/src/irc“ wird verlassen
    make[3]: Verzeichnis „/home/andreas/csl-svn/src/irc“ wird verlassen
    Making all in engine
    make[3]: Verzeichnis „/home/andreas/csl-svn/src/engine“ wird betreten
    make[3]: Für das Ziel „all“ ist nichts zu tun.
    make[3]: Verzeichnis „/home/andreas/csl-svn/src/engine“ wird verlassen
    make[3]: Verzeichnis „/home/andreas/csl-svn/src“ wird betreten
    g++ -DHAVE_CONFIG_H -I. -I../src/irc/libircclient/include -I../src/libGeoIP -I../src/pch -I../src/img/flags -DLOCALEDIR=\“/usr/local/share/locale\“ -DDATADIR=\“/usr/local/share/csl\“ -fsigned-char -Wall -fno-strict-aliasing -I/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -MT CslApp.o -MD -MP -MF .deps/CslApp.Tpo -c -o CslApp.o CslApp.cpp
    In file included from /usr/include/wx-3.0/wx/stdpaths.h:185:0,
    from Csl.h:57:
    /usr/include/wx-3.0/wx/unix/stdpaths.h: In member function ‘void CslApp::IpcCall(const wxString&, wxEvtHandler*) const’:
    /usr/include/wx-3.0/wx/unix/stdpaths.h:56:5: error: ‘wxStandardPaths::wxStandardPaths()’ is protected
    wxStandardPaths() { }
    ^
    In file included from Csl.h:69:0:
    ../engine/CslTools.h:75:51: error: within this context
    CslIPC.h:33:31: note: in expansion of macro ‘CSL_USER_DATADIR’
    #define CSL_IPC_SERV wxString(CSL_USER_DATADIR+wxT(„sock“))
    ^
    CslApp.cpp:173:41: note: in expansion of macro ‘CSL_IPC_SERV’
    if (client.Connect(CSL_IPC_HOST,CSL_IPC_SERV,CSL_IPC_TOPIC))
    ^
    In file included from ../engine/CslTools.h:28:0,
    from Csl.h:69:
    ../engine/CslCharEncoding.h: At global scope:
    ../engine/CslCharEncoding.h:44:49: warning: ‘CslCharEncodings’ defined but not used [-Wunused-variable]
    Makefile:598: die Regel für Ziel „CslApp.o“ scheiterte
    make[3]: *** [CslApp.o] Fehler 1
    make[3]: Verzeichnis „/home/andreas/csl-svn/src“ wird verlassen
    Makefile:631: die Regel für Ziel „all-recursive“ scheiterte
    make[2]: *** [all-recursive] Fehler 1
    make[2]: Verzeichnis „/home/andreas/csl-svn/src“ wird verlassen
    Makefile:446: die Regel für Ziel „all“ scheiterte
    make[1]: *** [all] Fehler 2
    make[1]: Verzeichnis „/home/andreas/csl-svn/src“ wird verlassen
    Makefile:416: die Regel für Ziel „all-recursive“ scheiterte
    make: *** [all-recursive] Fehler 1
    andreas@Antec ~/csl-svn $
    Gruss…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.