Cheating-Death no Linux?? É pra já!
Publicado por Willians SantosPavelski em 22/09/2004
[ Hits: 8.561 ]
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
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? PatrocínioSite hospedado pelo provedor RedeHost.
DestaquesArtigosCompartilhando a tela do Computador no Celular via Deskreen Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota Configuração para desligamento automatizado de Computadores em um Ambiente Comercial DicasEfeito "livro" em arquivos PDF Como resolver o erro no CUPS: Unable to get list of printer drivers Flatpak: remover runtimes não usados e pacotes Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2 TópicosComo atualizar o Debian 8 para o 10 (10) Dica sobre iptables ACCEPT e DROP (6) NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29) Top 10 do mês
Scripts[Python] Automação de scan de vulnerabilidades [Python] Script para analise de superficie de ataque [Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem [Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!) [Shell Script] Script para adicionar bordas às imagens de uma pasta |