Strife, jogo moba para GNU/Linux e como corrigir problemas de bibliotecas em programas compilados

Recentemente comecei a testar um moba chamado Strife, que ainda está em beta, porém além das partidas típicas de moba, existem tutoriais e aventuras para um jogador bem interessantes. Os principais pontos que chamaram minha atenção é o jogo ser mais leve que o Dota 2, além de ocupar menor espaço (2 GB contra os 12 GB do Dota 2) e ser mais amigável com jogadores casuais, que eu apesar de conhecer esse estilo de jogo, nunca decorei habilidade de personagens ou itens, então posso ativar e seguir as sugestões de habilidades e itens com apenas um clique na tela, porém ainda tem o potencial de hardcore para os mais avançados.

Para quem estiver iniciando no jogo, recomendo fortemente fazer o tutorial, principalmente o da partida, até para conhecer as diferenças de outros mobas. Uma vez por dia rode a roda para ganhar alguns itens que servem como dinheiro no jogo para compra de pets e fabricação de itens. Antes de jogar online, crie uma partida de treino com bots, será mais fácil e você não corre o risco de um participante desconectar da partida e desbalancear o jogo, principalmente quando estiver conhecendo o personagem.

Para quem se interessou, basta fazer o cadastro aqui (usem esse link para me ajudar), e o download do jogo. Porém o mesmo não funcionou corretamente no Debian Jessie e por este motivo estou deixando algumas dicas aqui.

Primeiro achei estranho não ter um shell script no diretório principal para iniciar o jogo, mas pode ser iniciado executando diretamente o bin/strife. A questão principal é que as bibliotecas do Debian Jessie conflitaram com as do jogo e não foi possível iniciar o mesmo, mostrando no terminal a seguinte mensagem:

Inconsistency detected by ld.so: dl-open.c: 689: _dl_open: Assertion `_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' failed!

Primeira coisa que verifico nos jogos é se não existe alguma biblioteca faltando com o comando ldd, outro ponto importante é verificar se o jogo é 32 ou 64 bits com o comando file, se o jogo for 32 bits a biblioteca também tem que ser 32 bits. No Debian o próprio site do repositório ajuda e muito nessa etapa, basta procurar por http://packages.debian.org/file:arquivo, exemplo http://packages.debian.org/file:libstdc++.so.6 e instalá-la com apt-get install libstdc++6 para a mesma arquitetura do seu sistema ou apt-get install libstdc++6:i386 para forçar a versão 32 bits, por exemplo.

Eu já tinha todas as bibliotecas instaladas, como no diretório bin existiam algumas bibliotecas também (arquivos .so), resolvi forçar o sistema a utilizá-las, setando a variável de ambiente LD_LIBRARY_PATH, no meu caso o comando ficou export LD_LIBRARY_PATH=/opt/Strife/bin, tive algumas mensagens diferentes, porém ainda não abria o jogo.

Pesquisando mais na internet descobri que existia essa incompatibilidade das bibliotecas do jogo com as do Debian, e num site francês (http://tuxicoman.jesuislibre.net/2015/01/strife-un-equivalent-de-league-of-legends-pour-linux.html) achei a solução apagando algumas bibliotecas do jogo para forçar a utilização das bibliotecas do sistema. Os únicos arquivos .so que devem ficar no diretório bin são:

  • cgame.so
  • game.so
  • libcef.so
  • libfmodex64.so
  • libgame_shared.so
  • libgcrypt.so.11
  • libjpeg.so.8
  • libk2.so
  • libpng15.so.15
  • physx.so
  • vid_gl.so

Após a atualização (bin/update), o jogo rodou muito bem e sem nenhum problema. Obviamente como ainda é um beta existem problemas do jogo em si, como sincronização com a dublagem em português, mas nada que interfira no gameplay e todos terão esses problemas, independente da plataforma.

Essa dica não é válida apenas para jogos. Vários programas quando não estão empacotados podem precisar de alguma biblioteca não instalada, como o programa do Bitcoin que usa o Qt e como meu ambiente é o Xfce (GTK), faltava algumas bibliotecas, ou jogos do Steam que são 32 bits e precisa de mais alguma biblioteca.

Anúncios

Comente

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s