10 de ago de 2011

Wolfenstein: Enemy Territory


Wolfentein: Enemy Territory
Wolfenstein: Enemy Territory é um jogo de ação em primeira pessoa, criado pela id Software e aperfeiçoado pela Splash Damage.
Ambientado na Segunda Guerra Mundial, jogado apenas on-line, apesar de haver mods [modificações] que adicionam bots no jogo, tais como Omni-bot e Bobots. Os jogadores podem optar por combater em dois times: Axis (Eixo, no caso alemães) ou Allies (Aliados, os norte-americanos). Ao se engajar em uma das equipes o jogador deve optar por uma especialidade (soldado, médico, engenheiro, municiador, espião). Foi lançado gratuitamente, tornando-se um grande sucesso.

Site Oficial: http://www.enemy-territory.com/

· Instalação

A instalação do jogo é bem simples. Basta fazer o download do jogo Wolfenstein: Enemy Territory. Abra um terminal e siga os passos a seguir.

Verifique se o arquivo tem permissão de execução. Para isso execute o comando:

$ ls -l ET_v2.60_Linux.run.gz

A saída deve ser algo como:
$ -r-xr-xr-x 1 mad3linux mad3linux 270965248 2009-10-10 22:24 ET_v2.60_Linux.run.gz

Perceba que aparece o "x" três vezes. Isso indica que o dono, o grupo e outros usuários podem executar o arquivo. Outra forma rápida de saber é vendo a cor do nome do arquivo, se estiver verde limão, é porque possui permissão de execução ;-).

Depois basta executar o arquivo como root:

$ sudo su
# sh ET_v2.60_Linux.run.gz

Siga as instruções e instale tudo como o padrão (ou seja: next, next, finish[NNF] :-).
Após a instalação o jogo pode ser acessado via o menu Aplicações → Outros → enemy-territory.

Aí basta criar seu profile, digite seu nickname e escolha sua conexão (Connection), normalmente LAN/CABLE/xDSL. Defina o tamanho da tela e outras configurações, aí basta clicar em CREATE.

· Problemas com o som

Caso você venha a ter problemas em não ouvir som na hora do jogo, há uma solução para isso.
Abra um terminal e execute os comandos como root:

$ sudo su
# echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
# echo "et.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss

Depois rode o jogo normalmente com seu usuário. Caso tenha dado certo, crie um script para executar os comandos acima depois o jogo. Vou mostrar um possível script para você utilizar:

#!/bin/bash
echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
echo "et.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss

Como root, crie um arquivo chamado et-sound em /usr/local/bin e cole os comandos acima. Não esqueça da permissão de execução. Para isso execute:

# chmod +x /usr/local/bin/et-sound

Agora edite o arquivo de execução do Enemy Territory. Ele está localizado em /usr/local/games/enemy-territory/et. Logo abaixo do último comentário (# the binaries must run with correct working directory) escreva o comando:

gksudo -u root et-sound

O arquivo deve ficar dessa maneira:

#!/bin/sh
# Needed to make symlinks/shortcuts work.
# the binaries must run with correct working directory
gksudo -u root et-sound
cd "/usr/local/games/enemy-territory"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
exec ./et.x86 "$@"

Isso fará com que ao executar o jogo, a senha de root seja digitada numa caixa de diálogo e só depois os comandos para rodar o jogo sejam executados.

Ou ainda mais ninja: executar ao iniciar o sistema.
Para isso concentre-se apenas no arquivo et-sound e esqueça a dica acima do gksudo.

Primeiro vamos criar um link simbólico do arquivo et-sound em /etc/init.d:

# ln -s /usr/local/bin/et-sound /etc/init.d/et-sound

Depois proceda da seguinte maneira ainda no terminal como root:

# update-rc.d et-sound defaults

Esse comando serve para dizer ao Linux que ao iniciar o sistema ele deve executar o comando acima.
Pronto. Ao iniciar o sistema o som do jogo já vai ser consertado. [A dica foi testada no Ubuntu 10.04]

Dica: no Ubuntu 10.10 resolvi o problema da seguinte maneira:
Primeiro baixe o arquivo et-sdl-sound.gz, descompacte e dê permissão de execução (o comando abaixo já faz tudo isso pra você :-).

$ wget -q -O - http://nullkey.kapsi.fi/et-sdl-sound/et-sdl-sound.gz | gzip -d > et-sdl-sound && chmod a+x et-sdl-sound

Depois instale o pacote libsdl1.2debian-pulseaudio, num terminal:

$ sudo apt-get install libsdl1.2debian-pulseaudio

Agora edite o arquivo et-sdl-sound e mude a linha: SDL_AUDIODRIVER="alsa" para SDL_AUDIODRIVER="pulse".
Execute o jogo a partir do arquivo et-sdl-sound.

Esse erro ocorre porque no Ubuntu 10.10 em diante os pacotes oss(que são responsáveis pelo som no Enemy Territory) não estão mais presentes na distribuição.

· Problemas com biblioteca libstdc++.so.5

Enemy Territory foi desenvolvido utilizando a biblioteca libstdc++.so.5. Em versões mais atuais do Ubuntu, por exemplo, essa biblioteca está em sua versão 6. Existem duas possibilidades de resolver esse problema:

· Instalar a biblioteca libstdc++.so.5 de outra versão do Ubuntu: para isso você precisa baixar o pacote com a versão correta que
se encontra na seção Ubuntu Hardy(8.04) libstdc++.

· Ou você pode apenas criar um link simbólico da versão 6 para a versão 5. Para isso abra um terminal como root e:

# ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5

Pronto. Das duas maneiras o Enemy Territory irá funcionar.

Testei o jogo no Ubuntu 10.04 com a biblioteca libstdc++.so.6 e o jogo rodou sem problemas. Recomendo o uso do Ubuntu 10.04 pois ele é LTS (Long Term Support), ou seja, tem um suporte maior que o usual de 6 meses. Na data deste post ele está na versão 10.04.3, ou 10.04 update 3.

· Jogando com Bots

Uma característica bem legal do jogo é que ele tem o modo campanha, o qual possui objetivos a serem executados e não é só matança por sede de sangue (,\m/). Ainda mais legal é treinar com bots. Ação garantida.

Para jogar com Bots existe um MOD chamado Omnibot. Para instalar o MOD baixe-o daqui omnibot.

Extraia o arquivo para o diretório de instalação do Enemy Territory em /usr/local/games/enemy-territory/. Os diretórios devem ficar dessa forma:

/usr/local/games/enemy-territory
/usr/local/games/enemy-territory/omni-bot
/usr/local/games/enemy-territory/omnibot

O diretório omni-bot contém as bibliotecas, scripts e outros arquivos enquanto o diretório omnibot contém os arquivos para o jogo.

Para executar o jogo com suporte aos bot, abra um terminal e:

 $ et +set fs_game omnibot +set com_hunkmegs 64 +set omnibot_path "/usr/local/games/enemy-territory/omni-bot"

Para automatizar o processo podemos criar uma item no menu Aplicações ou editar o já existente. O item pode ser editado no seguinte arquivo: /usr/share/applications/et.desktop. Daí edite a linha:

Exec=/usr/local/games/enemy-territory/et

Para:

Exec=et +set fs_game omnibot +set com_hunkmegs 64 +set omnibot_path "/usr/local/games/enemy-territory/omni-bot"

Dica: para criar outro item no menu acesse nosso tutorial: Adicionar item no menu do Ubuntu.
Dica para Ubuntu 10.10: caso você tenha resolvido o problema so com com a dica do arquivo 
et-sdl-sound, você deve copiá-lo para /usr/local/bin e mudar a linha do Exec para:

Exec=et-sdl-sound +set fs_game omnibot +set com_hunkmegs 64 +set omnibot_path "/usr/local/games/enemy-territory/omni-bot"

Depois de habilitar o suporte aos bots e editar/criar o item no menu agora temos que criar os bots propriamente ditos. Para isso crie um arquivo com o seguinte conteúdo:

bot addbot 1 1 // Axis Solder
bot addbot 1 2 // Axis Medic
bot addbot 1 3 // Axis Engineer
bot addbot 1 4 // Axis Field Ops
bot addbot 1 5 // Axis Covert ops


bot addbot 2 1 // Allied Solder
bot addbot 2 2 // Allied Medic
bot addbot 2 3 // Allied Engineer
bot addbot 2 4 // Allied Field Ops
bot addbot 2 5 // Allied Covert Ops
bot difficulty 3 // dificuldade de todos os bots (opcional)

Salve o arquivo em /home/usuario/.etwolf/etmain/botmode.cfg (troque usuario pelo seu usuário ;-).
Dica: para visualizar arquivos ocultos basta usar o comando Ctrl + H do nautilus.
Perceba que foram adicionados 5 bots para cada time, um de cada especialidade. Sinta-se à vontade para mudar da forma que achar mais conveniente. É normal que os próprios bots mudem de especialidade para melhor realizar as tarefas.

Agora abra o jogo, escolha a campanha e no menu Limbo (onde escolhe o player) clique ~(til). Um terminal irá aparecer na tela. Digite o comando:

\exec botmode

Uma mensagem aparecerá no terminal indicando os bots que foram adicionados. Saia do terminal com ~(til), escolha o time: Axis (Alemães) ou Allies (Americanos).

Divirta-se.
Wolfentein: Enemy Territory

Axis Team