PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cheating-Death mit Steam => funtzt



analyzer
06.03.04, 11:39
Hallo.
Ich hab den Code von 68CaliberKiller mal so angepasst, dass er mit Steam funtzt. Ich konnte es allerdings noch nicht testen, da ich keinen CD Server kenne. Es sollte allerdings funktionieren, da man die CD-CVars in er Konsole setzen kann, was bedeutet, dass er die cd.dll korrekt geladen hat. :) Wenn etwas nicht funktioniert, dann bitte hier posten.

Zuerst f*llt man die Datei cdloader.c mit folgendem Inhalt:

#include <stdlib.h>
#include <stdio.h>
#define __USE_GNU
#include <dlfcn.h>

#include <wtypes.h>
#include <windef.h>
#include <winbase.h>

typedef LPSTR (WINAPI *o_GetCommandLineA_ptr) (void);
static o_GetCommandLineA_ptr o_GetCommandLineA;

typedef HMODULE (WINAPI *o_LoadLibraryA_ptr) (LPCSTR);
static o_LoadLibraryA_ptr o_LoadLibraryA;

static int initialized = 0;
static LPCSTR cddll = 0;

LPSTR WINAPI GetCommandLineA (void) {
if (!initialized) {
o_GetCommandLineA = (o_GetCommandLineA_ptr) dlsym (RTLD_NEXT, "GetCommandLineA");
o_LoadLibraryA = (o_LoadLibraryA_ptr) dlsym (RTLD_NEXT, "LoadLibraryA");
cddll = getenv ("CDDLL");
}

initialized++;
if (initialized == 6) {
printf ("Injecting %s NOW!\n", cddll);
o_LoadLibraryA (cddll);
}

return o_GetCommandLineA ();
}

Dann kompiliert ihr sie so:

echo -n "Gib den Pfad zu den Wine(x) Includes an: "; read WINEINCLUDES
gcc -ldl -shared -I$WINEINCLUDES -o cdloader.so cdloader.c
Ihr braucht dazu die Wine(x) Includes. Bei mir sind die z.b. hier: /usr/lib/wine/include/wine/windows
Ihr k*nnt euch allerdings auch einfach die Wine(x) CVS Version saugen, dann sind sie in $WINESOURCE/include. Die entstandene Datei kopiert ihr irgendwo hin, wo sie nicht st*rt. :) Ich hab meine z.b. im Cheating-Death Ordner.

Nun braucht ihr noch folgende Datei, die ihr cdloader nennt und in /usr/bin ablegt:

#!/bin/bash
CDLOADER_SO="/opt/winex/Cheating-Death/cdloader.so"
CDLOADER_DLL="X:\\Cheating-Death\\4.16.0\\cd.dll"
CDLOADER_WINE="winex3"

### DON'T CHANGE BELOW HERE ###
echo -e "Injecting $CDLOADER_SO with DLL $CDLOADER_DLL..."
export LD_PRELOAD=$LD_PRELOAD:"$CDLOADER_SO"
CDDLL="$CDLOADER_DLL" $CDLOADER_WINE $@
Dabei passt ihr die ersten 3 Zeilen an euer System an. In der ersten steht, wo ihr die cdloader.so habt, in der 2. steht, wo eure cd.dll liegt. Dies m*sst ihr nach jedem CD Update *ndern (Oder ihr macht euch jedesmal n Link). :) Der Pfad muss in Windows Schreibweise angegeben werden. Die letzte Variable beinhaltet den Pfad zum Winex Binary. Bei Wine ist das wine, bei winex CVS AFAIK auch und bei der Kaufversion von Winex ist er winex3. :) Jetzt macht ihr die Datei noch ausf*hrbar.

Um ein jetzt Steam mit CD zu starten gebt ihr ein:

cdloader hl.exe
# oder das m*sste auch gehen:
cdloader steam.exe
Von mir wurde allerdings nur die erste Fassung getestet.

Viel Spa* nun. :)

gladiac
06.03.04, 14:39
So Analyzer und ich hab des ganze nochmal durchgemacht, verbessert etc.

Cheating-Death with Steam How-To
http://www.linux-gamers.net/modules/wfsection/article.php?articleid=36

bzw. ihr braucht nur
http://download.linux-gamers.net/steam/cdlinux.tar.bz2

krischan2000
06.03.04, 17:41
hhmm schade, bei mir kommt da aufm Server:

Your system has been modified, plz repair to play on this Server. oder so ähnlich

nach ner minute wurd ich dann gekickt.. habs auf mehreren Server ausprobiert. Frage ist eben nur ob da wirklich cd an ist, da wahrscheinliche einige Admins nach dem Steam update noch nicht cd geupdated haben...

Werds später nochma probieren..

Jack0r`
07.03.04, 20:16
Supper, danke.
Nur schade das man jedes mal Steam restarten muss um cd an oder auszuschalten.

MFG
jack0r`

gladiac
07.03.04, 20:57
muss man nicht... sobald du steam mit der .so datei startest, ist es immer drin...

Jack0r`
07.03.04, 23:07
Ja das weiss ich, ich meine bei den fun wars, wenn ich auf einen server wo kein cd drauf ist connecte muss ich erst vorher steam neu starten, ohne cd, und wenn ich dannach wieder auf nen server mit cd connecten muss dann steam wieder neu starten. Ist bei nicht weiterhin schlim, hauptsache CD funzt jetzt mit steam.

MFG
Jack0r`