• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[GELÖST]UT 2004 patchen

globalPKs

Newbie
Hi,

ich habe mir kürzlich opensuse 10.2 für nen amd 64 installiert. Läuft auch alles super soweit, nun wollte ich mir auch ut2004 installieren. Die installation lief relativ problemlos ab, ausser das er nach der installation direkt sowas ausgab

Code:
inux-nt0g:/media/UT2004_DVDGERMAN # ./linux-installer.sh
Copying to a temporary location...
Verifying archive integrity... All good.
Uncompressing Unreal Tournament 2004 for GNU/Linux 3186......................................................................
kbuildsycoca running...
Reusing existing ksycoca
kio (KSycoca): ERROR: No database available!
WARNING: ALC_EXT_capture is subject to change!

Ok, hab dann erstmal das spiel auf gut glück gestartet und läuft auch super. Keine fehler, gar nix. Nun wollte ich mein ut2004 noch auf den neuesten stand in sachen patches bringen. Also kurzerhand den linux patch 3369 gesaugt und die dateien per "sudo cp * -R /usr/local/games/ut2004" in mein installverzeichnis kopiert. Wenn ich jetzt meinen ut startbutton zum starten benutze, seh ich unten nur die kleine sanduhr für eine weile, nach ein paar sekunden verschwindet diese dann einfach so ohne das das spiel startet. Nagut hab ich mir gedacht, und es mal in der konsole probiert. Also kurzerhand ut aus der konsole gestartet, und dann kam sofort diese fehlermeldung

Code:
linux-nt0g:/usr/local/bin # ./ut2004
./ut2004-bin: error while loading shared libraries: ./libSDL-1.2.so.0: wrong ELF class: ELFCLASS64

na spitze...irgendwie hab ich dann rausgefunden, dass es sogar eine sh datei für linux amd-64 user gibt, diese hab ich dann natürlich mal gestartet. Siehe da, der startbildschirm erscheint schonmal für ca. 1 sekunde. Kurz darauf dann sofort die Fehlermeldung, dass eine Speicherzugriffsverletzung passiert ist.

Ich bin völlig ratlos und total verzweifelt, weil ich dieses an sich so simple patchen einfach nich hinbekomme :( Hat jemand von euch eine idee was es sein könnte, bzw. wie ich es beheben könnte?

lg Matze
 

revealed

Guru
Du musst aufpassen von dem Patch schwirren 2 Versionen im Netz herum und ein Megapack mit unterschielichen Patches glaub ich auch -- nimm das aktuellste jeweils-!

Zu deinem Problem mit dem Starten... sowas hatte ich auch ...
im Netz dazu gefunden hatte ich irgendwo die Startdatei von UT 2004 so umzubauen:

klick quelle

Also in:
"/usr/local/games/ut2004"
die "ut2004" Umbauen:
Code:
Change #1
-------------------
on line 48 of ut2004, change

if [ -x "${UT2004_DATA_PATH}/ut2004-bin" ]

to

if [ -x "${UT2004_DATA_PATH}/ut2004-bin-linux-amd64" ]


Change # 2
-------------------
on line 51 of ut2004, change

exec "./ut2004-bin" $*

to

exec "./ut2004-bin-linux-amd64" $*

Ich hoffe das ist was du brauchst! Ich such grad nochmal den Link wo ich das als Quelle her habe -- als Beleg!

Gruss

R
 
OP
G

globalPKs

Newbie
Hi R,

habs jetzt mal ausprobiert. Wenn ich denn in bash mal ut2004 eingebe, dann wird mir gesagt, dass ich keine berechtigung dazu habe, obwohl ich ut als root installiert habe, das file als root geändert habe, und als root im bash den befehl eingebe...
Wenn ich nun manuell in das Systemverzeichnis von ut wechsel und von da die ut2004-bin-linux-amd64 starte, dann kommt folgende fehlermeldung:

Code:
Matze@linux-nt0g:/usr/local/games/ut2004/System> ./ut2004-bin-linux-amd64
Signal: SIGSEGV [segmentation fault]
Aborting.


Crash information will be saved to your logfile.
Speicherzugriffsfehler

wenn ich jetzt nach dem logfile suche, dann find ich das schonmal gar nicht... Wohlgemerkt bin ich immer noch als root eingeloggt...woran kanns liegen? :(

lg Matze
 

revealed

Guru
also ich hab weder als root installiert, noch starte ich das Spiel als root - aus bestimmten Gründen, wie das beispielsweise für den User die Tastenkombinationen und einstellungen usw angelegt werden sollen.
http://www.linux-club.de/faq/Permanent_root_sein

Hast du es schonmal komplett damit versucht?:
Code:
#!/bin/sh
#
# ut2004 startup script
#

# Function to find the real directory a program resides in.
# Feb. 17, 2000 - Sam Lantinga, Loki Entertainment Software
FindPath()
{
fullpath="`echo $1 | grep /`"
if [ "$fullpath" = "" ]; then
oIFS="$IFS"
IFS=:
for path in $PATH
do if [ -x "$path/$1" ]; then
if [ "$path" = "" ]; then
path="."
fi
fullpath="$path/$1"
break
fi
done
IFS="$oIFS"
fi
if [ "$fullpath" = "" ]; then
fullpath="$1"
fi

# Is the sed/ls magic portable?
if [ -L "$fullpath" ]; then
#fullpath="`ls -l "$fullpath" | awk '{print $11}'`"
fullpath=`ls -l "$fullpath" |sed -e 's/.* -> //' |sed -e 's/\*//'`
fi
dirname $fullpath
}

# Set the home if not already set.
if [ "${UT2004_DATA_PATH}" = "" ]; then
UT2004_DATA_PATH="`FindPath $0`/System"
fi

LD_LIBRARY_PATH=.:${UT2004_DATA_PATH}:${LD_LIBRARY _PATH}
export LD_LIBRARY_PATH

# Let's boogie!
#edit by James N
#if [ -x "${UT2004_DATA_PATH}/ut2004-bin" ]
if [ -x "${UT2004_DATA_PATH}/ut2004-bin-linux-amd64" ]
then
cd "${UT2004_DATA_PATH}/"
exec "./ut2004-bin-linux-amd64" $*
fi
echo "Couldn't run UT2004 (ut2004-bin-linux-amd64). Is UT2004_DATA_PATH set?"
exit 1

# end of ut2004 ...

Ist die Datei ausführbar? Beim Patchen ein Fehler passiert?

bzw du schreibst

das file als root geändert habe
Haben deine User noch zugriff auf die Datei? Wenn du als root gespeichert hast, könnten unter Umständen -- könnte ich mir vorstellen beim Speichern die Besitzrechte an "root" übergegangen sein?

Das logfile müsstest du finden unter:

"/home/$user/.ut2004/System/UT2004.log"
oder
"/root/.ut2004/System/UT2004.log"

Aber ich glaube du müsstest das "ut64" nur ausführbar machen.

edit:
Aber ich habe mittlerer Weile also schon länger auf eine 32 Bit installation umgesattelt. Deswegen hab ich das Problem nicht mehr. Ich bin mir aber sehr sicher, dass das funktioniert.
/edit



Gruss

R
 
OP
G

globalPKs

Newbie
Hi R,

da muss eindeutig ein fehler beim patchen passiert sein, denn das ungepatchte ut läuft ohne probleme, ich werd gleich nochmal die ut2004 mit deinem code füllen und melde mich dann nochmal

lg
 

revealed

Guru
eventuell auch einen schlechten Patch erwischt?

Find ich ne super Seite! --> geradezu Godlike! (hat gerade bissl Ladezeit)
http://www.utzone.de

Dabei bestimmt ganz besonders interessant:
LinuxPatch 3369.2 incl. Linux UT2004 Mega Pack

ich hab auch kein Installer oder sowas gebraucht -- einfach von der DvD (habe DvD Version...) mit dem normalen Installer installiert als User..

Dann den Patch drüber.

Und unter 64 musste ich noch die Startdatei ausbessern. Zocken tu ich nur als $user.

Und wenn du deinstallierst mit dem uninstallscript musst du aufpassen, wenn du gepatcht hattest! Die files vom Patch kennt das uninstallscript nicht und lässt sie liegen... deswegen musst du diese manuell dann noch löschen, damit du wieder eine saubere Basis hast.

ahso und zu deinem Segfault falls das jetzt nichts geholfen hat:

http://utforums.epicgames.com/showthread.php?p=24802543
Also könnte das am NVidia Treiber liegen...

Selber hab ich ATI darum kann ich dazu nichts sagen.

und auch ganz interessant in Bezug auf Segfault und optimierung:
http://www.holarse-linuxgaming.de/h2006/space/Unreal+Tournament+2004

also besonders der:
Im lnxpatch3369-2 sind die Libraries nicht enthalten. Also müßt ihr die Links für libSDL-1.2.so.0 und libopenal.so.0 auf jeden Fall per Hand setzen.
tipp!

Ich habs so gemacht grad auf 32 bit::

Backups der originaldateien:
openal.so:
Code:
mv /usr/local/games/ut2004/System/openal.so /usr/local/games/ut2004/System/openal.so.back
Und Für die SDL:
Code:
mv /usr/local/games/ut2004/System/libSDL-1.2.so.0 /usr/local/games/ut2004/System/libSDL-1.2.so.0.back
Achtung in der Zeile ist ein ungewollter Zeilenumbruch! (Steht alles in einer Zeile.)

Dann neue Symlinks legen:
Für die libopenal:
Code:
ln -s /usr/lib/libopenal.so.0 /usr/local/games/ut2004/System/openal.so
Und für die libSDL:
Code:
ln -s /usr/lib/libSDL-1.2.so.0 /usr/local/games/ut2004/System/libSDL-1.2.so.0
... läuft gleich einiges geschmeidiger :)

Gruss

R
 
OP
G

globalPKs

Newbie
Jep es funktioniert!!! Vielen dank für deine hilfe und deine bemühungen R. Habs aber zwischenzeitlich schon mit nem kollegen hinbekommen :)

lg Matze
 

revealed

Guru
top!

kannst du noch einen [gelöst] knopf oben hinsetzen? Oder hattet ihr noch was bestimmtes gemacht, worauf noch hingewiesen werden sollte`?

Gruss

R
 
OP
G

globalPKs

Newbie
nee im prinzip haben wir genau das gleiche, wie du in deinem letzten post geschrieben hast, gemacht. Da ich allerdings noch Tactical Ops Crossfire installieren wollte, mussten wir noch die openal erneuern, weil der sound sonst ein bisschen abgehackt geklungen hat.
 
Oben