AION: Como reduzir seu lag

A cerca de 1 mês comecei a jogar  “Aion – The Tower of Eternity” , um jogo do genero “Massive Multiplayer Online Role-Playing Game” (MMORPG) lançado recentemente no mercado americano pela empresa NCSoft, a mesma produtora do Lineage II, tenho gostado bastante do jogo.

Infelizmente a grande maioria dos brasileiros que estão jogando o Aion vem enfrentando um problema que é “fatal” em jogos centrados em PVP (Player versus Player) , a alta latência no acesso aos servidores americanos. Na modalidade PVE o lag não chega a ser um problema muito grande, nas no combate contra outros jogadores é pois jogar com algumas centenas de milesgundos a mais de latencia que o seu oponente pode significar a diferencia entre vencer e perder.

Para terem uma idéia melhor vejam abaixo qual o ping que eu tenho no servidor Triniel (East Coast) nesta manhã de domingo, jogando a partir da rede do Net Virtua em uma conexão de 12 Mbps.

aion00

Ao longo do dia, a latência sobe e chega muitas vezes a estabilizar na casa dos 1200 ms.

Felizmente existe usa solução relativamente simples para este problema de latência, que é se conectar o jogo usando um servidor de proxy localizado em solo americano.

Sei que a principio pode não fazer muito sentido esta idéia, já que a inclusão de alguns hops a mais no caminho da sua conexão deveria ter o efeito inverso,  mas o importante é que funciona 🙂 , e muita gente joga desta forma.

Para poder usar a dica abaixo você vai precisar juntar o conhecimento de 2 posts anteriores meus:

O tutorial de VPS pode ser “dispensado” caso você já tenha acesso ssh a algum servidor em solo americano 🙂

Agora que você já sabe como criar seu servidor de proxy, você precisa fazer com que o jogo se conecte através dele, o que a primeira vista parece ser um problema visto que ao contrário do que mostrei no tutorial do SSH, o cliente do Aion não possui nativamente uma opção de configuração para uso de um proxy como no caso do Firefox.

Para resolver este “problema” devemos fazer uso de aplicativos criados especificamente com o objetivo de “tunelar” o trafego de rede de aplicativos que não suportam nativamente o uso de proxies.

No mercado existem varias opções gratuitas e pagas de softwares que realizam estas funções, os mais usados são:

  • Free4cap – Aplicativo Freeware
  • Widecap – Aplicativo Freeware
  • Proxycap – Aplicativo Comercial com periodo trial disponivel
  • Proxifier – Aplicativo Comercial com periodo trial disponivel

Todos os softwares acima são simples de configurar e funcionam em principio da mesma forma, ou você define quais portas TCP/UDP de saida eles vão interceptar e redirecionar ou você especifica diretamente qual o aplicativo o qual terá 100% do seu trafego redirecionado.

No meu caso eu uso a alguns anos o Proxycap, acho que foram 30 USD bem investidos, mas fique a vontade para usar a opção que atender melhor suas necessidades.

Feitas estas considerações vamos ver como seria a configuração em si, já assumindo que vc tem acesso ao ssh a um servidor unix/linux 🙂

1.o Passo – Configurar o redirecionamento dinamico de portas no putty

Basicamente abra o Putty SSH, carregue a sessão desejada para o seu servidor remoto, depois va em Connection -> SSH -> Tunnels, e crie o redirecionamento dinamico desejado, para isso escolha uma porta qualquer, no exemplo abaixo escolhi a 1080, marque a opção “Dynamic” e deixe a opção “Auto” selecionada. Feito isso clique no botão em “ADD” para completar a criação.

proxy04

Depois de clicar em “Add” você irá visualizar a regra como mostrado abaixo:

proxy05

Agora que alterou a sua sessão SSH lembre-se de salvá-la, para isso volte em “Sessions” e clique no botão Save.

2.o Passo – Configurar o ProxyCap

A configuração do proxycap é super simples 🙂

Uma vez que você carregar o aplicativo ele irá aparecer como um icone vermelho no seu systray, clique com o botão direito nele e escolha a opção “Preferences”, será exibida a tela abaixo:

proxy000

Nesta tela você deve selecionar inicialmente a opção “Proxies” dentre as opções da coluna da esquerda, será exibida a tela abaixo:

proxy0000

Nesta tela, você deverá clicar no primeiro botão, é um quadradinho branco com uma estrelinha amarela, passando o mouse nele vai aparecer a mensagem “New Proxy Server”, ao clicar neste botão irá abrir a seguinte tela:

proxy01

Para criar o seu proxy, basta selecionar a opção “Socks V5” no campo “Type”, entrar com o endereço 127.0.0.1 no campo “Host”, e digitar a porta TCP que você escolheu quando estava configurando o tunel no Putty SSH no campo “Port”, no nosso exemplo devemos usar a porta 1080. Para concluir a criação clique no botão OK, se tudo correu bem o resultado desta operação vai ser a tela abaixo:

proxy00

O próximo passo será criar a nossa regra de interceptação, para isso selecione o item “Rules” na coluna da esquerda, e será exigida a tela abaixo:

proxy0002

Clique no botão para adicionar uma nova regra (mesmo icone da etapa anterior), e será exibida a tela abaixo:

proxy03

A forma mais simples de criarmos a regra para o Aion, é optar por interceptar a porta TCP utilizada pelo cliente do jogo independente do aplicativo, se optarmos por interceptar 100% do trafego do cliente do jogo (lembre-se que no caso do Aion o cliente é o proprio launcher da NcSoft) teremos problemas com a atualização automatica que ocorreria também pelo proxy e não é o efeito que desejamos, certo ?

Desta forma, para configurarmos a regra devemos selecionar a opção “Tunnel trought proxy” no campo “Rule Type”, devemos escolher no campo “Proxy Server”  o proxy que criamos na etapa anterior, no nosso caso “127.0.0.1:1080”. No campo Application selecione a opção “All programs”. No campo “Transports” deixe marcada apenas a opção “TCP”. No campo “Destination IP Range” deixe marcada a opção “Not Restricted”e no campo “Destination Port Range” selecione a opção “Specify” e entre com a porta TCP utilizada pelo Cliente do Aion, 7777.

A regra acima irá interceptar e redirecionar para o proxy todo o trafego de saida do seu computador destinada a porta TCP/7777 independente do aplicativo que gerou o tráfego e do endereço IP de destino. Observe que se se você deixasse no campo “Destination Port Range” a opção “Not Restricted” o efeito prático seria que 100% do seu trafego de rede (MSN, Web, IRC, P2P, etc) iria trafegar pelo seu proxy, o que pode ou não ser util em algumas situações.

Para finalizar a criação da regra, basta clicar no botão OK.

Se tudo correu dentro do esperado, você irá ver a tela abaixo:

proxy02

Para finalizar a configuraçãobasta clicar no botão “OK”.

3.o Passo – Como se conectar através do proxy

Para se conectar ao Aion através do proxy é muito simples basta você estabelecer a conexão SSH com o seu servidor, carregar o Proxycap e entrar normalmente no jogo 🙂

Para se conectar diretamente ao Aion sem fazer uso do proxy basta você abrir o jogo sem estar com o Proxycap ativo 🙂 , minha unica recomendação neste caso é que evite ficar alternando entre os métodos de conexão, afinal como é fisicamente impossivel para você estar em 2 lugares ao mesmo tempo (você se conecta do Brasil e elguns segundos mais tarde se conecta dos Estados Unidos), a NCsoft pode achar que você ou esta copartilhando a senha com alguma outra pessoa ou que você está usando algum Serviço de Power Level , o que é proibido pelo EULA do jogo. Neste caso você pode acabar tendo a conta suspensa até explicar a eles que estava apenas usando um proxy.

Depois de tantas telas você deve estar se perguntando se compensa esta configuração toda, eu acho que sim… o efeito prático de tudo isso pode ser visto abaixo:

aion2

Uma redução da minha latência no jogo de 421 ms para 231 ms, ou seja, um lag 45% menor. A principal vantagem é que minha latencia fica estavel entre 200 ms e 240 ms, e não fica oscilando da forma como ocorre quando me conecto diretamente com ranges variando de 400ms e 1200ms .

Observações

Existem empresas que vendem exatamente o serviço que eu expliquei aqui, como por exemplo a SmoothPing ou o Gamepath que vendem o serviço de proxy para o Aion por US$ 6,00 / mês , com certeza sai mais barato do que manter seu próprio servidor, porém eu prefiro ter a segurança de que apenas eu estou usando o proxy. Recentemente a NCsoft baniu/suspendeu diversos jogadores brasileiros que usavam o Smoothping pois identificaram muitos “Kinah Farmers” se conectando dos IPs deles.

O ideal na minha opinião é juntar os amigos do seu clan e alugarem em conjunto um servidor um servidor virtual com 256Mb de memoria la na RackSpaceCloud e com ele criar seu servidor particular de proxy.

O custo mensal vai ser um fixo de  US$ 11,00 + um custo variável de USD 0,30 por GB consumido de tráfego, o que rateado por varias pessoas vai sair mais barato que o custo da smoothping.

Como referencia o consumo de tráfego aqui oscila de 8 MB de transferencia por hora a 24 MB de transferencia por Hora, depende muito do que estou fazendo no jogo.

Se tomar este consumo como referencia, um jogador que jogar 8 horas por dia (que ja acho um absurdo rs) vai consumir em 1 mês de 1,9 Gb e 5,7 Gb, que em dolares representariam um gasto em tráfego de US$ 0,58 a US$ 1,73 se você estiver utilizando um servidor virtual la da RackSpaceCloud.

Se você usar o servidor em conjunto com outros amigos, a partir de 3 pessoas  (se calculado pelo limite superior de consumo)  ou apartir de 2 pessoas (se calculado pelo limite inferior de consumo) o custo mensal do proxy próprio já será menor que o da Smoothping, se você estiver dividindo o server por exemplo com 10 amigos, o custo para cada um deve ficar entre US$ 1,66 e US$ 2,83.

Desta forma vocês terão o beneficio de uma latência menor, sem os riscos associados ao uso de um proxy “publico”, que na minha opinião vão além do risco de uma suspensão da conta.

Mas lembrem-se que se o proxy for configurado errado e vocês passarem a trafegar outras demandas por ele, o custo será imprevisivel e pode sair bem caro!

E antes que alguém pergunte, sim esse mesmo método de redução de latencia pode ser usado para outros jogos tais como WOW, Eve-Online, etc. Basta configurar o proxycap para interceptar as portas TCP usadas por estes jogos.

Bom jogo 🙂

[]´s Edson

One Response to “AION: Como reduzir seu lag”

  1. caraca…muito bom isso…apesar de não entender nada de ti, vc foi bem claro e preciso nas informações…
    parabens…vou acompanhar mais de perto o seu blog…