Instalando o Diablo II: Lord of Destruction no Debian Etch
Ontem alguns amigos aqui da teleinformática e eu fizemos um “D2Day” (LAN para jogar Diablo 2), que serviu de inspiração para este artigo. O Diablo 2 é um jogo do tipo Action RPG, ou ARPG (da Blizzard) que gosto muito e acompanho desde que foi lançado.

Um problema que tenho constantemente é precisar ir para o Windows sempre que alguém chama para uma partida. Isso é chato e demorado. Depois desta última LAN resolvi tentar instalar o Diablo 2 no Linux através do Wine e reportar aqui no Hypercast os problemas que tive e as configuração adicionais que fiz.
Procedimento
O jogo em si, considerado neste caso, consiste do Diablo II, que são 3 CDs (Install Disk, Play Disc e Cinematics Disc) e da sua expansão Lord of Destruction, mais um CD, totalizando 4 CDs.
Normalmente depois de toda essa instalação é necessário atualizar o jogo com um patch, que normalmente é fornecido via download quando se acessa a battle.net dentro do próprio jogo ou em um arquivo separado, no site da Blizzard. Usarei este segundo caso, já que a versão que jogo não é a última que foi lançada.
Um último passo consiste em usar um crack (NoCD) para não precisar manter o CD da expansão no drive para poder jogar, assim você evita desgastar seu CD original, seu drive leitor, perda de tempo quando é necessário carregar algo do CD e evita o ruído que o leitor faz. Para uma realizar instalação que não precise realmente de nenhum dos 4 CDs, é preciso escolher sempre as opções mais completas que o jogo fornecer (opções Full).
Resumindo, os passos seriam estes:
- Instalar o Diablo II, utilizando a opção Full;
- Instalar a expansão Lord of Destruction;
- Fazer o upgrade para Full, ainda no instalador da expansão;
- Atualizar a versão do jogo com um patch da sua escolha;
- Instalar o crack para jogar sem CD.
Essa sequência é de preparação completa do jogo em si, independente de sistema operacional. Vamos agora para o processo de instalação específico para o Linux.
O ambiente de teste
Estou utilizando um Debian Etch, kernel Linux 2.6.18, KDE 3.5.5, Artsd e um chipset Intel 915G. Estou utilizando as versões mais genéricas possíveis destes softwares e suporte a hardware, que já são fornecidos por padrão no Debian Etch, instalado no computador de teste através de uma mídia específica que traz o KDE. Tomei o cuidado de não utilizar nada compilado por fora, como o kernel ou o subsistema de som, para tornar o artigo mais acessível. Já escrevi sobre o processo de instalação do Debian Etch aqui.
Instalando e configurando o Wine
Primeiramente, é preciso instalar o Wine, um software que possibilita rodar aplicativos nativos do Windows no Linux. O Wine é uma reimplementação livre da API do Windows no Unix. Vamos instalar a versão 0.9.25, que está disponível nos repositórios oficiais do Debian:
# aptitude install wine
Agora é preciso configurar o Wine de acordo com as características do seu computador, rodando (como usuário comum) o winecfg:
$ winecfg
Uma janela de configuração será aberta. Poucos ajustes são necessários nesse passo, em geral. No meu caso, estou utilizando a versão Windows 98, que é a mais compatível de todas até agora. A versão é configurável na aba Applications. Vá agora até a aba Drives e clique em Autodetect, para configurar as unidades do Windows de acordo com o seu Linux. Por último vá em Áudio e aguarde o wine detectar seu servidor de som. A configuração do wine é basicamente essa.
Instalando o Diablo II, a expansão LoD, o patch e o crack NoCD
O próximo passo é colocar o Install Disk do Diablo 2, montá-lo e executar o install.exe através do wine:
# mount /media/cdrom
# exit
$ wine /media/cdrom/install.exe
Siga com o processo normal de instalação. Este processo tem um problema quando executado através do wine: as janelas para troca de CDs não aparece! Não sei por que isso acontece. Testei com versões mais novas do wine e com GNOME e o resultado foi o mesmo, até pior.
No KDE, quando a cópia dos dados de um cd acaba e o instalado pede o próximo, aparece uma nova janela na barra de tarefas mas nenhuma janela de verdade associada a ela. No GNOME, você não recebe notificação nenhuma, o processo de instalação apenas dá um pausa e o leitor de cd pára de trabalhar.
Particularmente não tive problemas com isso, pois já instalei o Diablo “algumas” vezes, e sei decorado a ordem dos cds, que é a seguinte:
Instalação do Diablo II:
- Início com o Install Disk;
- Play Disk;
- Cinematics Disk;
- Install Disk;
- Fim da instalação, coloque o cd da expansão e inicie seu instalador.
Instalação da expansão LoD:
- Início com o Expansion Disk;
- Play Disk do Diablo II;
- Expansion Disk.
Detalhe importante: não execute o teste de vídeo no final da instalação do Diablo. Aqui ocorreu um erro inesperado e o X foi reiniciado sozinho. Depois tive alguns problemas para conseguir executar o jogo normalmente.
Agora é hora de instalar o patch de atualização. No meu caso, atualizarei para a versão 1.09d. Basta executar o instalador do patch com o wine:
$ wine LOD_109d.exe
Por fim, falta só o crack para jogar sem o cd. Existem diversos tipos de cracks que fazem isso e estão amplamente disponíveis na internet. Eu estou usando um bem simples. É apenas um executável modificado chamado Game.exe, que é utilizado pelo jogo e precisa ser substituído (é nele que está implementada a modificação que permite que o jogo rode sem pedir o cd). Basta substituir o Game.exe original pelo crackeado. Faça uma cópia de segurança, por prevenção:
$ cd ~/.wine/drive_c/Arquivos\ de\ programas/Diablo\ II/
$ mv Game.exe Game.exe.original
$ cp ~/Desktop/Game-crackeado.exe Game.exe
Falta apenas copiar um arquivo do cd da expansão para o diretório do Diablo. Este arquivo é o d2xmusic.mpq. Supondo que você já está na pasta correta (seguindo os comandos anteriores) a cópia ficaria assim:
$ cp /media/cdrom/d2xmusic.mpq .
Só para lembrar, você tem o direito de usar o crack para rodar o jogo sem CD se você possuir o CD original. Concluída a instalação, agora é só executar o jogo com o comando:
$ wine /home/lius/.wine/drive_c/Arquivos\ de\ programas/Diablo\ II/Diablo\ II.exe -w
O parâmetro final serve para abrir o jogo em modo de janela, pois toda vez que tentei em fullscreen, ocorria um erro na inicialização do DirectDraw. O Diablo II já está, neste ponto, completamente instalado. Porém, me deparei com alguns problemas.

Ajustando o som
O primeiro deles foi o som. O wine não detectou nenhum hardware de som ou subsistema de som que pudesse utilizar. Esse problema se deu por que estou utilizando o KDE e seu servidor de som é o Artsd. Por não ter um desenvolvimento muito ativo, o pessoal do wine resolveu não suportá-lo mais.
O wine do Debian vem apenas com suporte ao OSS, ESD e ALSA (só detectando o OSS), então tive que parar o Artsd no Centro de Controle do KDE (na seção de som tem uma checkbox que ativa/desativa o servidor de som), instalar o ALSA e seu wrapper para OSS, afim de tornar transparente para o wine a parte mais baixa da gerência do som. Para ele, o OSS estaria sendo utilizado. Este procedimento foi feito assim:
$ su
# aptitude install alsa alsa-base alsa-utils alsa-oss
# /etc/init.d/alsa reload
# alsamixer
# exit
Ajustando o vídeo
O Diablo II LoD roda muito bem no Linux sobre o wine, porém, é possível aumentar o desempenho fazendo uma configuração adicional. Vou explicar, afinal este artigo não é uma “receita de bolo”. Quero que você saiba o que está fazendo.
A parte gráfica do Diablo 2 é feita sobre o DirectX que já é amplamente suportada pelas implementações atuais do wine, mas sua parte 3D é implementada utilizando duas especificações: Glide ou Direct3D. Você pode escolher. A Blizzard nunca implementou o Direct3D de forma completa, e isso complica as coisas para o wine.
Para resolver o problema, encontrei um projeto do alemão Sven Labush que consiste em um wrapper para Glide3 ser interpretado como OpenGL! A página do projeto por ser acessada por este link. A instalação e geração do arquivo de configuração é bastante simples, basta seguir os passos na documentação.
Depois de transferir todas as instruções Glide para o núcleo OpenGL, o jogo ficou com um desempenho muito superior ao que o próprio Windows poderia conseguir. É impressionante.
Ajustanto a placa de rede
Depois de testar um pouco o jogo em single player, para testar se algum crash iria ocorrer (nenhum problema surgiu), fui tentar jogar em modo multiplayer via TCP/IP. Quando entre nessa opção, o jogo indicou que eu não tinha placa de rede.
O wine utiliza as configurações de rede do arquivos de hosts do Linux. Para resolver o problema foi só editar o arquivo, deixando-o com uma sintaxe mais tradicional (com um nome para cada endereço IP) e adicionando uma linha com um endereço IP válido na rede interna. Meu arquivo /etc/hosts ficou assim:
127.0.0.1 localhost
10.1.1.10 lius-laptop
Agora o jogo deve mostrar este IP como sendo o seu, em jogos que for o host e deixará conectar em outros (como cliente, dando um join).
Otimizando (re)instalações
Você pode utilizar os recursos do Linux para facilitar e agilizar processo de instalação do Diablo II. Primeiro você deve criar as imagens iso a partir dos CDs, com o comando dd:
# dd if=/dev/cdrom of=/tmp/install.iso
# dd if=/dev/cdrom of=/tmp/play.iso
# dd if=/dev/cdrom of=/tmp/cinematics.iso
# dd if=/dev/cdrom of=/tmp/expansion.iso
O prmeiro parâmetro deve ser o dispositivo de bloco vinculado ao seu drive leitor. Agora é só montar as imagens e e começar a instalação normalmente, só que muito mas rápida, já que a leitura está sendo feita do HD:
# mount -o loop /tmp/install.iso /cdrom
# exit
$ wine /cdrom/install.exe
Quando for necessário trocar o CD, não desmonte a imagem. Apenas monte a próxima em cima da anterior. O ponto de montagem irá ficar automaticamente mascarado e mostrará apenas o conteúdo sobreposto, que é o da última montagem:
#mount -o loop /tmp/play.iso /cdrom
À medida que você for desmontando as imagens, o conteúdo das anteriores ficará disponível, na ordem com que foram montadas.
Conclusão
A maturidade do wine impressiona, mesmo sem ainda ter chegado em sua versão 1.0. O Diablo II: Lord of Destruction roda perfeito. Nas listas de compatibilidade do Wine, ele está no topo da lista mais elevada, a Platinum, pelo fato de ser um dos softwares mais votados para ser suportado pelo projeto.
Foram necessários alguns passos “incomuns” para conseguir rodar o D2Exp de forma “mais que perfeita”, mas valeu à pena. O desempenho é excelente, e visivelmente superior do que ao rodar nativamente no Windows (daí o “mais que perfeito”).
Agora é só dar level up! Até a próxima!
Artigos Relacionados:
Sobre este artigo
You’re currently reading “Instalando o Diablo II: Lord of Destruction no Debian Etch,” an entry on Hypercast
- Published:
- 06.10.07 / 11pm
- Category:
- Uncategorized
11 Comments
Jump to comment form | comments rss [?] | trackback uri [?]