<<

PROTOCOLOS DE JOGOS

Unidade Curricular – Serviços Multimídia em Redes Prof. Eduardo Maroñas Monks Aluno: Marcos Borges

Atividade Supervisionada Prática Remota – Análise de protocolos de jogos em rede

Objetivo: Realizar a análise de protocolos de jogos em rede.

Ferramentas: Wireshark, Tcpdump, Vmware Player, documentação dos jogos

Introdução: Neste roteiro de laboratório, deverá ser analisado um protocolo de jogo em rede, verificando o comportamento das ações do jogo, no cliente e no servidor, com a documentação dos procedimentos para ativação do jogo em rede e análise do tráfego.

Neste trabalho foi escolhido o game : Enemy Territory para que seja analisado o protocolo de rede utilizado pelo game. Também será instalado um servidor do jogo para que mostrar o funcionamento do e o comportamento dos protocolos em uma rede LAN (Local).

O relatório do trabalho não será mostrado de forma escalafobética e sim, em etapas. Primeiramente teremos um breve histórico do game e logo após será mostrado o relatório de instalação do servidor, os protocolos analisados com a ferramenta Wireshark e um vídeo mostrando o game em funcionamento.

MARCOS BORGES 1

PROTOCOLOS DE JOGOS

Wolfenstein

Criado em 1981 pela extinta Muse Software e prosseguido pela ID Softwares e distribuído pela Activision e a Bethesda Softworks. O game inclui aventura, sobrevivência e tiro. Primeiramente lançado para o Apple II com o nome de , os games são baseados na segunda guerra mundial onde temos que fugir de uma fortaleza e sabotar operações nazistas controlando um agente secreto.

Logo após teve a continuação chamada Beyond Castle Wolfenstein em 1984. Em 1987 a Muse faliu e 5 anos depois a reviveu o clássico tornando em um jogo de ação, sendo o primeiro Game Shooter criado, jogo de tiro em primeira pessoa chamado de Wolfenstein 3-D.

Figure 1. Castle Wolfenstein, 1981.

Figure 3. Beyond Castle Wolfenstein, 1984. Figure 2. Wolfenstein 3-D, 1992.

MARCOS BORGES 2

PROTOCOLOS DE JOGOS

Logo após o game ser lançado para DOS em 92, veio uma série de games:

Nome Plataforma/Sistema Ano

Spear od Destiny MS-DOS 1992

Return to Castle Microsoft Windows, 2001 Wolfenstein Linux, OS X PlayStation 2, Xbox

Wolfenstein: Enemy Microsoft Windows, Linux, 2003 Territory OS X

Wolfenstein RPG Para sistemas Java ME e 2008 iOS

Wolfenstein Microsoft Windows, 2009 PlayStation 3, Xbox 360

Wolfenstein: The New Microsoft Windows, 2014 Order PlayStation 3, PlayStation 4, Xbox 360, Xbox One

Wolfenstein: The Old Microsoft Windows, PS4 e 2015 Blood XONE

Não é à toa que Doom parece muito com Wolfenstein, a engine grafica é a mesma e alguns dos produtores são da mesma equipe.

O game Wolfenstein 3-D fez muito sucesso na época em que foi lançado, e logo depois do sucesso os mesmos desenvolvedores produziram os games Doom e Quake, que são jogos do estilo tiro em primeira pessoa.

A partir de 2001 o game foi recriado. Fazendo um reboot da série mudando apenas algumas coisas na história e na jogabilidade. Um tempo depois, em 2003, foi lançado o Wolfenstein: Enemy Territory, sendo um game multiplayer e gratuito.

Já em 2009 foi lançado o Wolfenstein, onde foi melhorado os gráficos e jogabilidade, se comparando aos jogos de tiro/guerra da época. Mas o foco dos últimos jogos, além de fugir e sobreviver ao regime nazista, focam em investigações paranormais. Em 2014, Wolfenstein volta com um jogo totalmente diferente. Chamado de The New Order, ele conta um enredo diferente, onde o game se passe em 1960 em um mondo onde os nazistas ganharam a guerra. O nome do personagem jogável é William Joseph “B.J.”

MARCOS BORGES 3

PROTOCOLOS DE JOGOS

Blazkowicz.

Entre 2012 e 2014 havia rumores de que um filme do game seria produzido, talvez um filme B ou um filme com uma fotografia parecida com a do novo filme do Capitão América: O Primeiro Vingador.

MARCOS BORGES 4

PROTOCOLOS DE JOGOS

Instalação do jogo no Windows

Após fazer a instalação do game que é gratuito, vamos prosseguir com a instalação.

Primeiramente ao clicar duas vezes no arquivo do jogo, vai aparecer a tela com os termos e já podemos avançar clicando em “I Agree”.

Depois deixamos a seleção padrão que aparecerá para que ele instale os complementos do jogo e clicamos e next.

MARCOS BORGES 5

PROTOCOLOS DE JOGOS

Aqui, escolhemos o diretório onde vamos instalar. E clicamos em Install.

O jogo vai instalar e se conectar à internet para fazer download de alguns pacotes necessários. E esperamos ele finalizar a instalação para clicar em Close.

MARCOS BORGES 6

PROTOCOLOS DE JOGOS

Instalação no Linux

Já no servidor que vamos configurar, usamos uma máquina Debian Linux 8, no Vmware Workstation 12 Player. Com 512MB de RAM, 9GB de Hard Disk e placa de rede em Brigde.

MARCOS BORGES 7

PROTOCOLOS DE JOGOS

Para fazer a instalação, em primeiro lugar, é preciso baixar os arquivos do jogo Enemy Territry do Linux. Também e preciso instalar o jogo inteiro para ter um servidor dedicado.

Fiz a atualização do sistema e logo em seguida criei a o diretório wolfenstein para colocar os arquivos.

Fiz o download do arquivo do jogo com o comando: wget http://www.unitedfederationofgaming.com/dist/wolfet/linux/et-linux-2.60.x86.zip

Depois o download do patch de atualização do game com o comando: wget http://www.unitedfederationofgaming.com/dist/wolfet/linux/ET-2.60b-linux.zip

MARCOS BORGES 8

PROTOCOLOS DE JOGOS

Instalei o unzip para descompactar os arquivos “zipados”: apt-get install unzip

Depois descompactei os arquivos: unzip et-linux-2.60.x86.zip

Com o comando ./et-linux-2.60.x86.run fiz a instalação dos pacotes após descompactar eles.

MARCOS BORGES 9

PROTOCOLOS DE JOGOS

Com a barra de espaço passamos os termos até chegar na parte de aceitar.

MARCOS BORGES 10

PROTOCOLOS DE JOGOS

Depois de aceitar a primeira parte dos termos ele nos mostra umas recomendações para uso do game.

MARCOS BORGES 11

PROTOCOLOS DE JOGOS

Aceitamos mais um termo.

MARCOS BORGES 12

PROTOCOLOS DE JOGOS

E aqui definimos onde vamos instalar. No meu caso presisonei enter para ele instalar no diretório padrão.

MARCOS BORGES 13

PROTOCOLOS DE JOGOS

Logo após, aceitamos mais um termo.

No diretório “etmain” em /usr/local/enemy-territory/ temos o arquivo server.cfg, nele vamos fazer algumas alterações.

o No set dedicated colocamos 1 pois vamos usar o servidor primeiramente na rede local.

o Em sv_maxclients coloquei apenas 10 jogadores.

o Em g_password colocamos uma senha para que o acesso ao servidor não fique tão desprotegido.

o Em refereePassword colocamos senha para que “árbitros” façam mudança de mapa e funções gráficas.

MARCOS BORGES 14

PROTOCOLOS DE JOGOS

o Em rconpassword colocamos uma senha para controle remoto do servidor a partir do menu do game.

o Em sv_hostname coloquei o nome do meu servidor.

o Em server_motd0 colocamos um slogan ou uma frase qualquer que queiramos que apareça com mensagem do dia.

Depois sair do diretório etmain e criamos um script com o seguinte comando dentro do arquivo:

./etded +set com_hunkmegs 512 +exec servercycle.cfg +set net_ip "192.168.10.5" +exec server.cfg

MARCOS BORGES 15

PROTOCOLOS DE JOGOS

Onde, com_hunkmegs é a quantidade de memória que vou definir para consumo do servidor e, em net_ip coloque o IP da máquina Debian.

Como o comando chmod + x nomedoarquivo.sh, dei permissões para ele ser executável.

Depois só executamos com o comando ./nomedoarquivo.sh.

Agora já podemos ver o servidor ativo.

MARCOS BORGES 16

PROTOCOLOS DE JOGOS

Para fazer a instalação no Debian 8 Jessie 64Bits, tive que fazer a instalação de algumas dependências por causa da arquitetura x86 que é a do pacote et-linux baixado lá no início da instalação. As dependências e comandos seriam esses: dpkg --add-architecture i386 apt-get update apt-get install ia32-libs apt-get install libfooX.Y:i386 apt-get install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386 apt-get update

MARCOS BORGES 17

PROTOCOLOS DE JOGOS

./et-linux-2.60.x86.run

A porta padrão é a 27960, deixei a porta padrão, caso contrário, tenha alguma regra de firewall, podemos mudar a porta no arquivo server.cfg ou liberar no firewall.

Game e configurações de jogo

Ao executar o game, primeiramente aparecerá uma tela de configuração de nome, resolução, conexão de rede, brilho e mouse. Após os ajustes podemos clicar em create para prosseguir.

Na tela inicial já podemos escolher a opção “play online”.

MARCOS BORGES 18

PROTOCOLOS DE JOGOS

Na tela seguinte aparece uma lista de servidores online de várias partes do país e do mundo. Podemos fazer filtragem de servidor ou colocar um IP de um servidor.

Na opção “connect to ip” clicamos e colocamos o IP do servidor criado: 192.168.1.106

E colocamos a senha que foi configurada no servidor.

MARCOS BORGES 19

PROTOCOLOS DE JOGOS

Figure 4. Tela de loading.

Como não tem outro jogador na minha rede, a única opção é ficarmos perambulando com a

MARCOS BORGES 20

PROTOCOLOS DE JOGOS câmera pelo mapa.

E o Wireshark pegando ...

Na tela do servidor que está em execução, podemos ver o servidor “em movimento” arquivando acessos do game que está em rede. Podemos ver ali arquivos relacionado ao

MARCOS BORGES 21

PROTOCOLOS DE JOGOS nickname que coloquei e ao IP da minha máquina Windows de IP 192.168.1.102 usando a porta 27960 e apenas 1 cliente conectado.

Depois de capturar uns pacotes, entrei em um servidor qualquer que estava disponível na rede.

MARCOS BORGES 22

PROTOCOLOS DE JOGOS

Figure 5. Game em rede com outros jogadores.

Análise no Wireshark

Como podemos ver na imagem abaixo, as portas usadas pelo game estão na lista de portas

MARCOS BORGES 23

PROTOCOLOS DE JOGOS de protocolo e registrado pela IANA (Internet Assigned Numbers Authority) que em português significa Autoridade para Atribuição de Números da Internet. É uma organização mundial sediada na Marina Del Rey na Califórnia e foi criada para supervisionar a atribuição global dos números na Internet, coisa como, os números das portas, os endereços IP, sistemas autónomos, servidores-raiz de números de domínio DNS e outros recursos relativos aos protocolos de Internet.

Vemos que o protocolo da id Software foi registrado, e está como oficial, as demais usadas nos games da empresa não são oficiais. O registro foi feito por Yasunari Gon Yamasit.

A porta padrão para do game usada é a 27960. As máquina 192.168.1.102 (Windows) e a 192.168.1.106 (Servidor Linux) na captura ela mostra a porta de origem e destino sendo usadas.

Na imagem abaixo podemos ver o protocolo QuakeIII que é o protocolo usado pelo game, sendo usado na rede com uma ocupação de 41.6% da rede. Usando UDP. E um número de 14812 pacotes.

MARCOS BORGES 24

PROTOCOLOS DE JOGOS

Aqui podemos ver o uso da rede no momento da captura, podemos ver o aumento do nível de conversação em um certo tempo de hora e minutos.

Na imagem abaixo podemos ver a conversação entre cliente e servidor. Em uma conversação de quase 10 minutos que podemos ver pelo tempo de 471.9.

MARCOS BORGES 25

PROTOCOLOS DE JOGOS

Em Packet Lengths vemos os tamanhos dos pacotes e sua porcentagem de uso na rede.

Na mesma janela coloquei um filtro para selecionar apenas o IP do servidor que está na rede. Ele nos mostra o número e tamanho dos pacotes usados apenas pelo servidor.

MARCOS BORGES 26

PROTOCOLOS DE JOGOS

Nas propriedades podemos ver o nome do arquivo que está sendo utilizado, o tamanho deste arquivo, os pacotes capturados (Packets), tamanho médio dos pacotes (Average packet size), tempo de captura (Time Span, s) e a banda utilizada pela aplicação 196k (avg. Bytes/sec ou Average bytes/s).

E por último vemos o conteúdo dos pacotes que foi capturado na rede.

MARCOS BORGES 27

PROTOCOLOS DE JOGOS

O link para ver o game em funcionamento: https://youtu.be/dYWyx0Zs38E

MARCOS BORGES 28

PROTOCOLOS DE JOGOS

Referências

 Folha de SP - http://www1.folha.uol.com.br/tec/2014/05/1459106-analise-sequencia-de-wolfenste in-e-violenta-e-tem-roteiro-de-filme-b.shtml

 Omelete - https://omelete.uol.com.br/filmes/noticia/castle-wolfenstein-filme-baseado-no-game -deve-enfim-acontecer/

 Wikipédia – https://pt.wikipedia.org

 Tribo Gamer - http://tribogamer.com/pesquisa?s=games&q=wolfenstein

 Scridb - https://pt.scribd.com/document/240983000/Building-your-own-Wolfenstein-Enemy -Territory-Linux-Dedicated-Server

 Viva o Linux - https://www.vivaolinux.com.br/

 Wiki Debian - https://wiki.debian.org/Games/WolfensteinEnemyTerritory

 Tony Mott - 1001 Video Games You Must Play Before You Die

 Wireshark - https://www.wireshark.org/docs/wsug_html_chunked/

MARCOS BORGES 29