Oxente Network Rede de blogs oxente.org

29Dec/10Off

Ultimo post de 2010 – Como rodar World of Warcraft no Slackware 64 bits 13.1

Bom esta semana final de 2010 eu estava aqui de bobeira, e resolvi tentar algo diferente. No passado na época do World of Warcraft clássico ou vanilla como alguns chamam, eu conseguia rodar ele no meu Slackware 10.2 32bits de boa sem problemas.  Hoje como uso a versão 64bits do Slack, rodar aplicações emuladas de 32bits não é uma tarefa de simplesmente executar. Pois requer a instalação de alguns aplicativos e outras coisas a mais.

De inicio eu consegui rodar o Wow no linux64, mas deu muito problema, e foi um dia inteiro buscando soluções para no final o game ficar pronto para jogar.

Bom abaixo vai o caminho das pedras de como emular o world of warcraft (32bits) no slackware 64 bits.

O Slackware64 é um linux que a principio só executa aplicações em 64bits. Porém o Slackware vem preparado para ser um sistema híbrido que roda aplicações tanto 64 como 32, mas para que ele possa fazer isto é preciso instalar alguns pacotes que vão tornar o Slackware em um sistema multilib.

Sistema Utilizado:
SO: Slackware 64 13.1
Wine: wine-1.2.2
CPU: Intel(R) Core(TM)2 Duo CPU     E7200  @ 2.53GHz
Memória: 4GB RAM
VGA: ATI Radeon HD 3470
Drive VGA: ati-driver-installer-10-12-x86.x86_64.run
World of Warcraft Cataclysm 4.0X

Eric Hameleers conhecido na comunidade como Alien Bob, tem uma grande reputação com os usuário de Slackware por compilar diversos pacotes não oficiais do Slackware e de mantê-los atualizados. Alien Bob então criou os pacotes e um tutorial de como transformar seu Slackware em um sistema multilib.
Tutorial de como converter: http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:multilib
Tradução por Bruno Russo: http://www.brunorusso.eti.br/slackware/doku.php?id=multilib_para_o_slackware_x86_64

Antes de prosseguir para o próximo passo siga o tutorial de Alien Bob e deixe seu sistema pronto para ser um Multilib.
Depois de seguir o tutorial baixe o pacote do Wine compilado por Alien Bob aqui http://connie.slackware.com/~alien/slackbuilds/wine/pkg64/13.1/
Depois de baixar e instalar o wine, faça um teste digitando wine com seu usuário para ver se o mesmo esta sendo executado, se ocorrer o erro /usr/bin/wine: No such file or directory é por que a instalação do sistema multilib não foi feita com sucesso.

Se o wine estiver corretamente funcionando vamos testar executar uma aplicação 32bits, baixe aqui o Putty http://the.earth.li/~sgtatham/putty/0.60/x86/putty.exe e tente executar com o wine.
user@maquina:~#wine putty.exe
Se tudo ocorrer normalmente vamos agora para o world of warcraft.

Você tem três métodos de instalar o world of warcraft no linux, via DVD, via Internet e via cópia do seu wow do Windows.
Não vou abortar DVD porque no final das contas você vai ter que usar a internet de qualquer forma.
Baixe o instalador do World of Warcraft no site da Battle.net: http://us.media.battle.net.edgesuite.net/downloads/wow-installers/WoW-4.0.0-WOW-enUS-Installer.exe
Execute com o wine
user@maquina:~#wine WoW-4.0.0-WOW-enUS-Installer.exe
Siga os passos de instalação do world of warcraft e logo em seguida no seu KDE vai aparecer no menu do wine o ícone para o Launcher.exe do World of Warcraft, execute ele e deixe ele baixar o resto do jogo.
Se você já tiver um WOW já atualizado e instalado no seu Windows basta copiar a pasta para algum lugar do Linux (ou montar a pasta caso seja o mesmo PC) e executar o wine Launcher.exe para iniciar o mesmo.

Depois clique no botão PLAY do Launcher e jogue seu World of Warcraft :D.

Porém… Nem tudo são flores. :( Vamos aos problemas hehehe.

1) Gráficos Tortos
Primeira vez que executei o jogo ele abriu, ví os vídeos do cataclysm e etc, e quando foi aparecer a tela de login, estava tudo zuado, gráficos todos bagunçados como se tivesse ocorrido um cataclysm na minha placa de vídeo.
Procurei muito na internet uma solução para isso, mas no final achei uma solução para o primeiro problema.
Como o sistema é 64bits e o drive de vídeo também, o Wine está executando uma aplicação 32bits e não encontra o Opengl ou o 3D3 32bits e com isso basta instalar o tal do lib32-catalyst-utils. (Existe um lib32-nvidia-utils também).
Link para download: http://catalyst.apocalypsus.net/repo/catalyst/x86_64/lib32-catalyst-utils-10.12-1-x86_64.pkg.tar.xz

Depois que você instala esse trem reinicie seu X ou até o PC se for o caso (Meio Windows isso lol) e voia-lá World of Warcraft Cataclysm com Deathwing e tudo mais :D.

2) Crash na hora do Login
Depois que os gráficos apareceram lá tudo bonito e maravilhoso fui logar no jogo. e BUM o game deu Crash, tentei de tudo, reinstalar o jogo, parâmetros dos drives, parâmetros do X, parâmetros do Jogo e sem sucesso. Eis que a unica solução que encontrei foi a de atualizar o Kernel. Mas como assim WTF. Bom todo lugar que li fala que após atualizar o Wow para autenticar com a Bnet o wow dava crash com quem usava kernel < 2.35 Como o slackware 64 13.1 vem com o kernel 2.6.33.4 eu então baixei o kernel 2.6.35.7 do Slackware 64 Current.

Baixe:
ftp://ftp.slackware-brasil.com.br/slackware64-current/slackware64/a/kernel-modules-2.6.35.7-x86_64-1.txz
ftp://ftp.slackware-brasil.com.br/slackware64-current/slackware64/a/kernel-huge-2.6.35.7-x86_64-1.txz
ftp://ftp.slackware-brasil.com.br/slackware64-current/slackware64/a/kernel-firmware-2.6.35.7-noarch-1.txz
ftp://ftp.slackware-brasil.com.br/slackware64-current/slackware64/d/kernel-headers-2.6.35.7-x86-1.txz
* ftp://ftp.slackware-brasil.com.br/slackware64-current/slackware64/k/kernel-source-2.6.35.7-noarch-1.txz
* ftp://ftp.slackware-brasil.com.br/slackware64-current/slackware64/a/kernel-generic-2.6.35.7-x86_64-1.txz
* esses dois não precisam, mas eu baixei tudo assim mesmo :P
Depois de baixar vá no diretório e instale tudo com upgradepkg kernel*.txz (NOTA que instale o kernel-huge depois do kernel-generic se você for atualizar o mesmo).

Digite lilo para dar boot no novo kernel

Vá na pasta /etc/rc.d e aponte o link do rc.modules para o kernel novo
# rm rc.modules
# ln -s /etc/rc.d/rc.modules-2.6.35.7 /etc/rc.d/rc.modules
Reinicie o PC com o novo kernel

Pronto agora o wow inicia e loga e entra no mundo.

3) FPS Baixo e Crash do PC no modo OpenGL
O jogo iniciou mas o FPS ficou um nojo, para mudar isso botei o jogo em OpenGL editando o WTF/Config.wtf (na pasta no wow) e adiciona a linha SET gxApi “opengl”
Porém ao fazer isso o PC travou LOL. Bom para evitar a travada faça isso
Edita o /etc/X11/xorg.conf e nas sessões Device (tenho duas porque uso 2 monitores) adiciona
Option       “Capabilities” “0×00000800″
Option       “UseFastTLS” “0″
Option       “KernelModuleParm” “locked-userpages=0″

Salva o trem e reinicia o X ou o PC.

Finalizando
Depois de toda essa novela o jogo rodou, porém FPS ainda não esta agradável, esperava mais, ultima vez que joguei no Linux ele tinha quase o dobro de FPS do que no Windows so que a placa era Nvidia, e como todos sabem o suporte da Nvidia para Linux e muito superior do que da ATI, digamos que a placa tem potencial mas o drive para linux é um lixo.

Screenshots

linuxwow

E Feliz 2011 Para todos :D

29Oct/10Off

Migração do Voip – Troubleshooting

Bom quando terminou a migração eu fiquei direto na empresa até as 10h da manhã, até que o corpo não aguentou ficar mais de 29horas acordado e fui para casa dormir. Porém neste tempo deu para anotar os problemas que vieram com a mudança de Central.

E la vamos nós:

1) O caller id parou de funcionar com ligações entre ramais, porém funciona para ligações para fora e vindas de fora
sem solução ainda

2) Telefones Grandstream  GXP 2000 – EX com funções de telefonista, como puxar e monitorar chamadas parou de funcionar.
2a) Problema com BLF (Busy Lamp Field) LED que avisa a situação da linha. – Resolvido
2b) Problema em usar 1 ramal em 4 linhas. – Resolvido
2c) Problema para puxar chamada usando o botão do BLF – Resolvido
resolvi adicionando umas regras no asterisk, e mudando algumas configurações no telefone, mais detalhes no forum do snep aqui: http://www.sneplivre.com.br/index.php?option=com_kunena&Itemid=5&func=view&catid=8&id=707

3) Filas estão com problemas na hora de desconectar um membro. Este problema é estranho, o membro sai da fila mas volta novamente sozinho, ainda não sei se é um problema da fila, ou do Softphone Zoiper.
Sem solução ainda.

4) Ramal do Hospital – Recebemos 1 ramal da central do hospital, no servidor antigo temos uma placa FXO, porém ela é PCI e o servidor novo so tem 1 PCI e ta sendo utilizado, vamos comprar uma PCI-e ou um Gateway ATA.
Esperando a compra.

22Oct/10Off

Asterisk com Snep no Slackware 64bits

A tempos venho comentando sobre Asterisk e Snep aqui no meu blog, hoje vou descrever aqui toda minha jornada com a ferramenta, que está pronta para a migração e entrar em produção aqui na empresa.
Quando cheguei aqui, já existia um Asterisk em funcionamento, e eu entendia nada, absolutamente nada de Asterisk e VOIP, comprei um livro que citei em um comentário em outro post, é o Asterisk na Prática da Novatec http://novatec.com.br/livros/asterisk/, e dei uma lida no mesmo para poder entender para poder da suporte e manutenção no servidor.
Porém eu achei melhor implementar um novo servidor, já que aqui na empresa eu comecei a migrar vários serviços para novas estruturas, e a central telefônica poderia entrar na folia também.

Quando eu fui no FISL 2010, eu conheci a ferramenta SNEP Livre, onde depois de ler um bocado e fazer uns testes foi a escolhida para ser adotada para ser usada na empresa. A idea que tive aqui para empresa e minimizar o máximo possível de servidores customizados, com a intenção de que se um dia eu deixar a empresa por algum motivo o próximo profissional que assumir terá em mãos ferramentas conhecidas e não terá dificuldade de adotar e manter a estrutura. Então usar um produto pronto e com um bom suporte da comunidade tinha mais vantagem do que usar um servidor customizado meu, que na maioria dos casos dificilmente seria adotado por alguém.

Vamos agora para o processo de criação do servidor.

Atualmente (hoje) temos um servidor:
Linux Debian 4.0, Kernel 2.6.27.10 32bits
CPU: Pentium 4 Dual Core de 3GHZ
Memória: 2GB RAM
HD: 160GB
E ainda tinha duas placas E1, uma para receber um Ramal do Hospital e o outro o Tronco Digital.

O novo servidor era composto de:
Linux Slackware 13.1, Kernel 2.6.33.4 64bits
CPU: Intel Core i3  2.93GHz
Memória: 4GB RAM
HD: 500GB
Neste servidor não tem placa E1, pois agora vamos usar um circuito VOX IP (SIP) da GVT, no caso ele tem duas placas Ehternet.

A Missão é:
- Montar um servidor Linux atualizado
- Instalar o Asterisk e o Snep
- Migrar as regras de negocio do servidor antigo para a nova interface

Valendo lembrar que, o Snep já vem em uma distribuição personalizada, basta baixar a ISO e instalar e tudo já está funcionando. Ele também tem a versão .deb para quem já tem um Debian rodando e gostaria de implementar a solução. E claro a versão .tar.gz para quem gosta de desafios e controle total da situação.
No próprio site do SNEP possui tutorial de como instalar no Debian e no Slackware

Debian http://docs.sneplivre.com.br/wiki/Instalacao_ambiente_debian
Slackware http://docs.sneplivre.com.br/wiki/Instalacao_ambiente_slackware

A minha instalação é parecida com a do Slackware, porem eu mudei algumas coisas, como tirar o uso de ODBC e a instalação do drive DAHDI para poder usar o meetme.

Vamos a todos os passos, primeiro vou supor que igual a mim você pegou um servidor do zero sem SO e vai instalar agora.
1] Instale o Slackware no servidor, escolha todos os pacotes menos o KDE, instale o servidor X, pois as libs dele são utilizadas pelo PHP, eu prefiro sempre instalar as libs depois separado para deixar o servidor mais limpo, mas vai de gosto se não tem experiência com isso instale tudo.

2] Depois de instalar e iniciar o Slackware, configure a rede do Linux e teste se ele está com acesso a internet com simples teste de ping www.google.com.br

3] Com o Linux instalado e com acesso a internet vamos atualiza-lo:
Escolher o Mirror de atualização
root@voip-snep:# vi /etc/slackpg/mirror
(escolha o # Brasil, 150Mbit ftp://ftp.slackware-brasil.com.br/slackware64-13.1/, basta remover o comentário do servidor e salvar)
root@voip-snep:# slackpkg update
root@voip-snep:# slackpkg upgrade-all

4] Com tudo atualizado entre na pasta /usr/src
root@voip-snep:# cd /usr/src

Agora vamos fazer o download dos softwares que vamos utilizar, utilize o WGET para isto
root@voip-snep:# wget url (veja as url abaixo)

Dahdi Drivers & Tools http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/releases/dahdi-linux-complete-2.3.0.1+2.3.0.tar.gz
Asterisk Slackbuild http://slackbuilds.org/slackbuilds/13.1/network/asterisk.tar.gz
Asterisk 1.6.2.11 http://www.asterisk.org/downloads/asterisk/releases/asterisk-1.6.2-current.tar.gz
Asterisk Addons http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.2.1.tar.gz
Asterisk Sounds pt_BR http://downloads.sourceforge.net/project/disc-os/Disc-OS%20Sounds/1.0-RELEASE/Disc-OS-Sounds-1.0-pt_BR.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fsettings%2Fmirror_choices%3Fprojectname%3Ddisc-os%26filename%3DDisc-OS%2520Sounds%2F1.0-RELEASE%2FDisc-OS-Sounds-1.0-pt_BR.tar.gz&ts=1282057317&mirror=ufpr
phpMyAdmin http://ufpr.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.5/phpMyAdmin-3.3.5-all-languages.tar.gz
Snep Livre http://ufpr.dl.sourceforge.net/project/snep/snep/stable/snep-1.2.0.tar.bz2

5] Compilar o DAHDI
Está parte segue o basico
root@voip-snep:# cd /usr/src

root@voip-snep:# tar xvf dahdi-linux-complete-2.3.0.1+2.3.0.tar.gz
root@voip-snep:#
cd dahdi-linux-complete-2.3.0.1+2.3.0
root@voip-snep:# make all
root@voip-snep:# make install
root@voip-snep:#
modprobe dahdi

6] Compilar Asterisk e os addons
root@voip-snep:# cd /usr/src
root@voip-snep:# tar xvf asterisk.tar.gz
root@voip-snep:# mv asterisk-1.6.2-current.tar.gz asterisk
root@voip-snep:# cd asterisk
root@voip-snep:# sh asterisk.Slackbuild
root@voip-snep:# installpkg /tmp/asterisk-1.6.2.11-x86_64-1_SBo.tgz

Addons
root@voip-snep:# ln -s /usr/lib64/asterisk/ /usr/lib/asterisk
root@voip-snep:# tar xvf asterisk-addons-1.6.2.1.tar.gz
root@voip-snep:#cd asterisk-addons-1.6.2.1
root@voip-snep:# ./configure
root@voip-snep:# make
root@voip-snep:# make install
root@voip-snep:# make samples

7] Configurar Apache, PHP e MySQL
MySQL
root@voip-snep:# mysql_install_db
root@voip-snep:# chown -R mysql.mysql /var/lib/mysql
root@voip-snep:# chmod +x /etc/rc.d/rc.mysqld
root@voip-snep:# /etc/rc.d/rc.mysqld start
root@voip-snep:# mysqladmin -u root password ESCOLHASUASENHA
root@voip-snep:# mysql_secure_installation

Apache e PHP
root@voip-snep:# vi /etc/httpd/httpd.conf
- Procure a linha #Include /etc/httpd/mod_php.conf e tire o # da frente
- Procure por:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
- E mude para
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
- Saia e salve :wq!
root@voip-snep:# vi /etc/httpd/php.ini
- Procure por register_globals Off, e mude para On
- Procure por register_argv_argc Off, e mude para On
* Eu não gosto de usar register_globals On, pore o código do SNEP ainda precisa de uma melhora para poder desligar o Globals.
- Saia e salve :wq!

root@voip-snep:# echo “<?php phpinfo(); ?>” > /var/www/htdocs/info.php
root@voip-snep:# chmod +x /etc/rc.d/rc.httpd
root@voip-snep:# apachectl start
(ou restart)
root@voip-snep:# lynx localhost
(para testar se ta tudo ok com o apache e o php)

8] Instalar pypMyAdmin
root@voip-snep:# cd /usr/src
root@voip-snep:# tar xvf phpMyAdmin-3.3.5-all-languages.zip
root@voip-snep:# cd phpMyAdmin-3.3.5-rc1-all-languages
root@voip-snep:# cp config.sample.inc.php config.inc.php
root@voip-snep:# vi config.inc.php

- Procure por $cfg['blowfish_secret'] = ; e mude para $cfg['blowfish_secret'] = ‘SnepLivre’;
root@voip-snep:# cp -a phpMyAdmin-3.3.5-rc1-all-languages /var/www/htdocs/myadmin

9] Instalar e configurar o Snep
Agora vem a parte mais interessante.
root@voip-snep:# cd /usr/src
root@voip-snep:# tar xvf snep-1.2.0.tar.bz2
root@voip-snep:# cp -a snep-1.2.0 /var/www/htdocs/snep
root@voip-snep:# ln -s /var/www/htdocs/snep/ /var/www/snep
root@voip-snep:# cd /var/www/snep/install/etc
root@voip-snep:# cp -arf asterisk /etc

Nesta parte na instalação padrao do snep iriamos passar as configurações de ODBC para o asterisk, porem nesta instalação eu não uso ODBC pois meu asterisk já conecta diretamente no MySQL através do Asterisk-Addons.

root@voip-snep:# cd /etc/asterisk
root@voip-snep:# rm cdr_odbc.conf res_odbc.conf
root@voip-snep:# vi cdr_mysql.conf

[global]
hostname=localhost
dbname=snep25
table=cdr
password=sneppass
user=snep
port=3306
sock=/var/run/mysql/mysql.sock

root@voip-snep:# vi res_mysql.conf
[general]
dbhost = localhost
dbname = snep25
dbuser = snep
dbpass = sneppass
dbport = 3306
dbsock = /var/run/mysql/mysql.sock

10] Finalizando
root@voip-snep:# chmod +x /etc/rc.d/rc.asterisk
root@voip-snep:# /etc/rc.d/rc.asterisk start

Agora acesse pelo navegador http://IPDOSERVIDORDOSNEP/snep
Login: admin
Senha: admin123

Bom eu escrevi este tutorial muito tempo depois de ter instalado o servidor, não tenho 100% de certeza que os passos estão certos, mas vocês podem olhar pelo tutorial no site do snep caso falte algo e etc. Eu fiz umas modificações na tela inicial do snep pois ele não estava mostrando os campos certos, creio eu por causa de um problema com a versão do asterisk 1.4 para o 1.6, especificamente no arquivo database_show.php, na função ramalInfo, se você manja um pouco de php vai saber o que deve alterar. Pois eu nem lembro mais :D .

Recomendo muito você se cadastrar na comunidade do SNEP LIVRE, tem muito conteúdo bom lá, eu mesmo já fiz dezenas de perguntas e boa parte delas respondidas, e sua duvida pode ter sido a minha. http://www.sneplivre.com.br/index.php?option=com_kunena&Itemid=5

Bom próximo post vou passar como configurar o MONAST (Asterisk Monitor).

   
Oxente.org