Cheating-Death no Linux?? É pra já!

Publicado por Willians SantosPavelski em 22/09/2004

[ Hits: 8.561 ]

 


Cheating-Death no Linux?? É pra já!



Ouvi muita reclamação de pessoas apenas porque o cheating-death (anti-cheath para servidores half-life/mods) não funcionava no Linux. Via wine ele abre, mas de nada adianta. Já ouvi até gente falar q o WineX (Cedega) não presta... acredita? Pois bem, tive problemas também, mas nada que uma lida no Google não ajude =]. Aqui vai a receita traduzida e limpinha para a galera VOL!

O que as grandes empresas não fazem nós usuários fazemos, por isso que o Linux está aí! ;^)

O esquema é o seguinte, vamos fazer uma nova biblioteca (ó.. pra quem não sabia fazer um atalho já estou fazendo bibliotecas =]), que vai carregar o cd.dll (dll do cheating-death) e vamos fazer um script pra carregar o Cheating-Death e o jogo (Half-Life).

A primeira coisa é instalar o Cheating-Death (vou chamá-lo de C-D daqui pra frente)via winex normalmente. Na pasta que você quiser, neste exemplo usei C:/Program Files/Cheating-Death/4.22.2.

Agora vamos criar um arquivo com o nome de cdlinux.c contendo o seguinte:

#include <dlfcn.h>

char* ( *p_GetCommandLineA )() = 0;

int times = 0;

char *GetCommandLineA() {
   if (!p_GetCommandLineA) {
      p_GetCommandLineA = dlsym( ( void* ) - 1, "GetCommandLineA" );
   }

   times++;

   if (times == 6) {
      LoadLibraryA( "C:\\SIERRA\\Cheating-Death\\4.10.0\\cd.dll" );
   }

   return ( *p_GetCommandLineA )();
}

OBS: Na parte:

LoadLibraryA( "C:\\SIERRA\\Cheating-Death\\4.10.0\\cd.dll" );

Você muda para o diretório que deixou o cd.dll (instalação do C-D), mas não esqueça de usar \\ para separar os diretórios, pois este script está escrito em C e assim que tem de ser feito.

Feito? Firmeza... Agora vamos compilar o "maledito".

Abra o console vá para o diretório onde você fez o cdlinux.c e manda um:

$ gcc -fPIC -g -shared -ldl -o libcdlinux.so cdlinux.c

Foi criada a biblioteca libcdlinux.so, esta que irá carregar o cd.dll para nós "linuxers" =]. Agora vamos criar um script que vai carregar a biblioteca e o jogo.

OBS: Recomendo colocar o libcdlinux.so na pasta SIERRA (onde o half-life esta instalado), por organização, mas você pode colocá-lo onde quiser.

Crie um arquivo de texto com o nome cstrike.sh contendo o seguinte:

#!/bin/bash
#
# Cheating Death Start Script for Wine/WineX v1.0
# by /linuX/GlaDiaC
#
# http://www.linuX-gamers.net
#
#Traduzido e modificado por Will.hxCX
#www.brasilcore.cjb.net
##################################
# WineX
#
#PRELDLIB="/lib/libdl.so.2 /usr/local/games/half-life/bin/libcdlinux.so"

PRELDLIB="/usr/local/games/half-life/bin/libcdlinux.so"
WINELIB="/usr/lib/transgaming_winex3/winex/lib/"
#
#
###################################
# Wine
#
#PRELDLIB="/lib/libdl.so.2 $HOME/.wine/libcdlinux.so"
#PRELDLIB="$HOME/.wine/libcdlinux.so"
#WINELIB="/usr/lib/wine"
#
#
# WINE BINARY
#WINEBIN="wine"
#(Se você tiver o cedega instalado pode mudar aqui para cedega)

WINEBIN="winex3"
#
#
# Diretório de Instalação do Half-Life
# Mude para onde esta o seu H-L

HALFLIFEDIR="/usr/local/games/half-life/c_drive/SIERRA/Half-Life/"
#
#
# HL OPTIONS

HLOPTS="-game cstrike -noaudiocd -noipx -32bpp -dev -console -numericping"
#
#
##################################################
# Não mexa aqui a menos q saiba o q esta fazendo!!! #
##################################################


export LD_PRELOAD="$PRELDLIB"
export LD_LIBRARY_PATH="$WINELIB"

cd $HALFLIFEDIR
exec $WINEBIN "hl.exe" -- hl.exe -console $HLOPTS "$@"

Mas olha lá heim, não esqueça de mudar a linha HALFLIFEDIR para o diretório onde esta instalado o seu Half-Life e a linha PRELDLIB para o diretório onde você deixou o libcdlinux.so.

Agora vamos tornar o script executável com o comando:

# chmod +x cstrike.sh

Pronto? Fez tudo aí como eu falei? Então esta feito!!! =D

Aproveita que está no diretório do script e manda um:

$ ./cstrike.sh

DICA: na linha:

HLOPTS="-game cstrike -noaudiocd -noipx -32bpp -dev -console -numericping"

Você pode mudar o -game cstrike, por exemplo, para -game dmc e salvar o script como dmc.sh. Torne-o executável. E agora você também tem um script para o Death mach Classic, crie um ícone na sua área de trabalho pro script, e já elvis, rumbora pro servidor da TERRA =].

## Will.hxCX ## Debian User -Br-

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

nbtstat para Linux

Servidores VNC no Ubuntu (e seus derivados)

AST - Criando slackbuilds no Slackware

Arrumando horário de verão no Tomcat

Compilando aBiblia Software para Linux Fedora 9 e Zenwalk 5.2

  

Comentários
[1] Comentário enviado por ygorth em 01/11/2004 - 23:02h

Rpz ! Esta foi uma das dicas mais lunaticas que jah vi aqui.

parabens!

[2] Comentário enviado por gugudl em 28/03/2005 - 17:10h

o meu deu erro quando eu executei o script

olha ai

Your system requires the use of pthreads but the maximum system allowed stack size of 2052 kB may be too small for some games.
If you experience problems, try rerunning with "-use-pthreads no" which may help.
fixme:keyboard:X11DRV_KEYBOARD_DetectLayout Your keyboard layout was not found!
Using closest match instead (Brazilian ABNT-2 keyboard layout) for scancode mapping.
Please define your layout in windows/x11drv/keyboard.c and submit them
to us for inclusion into future Wine releases.
See the Wine User Guide, chapter "Keyboard" for more information.
fixme:ntdll:RtlValidAcl (0x406df688): stub
fixme:ntdll:NtSetSecurityObject 0xffffffff 0x00000004 0x406df288
File g:homeminha_pastavalvehw.dll was never closed
fixme:xrender:X11DRV_XRender_Finalize Free cached glyphsets


alguem ai sabe pq?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts