Jogos em Linux? Desafios de uma lan house

Por:
Jogos em Linux? Desafios de uma lan house
A primeira Lan House em Linux do País

Foi a minha primeira empresa, a realização de um sonho. Lembro-me como se fosse hoje, eu e meu tio estávamos entrando em sociedade para abrir uma pequena firma de manutenção, compra e venda de microcomputadores usados, meu pai aproveitou a oportunidade e montou um pequeno home studio para complementar os serviços que oferecíamos, em fevereiro de 2003 entrava em atividade o Estúdio Criativa.

Santa Cruz do Rio Pardo, este é o nome da cidade. São cerca de 45.000 habitantes, o povo é pacato e hospitaleiro, bem no estilo de cidade pequena no interior do estado. Eu gostava disso, porém, a estrutura de serviços do Estúdio Criativa não era comportada pela cidade e nossa verba era curta para propagandas regionais. Foi quando comecei a lembrar de uma vontade que tive quando mudei para a cidade em 1998, que era de montar um estabelecimento cheio de microcomputadores em rede com jogos, havia na época oferecido para algumas pessoas a idéia mas todos achavam um pouco absurdo, pensei então que agora poderia ser a minha vez. Eu já estava com 4 microcomputadores modestos, eram uns K6-2 500Mhz com 128Mb de memória que usava para dar cursos de programação de jogos. Contei minhas idéias para meu funcionário na época, Tiago Leal, que gostou muito e se interessou em investir, pois tinha um pai que poderia ajudar desde que visse a possibilidade do filho crescer com o negócio, e foi o que aconteceu. E Tiago então se tornou sócio da Criativa. Coincidentemente, meu primo, filho do meu primeiro sócio, foi para uma cidade próxima e conheceu uma Lan House, ficou encantado e se empolgou com a idéia de montar uma, e é daí que surgiu a união, onde Gleison e Tiago ajudaram com o capital e eu fiquei com todo o desenvolvimento de software.

O Estúdio Criativa estava se tornando a Lan House Criativa, meu pai se retirou da empresa para seguir uma “carreira solo” como cantor e DJ, meu tio ficou assistindo de camarote seu filho e seus sobrinhos (o Tiago era sobrinho da esposa do meu tio) a tentarem erguer um sonho. Gleison cuidou da parte visual, Tiago procurava ajudar da forma que dava mas sua maior contribuição foi o capital inicial para dar entrada nos microcomputadores e eu cuidava do desenvolvimento dos softwares e composição física e lógica de toda a rede.

E começava a batalha:
Linux em uma Lan House

Fiquei sentado na frente de um microcomputador durante quase 2 meses tentando desenvolver alguma solução prática e econômica para montar a Criativa. Foi difícil, chegava às 8 da manhã e saía até às 3 da manhã do dia seguinte, tive grandes companheiros que presenciaram essa jornada, que foi bem recheadas com batatas fritas e refrigerantes. Um dos “zumbis” mais persistentes dessas minhas noitadas foi meu amigo, Mario Nobile, que insistia em acompanhar o desenvolvimento e não me deixar sozinho. Testei várias distribuições de Linux, entre elas o Mandrake, Conectiva e Slackware, mas a luz divina ocorreu quando fui numa banca e vi o tal de Linux Kurumin em uma revista, fiquei bastante surpreso com a história inicial do sistema, era um “tal” de Carlos Morimoto que o fazia por hobby nas horas vagas, foi quando pensei: acho que é desse tipo de coisa que preciso.

Talvez muitos podem pensar: “Pombas! Porque não pegou o Slackware?!”… Pensem comigo, era Julho de 2003, fazia uns 2 anos que não encostava as mãos no Linux, o WineX (hoje Cedega) era mediano na época, pra melhorar precisava de uma distro fácil mesmo, assim ao menos pouparia o trabalho de reaprender comandos e centralizar esforços em rodar jogos. O tempo não estava a meu favor, o prazo máximo para abrir a Lan era para Setembro de 2003.

Instalei então o Kurumin na minha máquina e fiquei maravilhado, pois não é que o cara tinha feito um trabalho decente? Foi bem fácil o começo, mas quando deparei com os jogos de Windows que não rodavam e com as dificuldades na época de se configurar o Wine X para rodar os jogos quase desisti. Depois de uma bela dose de paciência e insistência consegui rodar bons jogos nativos e alguns jogos através do Wine X, eu sabia que não estava tudo perfeito mas tinha certeza de que com o tempo as coisas poderiam melhorar, e foi o que aconteceu, quando uma semana antes de abrir a Lan House saía o Kurumin 2.0, me impressionei novamente com as atualizações constantes do sistema, onde percebi que poderia tirar grandes proveitos disso.

gdh1
Atrasei um pouco a abertura da Lan House, refiz tudo para a nova versão do Kurumin e começamos os testes, na época não haviam Lan Houses na cidade e qualquer diferença de desempenho era praticamente ignorada pelo pessoal pois não haviam medidas de comparação ainda (veja a foto).

Para mim estava tudo bem pois era acostumado com jogos em rede via DOS e qualquer anomalia ou atraso nos movimentos considerava normal, achava que era “coisas de jogos em rede”. Meu forte não eram jogos multiplayer com um número de jogadores considerável, pois eu nunca tive uma Lan House para servir de “cobaia” para testes, foi apenas com o tempo que percebi que os jogos atuais tinham um grande trabalho na área de controle de fluxo de dados para o multiplayer, a tecnologia avançou rápido neste quesito e fiquei para trás, ao perceber isso tive a certeza de que teria dores de cabeça nesta parte tendo consciência que levaria tempo para deixar as coisas do jeito que deveriam ser.

gdh2
Finalmente no final de outubro de 2003 foi inaugurada a Lan House Criativa, com seus 10 microcomputadores para jogos e 4 microcomputadores para acesso a internet, que eram os mesmos que usava para dar aulas. Notem que ainda havia o subtítulo do Estúdio Criativa, que era “som, imagem e informática”.

O lugar era pequeno mas aconchegante, talvez até mais do que a Criativa que montamos posteriormente. Depois de toda a minha jornada como proprietário de uma Lan House passei a acreditar que lugares imensos não sejam o alvo do público que freqüenta as Lans, não que seja improvável montar uma Lan House em um imenso galpão, mas seria indispensável manter alguns micros pertos e deixar propositalmente lugares onde haverá focos de freqüentadores. Percebi que um lugar menor e confortável deixava as pessoas mais à vontade, fator fundamental principalmente em uma cidade pequena onde praticamente todos se conhecem.

O ambiente físico do estabelecimento estava ótimo, mas ainda haviam alguns problemas com os drivers de som que insistiam em parar de funcionar no Counter-Strike, sem contar alguns jogos via Wine X que tinham uma perda de performance perceptível. Alguns jogos nativos ainda não ficavam perfeitos, não estava tudo “redondo” do jeito que eu queria, mas ainda tinha a certeza de que tudo iria melhorar, algo que no fim das contas se provou verdadeiro.

gdh3
gdh4
gdh5
gdh6
Nas fotos você vê as mesas de espera com os microcomputadores novos ao lado esquerdo, nas mesas sem divisória estão os microcomputadores K6-2 que usava para o acesso a internet, a seguir o balcão com o servidor de jogos e o monitor com a imagem do software de controle de tempo.

Ao iniciar as atividades começaram as dúvidas, fui atrás então das respostas pela internet, conheci o fórum do Kurumin dentro do Guia do Hardware, fiz minha primeira pergunta sobre como instalar o java no Nestcape e o boom veio como uma grande explosão… Descobri ser a primeira Lan House movida a Linux do país! Não era possível, eu dei um tiro no escuro e quando acendi as luzes abati um elefante branco, achava que muitos já usavam Linux em Lan Houses, mas com algumas pesquisas encontrei apenas pessoas que usavam em alguns raros Cyber Cafés na época e que alguns tinham problemas que eu já tinha conseguido solucionar. A mistura do acaso e do meu fascínio pelo Linux resultou na Lan House Criativa.

Quando hoje menciono a primeira 100% Linux pode parecer estranho pois eu sempre recorri ao WineX / Cedega, o que acaba por ter jogos de Windows no estabelecimento. A referência a 100% Linux é que o sistema está lá, com tudo configurado, funcionando, com vários jogos e aplicações nativas, mas usar jogos de Windows acaba se tornando uma obrigação para se “sobreviver” no mundo das Lans, notem que para usar estes jogos ainda é necessário programas de Linux, então mesmo que existam títulos de Windows sem o Linux nada rodaria, são apenas jogos, não o Windows em si.

Na época não haviam tantos títulos multiplayer de qualidade que pudessem suprir a febre Counter-Strike, não adianta chegar com Quake ou Unreal, o pessoal queria ver armas de verdade.

Hoje esta realidade mudou e bons jogos nativos mais focados em combates reais surgiram e acredito tanto que uma Lan House possa ser isenta de jogos de Windows que criei o pacote (prefiro não chamar de distribuição) Kurumin eXtreme Small Edition, que é puramente Linux em todos os sentidos, nem jogos de Windows e nem otimizações pra isso ele possui.

Voltando a história, para sanar alguns problemas, como a falta de um software de controle, desenvolvi em DOS um pequeno programa para controlar o tempo e criei um dispositivo simples para desligar e ligar os monitores manualmente a distância, a “caixa mágica”.

gdh7
gdh8
Na primeira foto você confere a caixa mágica, os botões estão dispostos conforme a posição dos microcomputadores no estabelecimento. A foto seguinte mostra o impagável monitor laranja, que pintamos pois ele estava tão velho e sujo que foi a única solução. Inacreditavelmente era um monitor CGA colorido, uma raridade, ao qual liguei um 486 com 4Mb de memória e instalei na época o FreeDOS. Realmente eu economizava onde podia.

Em pouco tempo a Lan House se tornou apertada e o número de microcomputadores ficaram insuficientes, as férias e o fim do ano estavam próximos e tínhamos que tomar uma decisão rápida, ou continuava como estava ou teríamos que ir para um lugar maior e comprar mais micros, pois um mês depois de abrir a Lan House já havia se instalado um concorrente na cidade. Era ficar e o bicho pegar ou correr e o bicho comer…

Em dezembro de 2003, 2 meses após a inauguração da primeira Lan House Criativa, mudamos de ponto e financiamos mais 10 microcomputadores.

gdh9
Tenho que confessar que já não estava fácil manter uma rede com 14 microcomputadores, na época havia algo errado e muitos dos jogos davam lag freqüentemente e a performance em multiplayer oscilava demais. E o que dizer de 24 microcomputadores? O começo foi terrível, passei mais de 4 meses para procurar soluções e recebi uma grande ajuda do pessoal responsável pelo provedor de internet da cidade, tivemos que dividir a rede em 3 pontos, onde o servidor de jogos recebeu 2 placas de rede que eram divididas para cada 10 microcomputadores de jogos e os 4 micros para acesso a internet ficaram em outra rede isolada. No geral até resolvia, mas não ficava perfeito, pois eu sabia que o problema era resultante da performance insatisfatória dos três “supostos” switches (que distribuíam a rede) somado a algum problema de software ao qual estava fazendo de tudo para solucionar.

O Clone X

Quando foi lançado o Kurumin 3.0, decidi fazer algo novo com a implementação. Fiz mudanças radicais, o que incluía o uso do Kernel 2.6.7 otimizado para Athlon, recompilei este kernel removendo inúmeros recursos que não eram usados pelos micros na Lan House, removi todos os serviços iniciados que também não eram necessários, apliquei patches e me desdobrei para melhorar a performance dos jogos e da rede. O ganho foi assustador, além de que alguns problemas simplesmente desapareceram, o som ficou estável graças ao servidor Arts e aos drivers Alsa, e com a nova geração do Wine X 4.0, que ganhou o nome de Cedega, algumas coisas ficaram mais fáceis de fazer. Decidi batizar essa conquista de CloneX versão 1.0, que era o marco da performance igual ou superior ao Windows. Este nome foi dado pois desenvolvia tudo apenas em um micro, depois clonava a imagem para todos os outros, o X veio do meu sobrenome, Xavier.

gdh10
Como nem tudo são flores, ainda haviam problemas que persistiam, um dos mais chatos foi relativo a febre Counter-Strike, quando o jogo passou para a versão 1.6 virou um verdadeiro pesadelo para algumas Lan Houses, a nova plataforma criada pela Valve para facilitar o acesso aos jogos online, chamada de steam, roubava a largura de banda da internet e obrigaram diversos usuários a usar versões crackeadas (NoSteam) que não faziam autenticação online, foi o único recurso que encontrei para resolver os problemas de consumo excessivo de largura de banda e acabei recorrendo a ele também. Não vi nada de errado a partir do momento que tinha as cópias originais do Half-Life, que na época bastavam para estar legalizado (hoje a Valve mudou isso). Apenas usei um recurso para facilitar o emprego do jogo no estabelecimento, e o pior não estava aí, o Cedega demorou para apresentar um suporte maduro com jogos da plataforma steam, o problema mais estranho era a diferença de balística no Counter-Strike, ao qual apesar dos FPS e performance geral estarem sustentáveis, os tiros ficavam estranhos, onde o jogador era obrigado às vezes a descarregar um pente inteiro para eliminar um oponente a queima roupa ou casos onde armas mais fracas conseguiam proezas fantásticas mesmo a grandes distâncias. Assim acabei comprando uma grande briga com os jogadores entusiastas que começaram a reclamar do problema.

Começou a grande onda “anti linux” entre alguns clientes, uns se dividiram e passaram a freqüentar definitivamente o concorrente enquanto outros confiavam em mim e sabiam que poderia resolver o problema. O desafio foi exatamente esse, pesquisar na internet não era mais uma opção, pois quantas Lan Houses com Linux existiam para me ajudar com estes problemas mais específicos? Testei de tudo, desde loucuras como passar todo o sistema para a versão unstable dos pacotes Debian até mesmo remover detalhes do jogo, o que odiava fazer, gosto de velocidade mas mantendo a qualidade gráfica, algo que já não é o forte do Counter-Strike 1.6 (para isso veio o source).

gdh11
Testes e mais testes, foi o que fiz para criar a versão 2.0 do CloneX, que eu prometi aos meus clientes que resolveria os problemas do Counter-Strike e daria ainda mais performance… O duro foi prometer algo que ainda não tinha a mínima idéia de como fazer. Neste momento contei com grandes amigos que me apoiaram, entre um dos maiores beta testers destaco o Raphael “Kaos”, na foto acima testando a performance do novo CloneX.

Quando saiu o Kurumin 4.0 preview 2, o instalei logo de cara e meio que em uma atitude desesperada veio mais uma descoberta ao acaso, resolvi testar um jogo rodando através do gerenciador de janelas fluxbox e desligando quase todos os serviços do sistema, primeiramente houve um ganho de aproximadamente 80 Mb de memória e se tratando de micros com 256Mb esta vantagem foi grande, e o melhor… O problema do Counter-Strike ficou resolvido!! Mas que diabos de ligação teria isso com o jogo? Cheguei a algumas conclusões, uma delas é que o KDE ainda consome o micro mesmo quando está em background e este consumo simplesmente causava anomalias nos jogos via steam executados através do Cedega, estranho, não? Hoje sei que o pessoal da Transgaming, responsáveis pelo Cedega, tem problemas com recursos recentes demais e alguns serviços do sistema, até costumo dizer que o Cedega é tão sensível que se falar alto perto do micro o jogo fica mais lento 😉

A comunicação da rede ficou boa com toda essas melhorias, tanto que todos os micros foram capazes de prover internet aos usuários sem dificuldades e os 4 microcomputadores mais antigos se aposentaram para uso dos clientes e se transformaram em servidor de internet, caixa e micros de trabalho respectivamente.

O grande ganho principalmente na transferência de arquivos maiores ocorreu mesmo graças a aquisição de um switch de marca mais conhecida, no meu caso foi um da 3Com (olha a propaganda!), que provou o porquê de ter um preço superior. Afirmo que compensa muito adquirir um switch de melhor porte ao montar uma rede, principalmente de jogos, apesar da quantidade de informações usadas para a transferência de dados de jogos ser pequena o que importa é a constância e consistência desses dados, algo que apenas um switch com um hardware melhor concebido é capaz de fazer com maior eficiência.

Atualmente a minha implementação de Linux Kurumin em Lan Houses usa o icewm com o idesktop, que gerencia a apresentação dos ícones na tela. Diversas incompatibilidades se resolveram graças ao excelente trabalho do Morimoto ao atualizar o Kurumin e a toda comunidade sempre pronta a ajudar. Problemas com o acesso a sites que usam streaming de áudio ou vídeo reduziram de forma gritante, existem ainda algumas pequenas falhas de exibição de sites, principalmente os que usam a linguagem java, mas estes problemas são acarretados graças a uma má programação da parte dos desenvolvedores que não verificam a compatibilidade com outros navegadores e produzem códigos fora do padrão.

Estava agora tudo bem e todo mundo feliz, porém, ainda faltava algo, um software gerenciador de Lan Houses que fosse eficiente para controlar os microcomputadores de forma automatizada, então decidi pegar aquele programa em DOS que fiz para quebrar o galho, somei algumas partes de um sistema operacional que comecei a desenvolver há alguns anos atrás e surgiu então o LanBr.

O LanBr

LanBr foi o nome para iniciar um projeto que fatalmente teria que nascer, um software de controle e gerenciamento de Lan Houses e Cyber Cafés movidas a Linux. Sabia que um dia a caixa mágica teria que se aposentar, afinal era uma solução interessante mas insuficiente para grandes estabelecimentos, então voltei esforços para controlar os micros de forma automática criando o cliente e o servidor LanBr.

O servidor LanBr é executado de uma forma relativamente estranha, mas justificável. O programa ainda é feito para DOS (mas é executado no Linux), é programado em pascal com algumas chamadas em assembler para rotinas gráficas e interrupções de tempo, se eu tinha algumas milhares de linhas já feitas e só faltavam ser somadas e reprogramadas, decidi não perder tempo e escolher este caminho.

O DOSEmu e o FreeDOS são a ponte entre o LanBr e o Linux, que se comunicam através de arquivos de pipe. Esses arquivos ficam em diretórios específicos que contém dados a serem interpretados pelo cliente LanBr, que este por sua vez também pode escrever arquivos pipe para serem interpretados pelo servidor LanBr. Parece confuso, mas isso abre grandes portas para outros desenvolvedores, que podem interpretar os dados através de outros programas, facilitando a criação de ferramentas adicionais, como um programa para consultas via web e acesso a outros recursos interessantes, por exemplo.

A camada de emulação do DOSEmu não compromete a performance, tanto que o LanBr pode facilmente ser executado em um mero Pentium 233 com 32Mb, desde que o Linux esteja usando apenas texto puro sem o servidor X.

O LanBr é um programa gráfico e não usa bibliotecas do Linux para apresentá-los, afinal, ele ainda é executado em uma máquina virtual DOS. Tenho planos para portar o programa para o pascal nativo do Linux, como o FreePascal, mas pretendo antes terminar todo o LanBr com a implementação de recursos indispensáveis para o estabelecimento, após isso pensarei em alguma mudança mais radical.

A minha despedida da Lan House Criativa

Antes de iniciar este assunto, preciso deixar claro que os motivos que culminaram na minha saída pacífica e de plena vontade da empresa foi o de intensificar meus esforços em realizar diversos projetos que tenho em mente, o que obviamente inclui uma implementação cada vez melhor do Linux Kurumin em Lan Houses e ministrar cursos e palestras pelo país.

Com a implementação de uma rede de microcomputadores maior e um estabelecimento conseqüentemente maior também, tivemos que entrar em um financiamento no banco, que com muito suor conseguimos honrar mas consumiu demais as reservas da empresa e o país começou a passar por oscilações econômicas que refletiram no poder aquisitivo de boa parte dos nossos clientes, o que acarretou em uma diminuição da renda do estabelecimento de forma considerável, nos obrigando a dispensar alguns funcionários e trabalhar mais para continuar a honrar os compromissos. Com a reserva de capital baixa nenhum dos sócios faziam retiradas, cada um tinha que trabalhar apenas para manter a empresa e esperar a crise passar.

Em janeiro de 2005, eu já estava me sentindo cansado do expediente agressivo que acabei me impondo, já iriam fazer quase 2 anos sem férias, ao qual só tirava “folga” mesmo quando ficava doente ou em alguma situação realmente extrema. No começo do percurso meu primo Gleison resolver partir para outras áreas e devolveu o controle da sociedade para seu pai, então por fim ficaram como sócios eu, meu tio Samuel Oliveira e Tiago Leal.

Meu tio sempre foi um homem de muita garra para conquistar seu espaço na vida, ele já possuía seus bens e vida estável antes do início da empresa e fez a sociedade comigo para me ajudar e para complementar melhor a sua futura aposentadoria, ele é uma pessoa leiga em microcomputadores e muitas vezes não compreendia o tempo que eu ficava na frente do micro, foi o principal investidor financeiro da Lan House e se encaixou neste quesito por deixar claro que não poderia estar fisicamente trabalhando na empresa. O Tiago ficava responsável pela parte do atendimento aos clientes, é um cara jovem e gosta muito de compor músicas (ele é bom nisso!) e deseja aprender a ser um grande empresário tendo a Lan House como uma empresa modelo para a sua aprendizagem. Finalmente, eu queria apenas continuar com meus projetos sem me preocupar com a tarefa penosa de se tocar adiante uma Lan House no sentido pleno, o que incluía a administração, carteira de clientes, suporte, desenvolvimento, manutenção, webdesign, burocracia e o que viesse pela frente, tarefas estas que até a minha saída eram realizadas apenas por mim. Foi neste momento que percebi que todos nós tínhamos objetivos diferentes demais, então anunciei a minha saída da empresa.

Cometi alguns erros? Sim, na verdade, todos nós… Éramos novatos na área e cada um deixou as coisas seguirem o curso da sua forma, o que por meses a fio resultou em um barco administrativo desgovernado. Eu estava preocupado demais com o desenvolvimento de tecnologias e soluções que deixassem o Linux cada vez melhor para Lan Houses, meu tio estava preocupado com as contas mas não tinha mais como investir devido ao mercado estagnado e ainda precisava manter as contas de outras parcerias procurando resolver a situação como podia. Tiago tentava resolver tudo com bom humor e ser otimista dizendo que toda empresa demora para crescer… Então preferi desenvolver de forma terceirizada para eles e deixar que toquem o barco da forma que acharem melhor. Quem está certo? Acho que talvez o Tiago, pois a Criativa no geral só tem uns 2 anos de vida, os grandes administradores sabem que todas as empresas tem seus altos e baixos, deve-se remar mais nas marés baixas e pescar os melhores peixes nas marés altas.

Não houve desistência da minha parte, na verdade decidi “mudar de ares” e centralizar minha energia em outro foco. O período que permaneci como proprietário da Criativa foi fantástico, foi uma grande escola de vida e passei por momentos que me fizeram amadurecer anos em apenas alguns dias.

Quem ganhou na verdade foi a comunidade, assim tenho mais tempo para desenvolver meus projetos e assim abrir mais possibilidades para quem quer ter a sua Lan House ou Cyber Café em Linux 😉

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X