Zum Thema Siedlerfan:

Zum Thema Siedlerfan:
Seit einigen Updates konnte ich kein Unreal Tournament 2003 mehr starten. Mit dem neuen X-Server verschwanden auch einige Zusatzprogramme aus dem Paketbaum meiner Distribution. Nachdem sich heute eine weitere Fehlermeldung dazu gesellte habe bin ich der Sache einmal auf den Grund gegangen. Hier die Fehlermeldung, die mich beim Starten von ut2003 nun schon seit Monaten heim suchte:
Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 135 (XFree86-VidModeExtension)
Minor opcode of failed request: 10 (XF86VidModeSwitchToMode)
Value in failed request: 0xb6
Serial number of failed request: 203
Current serial number in output stream: 205
Mich verwunderte dies sehr, da ich doch das Paket “libXxf86vm”, welches die Funktion VidModeExtension zur Verfügung stellt, installiert hatte. Im Internet stieß ich dann auf folgende Erkenntnis: Viele Spiele nutzen das veraltete Programm “xvidmode” um die Auflösung im Vollbild zu setzen. Dafür wird heutzutage aber nur noch “xrandr” genutzt. Demnach müsste der Befehl “ut2003 –windowed” funktionieren. Klasse, es läuft also im Fenster, aber nicht im Vollbild. Nun habe ich drei Lösungen dafür konzipiert:
1. Quick’n’Dirty
ln -s /usr/bin/xrandr /usr/bin/xvidmode
Als root ausführen. Dabei wird eine symbolische Verknüpfung von xrandr auf xvidmode erstellt. Die Befehlssyntax ist zwar leicht unterschiedlich aber für ut2003 scheint es zu reichen 🙂
2. Richtig
xvidmode zum Beispiel von ToCows herunter laden, kompilieren und unter /usr/bin installieren
3. Hack
Dabei editiert man das UT2003 startup script im Spielverzeichnis und fügt folgende Zeilen vor “# Let’s boogie!” ein:
#set proper screenresolution
utINI="$HOME/.ut2003/System/UT2003.ini"
if [ -r "$utINI" ]; then
xwidth=`grep -m 2 FullscreenViewportX $utINI | cut -f2 -d'=' | tail -1`
xheight=`grep -m 2 FullscreenViewportY $utINI | cut -f2 -d'=' | tail -1`
echo "Read $xwidth x $xheight from UT2003.ini"
xrandr `echo "-s "$xwidth"x"$xheight""`
fi
Hier ziehe ich mir die gewünschte Auflösung aus der UT2003.ini im Heimatverzeichnis und setze die Auflösung vor dem Spielstart manuell. Existiert noch keine UT2003.ini kann man das Spiel in dem Fall einmal mit “–windowed” starten. Dabei wird die INI dann erstellt und die Auflösung nach dem Einstellen im Menü unter Settings geschrieben. Ein optionales “xrandr -s 0” (oder andere gewünschte Auflösung) am Ende des Skripts setzt die Auflösung nach dem Spielen wieder zurück.
..aus diesem xvidmode/xrandr Grund setzt übrigens auch Quake3 und Enemy Territory die Auflösung nach dem Start nicht mehr richtig 🙂
Es gibt noch ein weiteres Problem, welches mit einem neueren X-Server aufzutreten scheint. Dabei kommt folgende oder ähnliche Fehlermeldung zusätzlich zum Spielstart:
ut2003-bin: xcb_lock.c:70: _XGetXCBBuffer: Assertion `((int) ((xcb_req) – (dpy-> request)) >= 0)’ failed.
Das kann man beheben indem man die systemeigene Bibliothek von libSDL nutzt. Dazu muss man erst die libSDL im Systemordner von ut2003 verschwinden lassen:
cd /usr/local/games/ut2003/System
mv libSDL-1.2.so.0 libSDL-1.2.so.0.contrib
ln -s /usr/lib/libSDL-1.2.so.0
Happy fragging 🙂
BioSys ist eine “Survival Adventure Simulation” von JumpStart und Take2 in klassischer voll drehbarer 360 Grad Bilder-Manier. Nach dem Spielstart schlüpft man in die Rolle des Wissenschaftlers “Russel”, der jedoch nach einer schweren Katastrophe sein Gedächtnis verloren hat. Bei der Katastrophe sind alle anderen Menschen in der Biossphere4 ums Leben gekommen. Die Biossphere4 setzt sich aus vier voneinander abgeriegelten Biomen zusammen. Das hermetisch abgeriegelte Natur-Experiment ist komplett computergesteuert und sehr empfindlich. Durch die Katastrophe ist das Gleichgewicht massiv gestört und Russel muss schnell Initiative ergreifen, um sich selbst und seinen Mikrokosmos am Leben zu erhalten. Denn stirbt die Pflanzenwelt der einzelnen Biome stirbt auch er. Zu allem Überfluss scheint Russel nicht ganz alleine in der Biosphäre zu sein. Eines seiner Experimente hat sich selbstständig gemacht und neben den Gefahren von Flora und Fauna muss man sich auch noch vor diesen in Acht nehmen. Darüber hinaus muss für beständigen Nachschub an Nahrungsmitteln und Trinkwasser gesorgt werden, damit Russel nicht verhungert oder vor Erschöpfung umkippt. Den eigenen Gesundheit-Zustand darf man dabei ebenfalls nicht außer Acht lassen, während man alle vier Biome wieder funktionstüchtig bekommen muss. Die Hintergrundstory ist sehr Hollywood und kann getrost ignoriert werden. Wer an den Intrigen und Machtkämpfen hinter dem Projekt interessiert ist kann natürlich fleißig die Informationsfetzen im Spiel zusammen suchen und sich ein eigenes Bild machen.
Leider meinte Jumpstart wirklich nur Win95/Win98, als man das auf die Verpackung drucken ließ. Ab NT ist bereits Schluss. Zum Glück gibt es Wine. So konnte ich BioSys problemlos unter Linux installieren und starten:
InstallationsCD:
mount /media/cdrom
wine /media/cdrom/setup.exe
umount /media/cdrom
Nun muss Wine noch gesagt werden dass es für BioSys ein Win95 vorgaukeln soll:
wine winecfg
Unter Anwendungen fügen wir eine neue Anwendung hinzu und navigieren im Menü in den neu erstellen BioSys Ordner (C:/Program Files/Biosys) wo wir BioSys.exe auswählen. Als Windowsversion für diese Anwendung wählen wir Win95. Fertig.
SpielCD (wird zum Spielen benötigt):
mount /media/cdrom
cd /pad/zur/wineinstallation/drive_c/Program\ Files/Biosys/
wine BioSys.exe
umount /media/cdrom
Für häufiges Spielen kann man sich z.b. mit k3b komfortabel ein ISO (Imagedatei) der SpielCD erstellen lassen, welches man dann statt der CD über das Loopback Device mounten kann. So muss man nicht immer die CD griffbereit halten.
BioSys ist stellenweise sehr knifflig und kann durchaus frustrierend sein, wenn man das Spiel falsch gestartet hat. Spätestens wenn zum Beispiel das dritte Set Sicherungen durchgebrannt ist macht es einfach keinen Spaß mehr. Wer also wirklich nicht weiter kommt kann einen Blick in Steffen Geislers Walkthrough werfen. Der ist zwar nicht komplett und fehlerfrei aber genügt völlig um weiter zu helfen falls man in einer Sackgasse gelandet ist.
Ich daddle nur unter Linux.
Ich daddle weniger, als vor 10 Jahren. Das stimmt. Vor 10 Jahren hatte ich aber auch noch keinen Job, die Wohnung und ein paar Mäuler/Tanks zu stopfen/füllen 😉 Das liegt also wohl eher an der mangelnden Zeit.
Wenn ich ganz lustig bin spiele ich mit Linux. Ganz ehrlich so ein General-Update auf einem sourcen-basierenden System kann verflixt frustrierend werden bis das alles wieder so läuft wie man will. Dafür läuft es dann aber auch bis ich wieder damit spielen mag 🥰
..und bündig.
Ich spiele zwar sehr viel unter Linux aber doch vorwiegend alleine, da mir Nerv und Zeit fehlen mich in einer Online-Gruppierung (“Clan”) zu engagieren. Auf der Suche nach willigen Testern für mein aktuelles Projekt habe ich dann euren Chatraum gefunden und mich nun nach einigen Wochen mit-idlen und kleinen Gesprächen dazu entschlossen mal zu registrieren.
Zu mir selbst gibt es wenig zu sagen. Das typische Computerkind halt. Amiga, Os2, Wintendo und schließlich Linux. (Ja, ich konnte mir auch keinen MAC leisten). Nach meiner Ausbildung zum IT-Fachinformatiker kehrte ich Deutschland erst einmal den Rücken und trieb mich ein Jahr lang mit meinem alten VW-Bus in der Weltgeschichte herum. Nach einigen Abenteuern und verschiedenen Jobs bin ich wieder in meiner Heimat dem Schwabenland gelandet und arbeite im Moment als Amokfahrer für die Deutsche Post. Zur Zeit spiele ich mit dem Gedanken mir wieder eine Stelle in der IT zu suchen.
Ansonsten hatte ich gerade meinen 25. Riestertag und lebe wieder alleine in einer kleinen Wohnung bei Leonberg. Gesellschaft leistet mir noch die Katze meiner Freundin, die hier als Freigänger einfach besser/sicherer aufgehoben ist als bei ihr. Privat beschäftige ich mich neben “am Bus rum schrauben” wieder mit Programmierung und dem Liverollenspiel.
Und nun zu den Fakten 😉
Entgegen der veralteten Info auf meiner Webseite nutze ich seit Jahren nur noch Lunar Linux auf meinen Computern. Dabei handelt es sich um eine extrem skalierbare sourcen basierende Distribution. Als Kernel habe ich mich inzwischen auf die 2.6er Reihe fest gefahren, da ich einige Dinge wie udev und hotplug wirklich mag. Darüber hinaus bin ich KDE-, AMD- und NVIDIA-Anhänger, Linksträger und Windows-Vermeider. Ich darf drei Computer (daedalus, ikarus und famkos) mein eigen nennen. Meinen Laptop ikarus hat es leider auf meinen Reisen bei einem Autounfall böse zerlegt und ich suche noch immer einige Ersatzteile (was der Funktionalität aber kaum Abbruch tut, ehrlich 😉 ) famkos ist mein Familien-Server, dem mangels Datenplatte (Headcrash) gerade eine Auszeit gegönnt wird. Daedalus ist meine Kann-Alles-Daddelkiste, die inzwischen arg in die Jahre gekommen ist. Dank eines Blitzeinschlags gab es aber auch hier in letzter Zeit mal ein paar neue Teile und nun läuft die Kiste wieder besser den je 🥰
Gedaddelt wird bei mir vor allem das da:
Symbole:
+ == wieder mehr
= == normal
– == kaum noch
Diese List ist nicht vollständig. Ein Wintendo ist hier nicht mehr am Start und so wird nur noch unter Linux gespielt.
Die Woche war ich mal wieder auf einer kleinen LAN Party. An sich nichts besonderes. Man halte sich jedoch vor Augen dass ich keine einzige Windows-Installation mehr habe und folglich mit einer Linux Only Box anzutraben pflege.
Die Woche war also wieder einmal eine Art kleine Premiere. Mit neuen 512MB DDR-Ram (Kingston), NVIDIA FX5900XT (v6111), Athlon 2000 XP+, Linux 2.4.27, ALSA 1.0.6a, WineX frisch aus dem CVS, 30GB Spiele auf der aktuellsten Version und das Gehäuse frisch poliert war ich ganz gut vorbereitet.
Gespielt wurde Quake3[1], CounterStrike[2][3] und Unreal Tournament 2003[4]. Mit einer Maximal-Auflösung von 1600×1200 mit maximalen Details und teilweise gleichzeitig als Server arbeitend lief die Box ausgesprochen rund und zickte nicht ein einziges mal. Ich bin ausgesprochen zufrieden mit der Leistung des Systems und vertrete weiterhin die Meinung dass man als Spieler auch unter Linux auf seine Kosten kommen kann.
[1][4] Native Linux
[2] WineX/Cedega
[3] CounterStrike spiele ich seit der 6.5 nicht mehr, da ich das Spiel im Grunde nicht leiden kann. Auf kleinen LAN Partys zählt aber jeder einzelne Spieler. Wenn man sich hier nicht gemeinsam auf ein Spiel einigen kann sollte man IHMO daheim bleiben.
In einem Chat wieder auf den Gedanken gebracht kramte ich meine Jagged Alliance 2 CDs wieder aus dem Schrank. Eines der wenigen Spiele, welches bereits vor Jahren auf Linux portiert wurde. Kaufen kann man den Linux Port zum Beispiel auf Linuxland.de.
Leider steigt das Spiel auch seit einigen Jahren auf einer aktuellen Installation mit einem Segmentation Fault unmittelbar nach dem Start wieder aus. Grund hierfür ist wohl die Verlinkung auf nicht statische Bibliotheken, welche sich im Lauf der Jahre verändert haben, und nicht mehr mit den ursprünglichen Funktionsaufrufen klar kommen.
Eine Lösung dazu fand ich hier. Der verbesserte Installer legt im Zielverzeichnis mitunter ein kleines Script mit der Bezeichnung ja2start
an, welches auf eine statische libX11.so.6.2
im Installationsverzeichnis zeigt.
Damit ausgerüstet kann Arulco ein weiteres mal befreit werden 🙂
Auch bei mir ist es mal wieder soweit. Über das Wochenende möchte ich alle Maschinen im Haus aktualisiert haben. Begonnen habe ich mit dem Router, welcher einen neuen 2.4.26er bekommen hat. Hier war dann auch gleich ein Update der iptables, um auch weiterhin mein Lieblingstool Firewall Jay zur Konfiguration dieser nutzen zu können, fällig. Als Dreingabe gabs auch gleich den neusten Indianer, da mir in letzter Zeit ein paar sehr seltsame Logeinträge aufgefallen sind.
Direkt im Anschluss kam mein Desktop- und Spielerechner dran. Hier schnurrt nun der neuste 2.6.7er. Ein kleines Problem mit den nvidia-Treibern konnte glücklicherweise verhältnismäßig schnell gelöst werden. Übrigens habe ich hier inzwischen über 20Gigabyte Spiele installiert und damit ein ernstes Sucht-Problem. Gut, dass mir noch niemand gesagt hat, dass man unter Linux gar nicht spielen können soll 😉
Damit wären meine beiden wichtigsten Maschinen auf dem neusten Stand, die anderen müssen bis morgen Nacht warten 😀
In letzter Zeit lese ich sehr oft im Bezug auf das Thema “Spiel X läuft nur ohne Sound”. Hier wird beständig geraten den aRts von KDE kurzerhand zu killen. Ja natürlich läuft das dann, aber wozu läuft dieser aRts den dann überhaupt, wenn man ihn immer erst killen muss?
Zur Info: aRts ist /kein/ unnötiges Stück Software. Der Soundserver ermöglicht es allen Anwendungen gleichzeitig Sound auf euren Lautsprechern auszugeben. Klingt langweilig? Na und was macht ihr wenn euch jemand sagt ihr sollt verschiedene 0en und 1sen zusammen mischen und den Mischwert wohlklingend ausgeben? Den genau damit wird die Soundkarte gefüttert, 0 und 1.
Weiter gehts. Wir wollen aRts behalten und trotzdem spielen oder auch andere Anwendungen welche aRts nicht von Haus aus unterstützen über aRts spucken lassen. Dazu gibt es verschiedene Möglichkeiten. Die gängigste, um so etwas mal kurzerhand einzurichten, ist das Zusatzprogramm “artsdsp”. Das Programm kann (leider nur Binaries!) praktisch zwingen sich an den Soundserver anzuhängen indem es die Ausgaben auf /dev/dsp abfängt und umleitet. Programme werden im Stil “artsdsp <programm> <parameter>” gestartet. Probieren wir unsere neuen Kenntnisse einmal aus:
Code:
beko@lion:~> artsdsp quake3
artsdsp works only for binaries
beko@lion:~> artsdsp ut2003
artsdsp works only for binaries
Sucks, hm? Die meisten Spiele starten über ein Startscript. Schauen wir uns einmal das Startscript von Quake3 näher an:
beko@lion:~> which quake3
/usr/local/bin/quake3
beko@lion:~> vi /usr/local/bin/quake3
#!/bin/sh
# Needed to make symlinks/shortcuts work.
# the binaries must run with correct working directory
cd "/usr/local/games/quake3/"
artsdsp -m ./quake3.x86 $*
exit $?
Die relevante Zeile ist dabei artsdsp -m ./quake3.x86 $*
. Wie wir sehen wird nun die eigentliche Binary mit dem Zusatzkommando artsdsp aufgerufen. E voila, wir haben Sound über aRts in Quake3. Wiederholen wir das Spiel bei ut2003.
# Let's boogie!
if [ -x "${UT2003_DATA_PATH}/ut2003-bin" ]
then
cd "${UT2003_DATA_PATH}/"
# exec ./ut2003-bin $*
artsdsp -m ./ut2003-bin $*
fi
echo "Couldn't run Unreal Tournament 2003 (ut2003-bin). Is UT2003_DATA_PATH set?"
exit 1
# end of ut2003 ...
Das ut2003 Startscript ist etwas länger. Die relevante Zeile ist jedoch ganz unten: artsdsp -m ./ut2003-bin $*
. Ich habe die Original-Zeile lediglich auskommentiert, statt die zu verändern. Same shit here. Der Parameter -m bedeutet laut Manpage folgendes:
-m, --mmap emulate memory mapping (i.e. for quake)
Alles klar? Nach dem Schema und mit ein wenig Bastelei kann man nahezu jedes Programm überreden über aRts zu spucken. Sollte der Sound etwas laggen, sprich erst mit Verzögerung ertönen, mache dich bitte ans nächste Kapitel und lerne wie man aRts konfiguriert 😉
Ich hoffe das ist dem ein oder anderen eine Hilfe 😉 Tötet nicht ständig eure armen Soundserver, sie sind da um euch zu helfen! So bekommt ihr sogar mitten in einer Runde UT mit wenn ihr eine neue Mail bekommt (“Sie haben Post” :P)