Peer-to-peer and cheat-resistant support for massively multiplayer online games - Cecin, Fábio Reis (2015)
Em geral, jogos classificados como ‘jogos online maciçamente multijogador’, ou massively multiplayer online games (MMOGs) são simulações interativas, competitivas, em tempo real e em larga escala, de mundos virtuais gráficos. Atualmente, a maioria (se não todos) os MMOGs lançados comercialmente são implementados como serviços centralizados, onde centenas ou até milhares de máquinas servidoras, mantidas pelo provedor do serviço do jogo, são responsáveis por executar quase toda a simulação do mundo virtual. Isto implica em gastos significativos em equipamentos e comunicação por parte dos provedores do jogo. Vários trabalhos tentam reduzir o custo de hospedar um MMOG propondo modelos de distribuição da simulação mais descentralizados (peer-to-peer), onde a simulação é movida parcialmente ou totalmente dos servidores (máquinas dos provedores do jogo) para os nós clientes, tipicamente PCs de jogadores conectados por banda larga residencial. Porém, a tentativa de descentralizar um MMOG cria problemas de segurança, na medida em que a simulação passa a ser delegada a nós clientes, que são nós intrinsecamente não-confiáveis que ganham a oportunidade de trapacear no jogo, burlando as regras, visto que as regras da simulação serão executadas por estes. Existem vários tipos de trapaças, mas nós mostramos nesta tese que é possível argumentar que a trapaça de estado (state cheating) e ataques de negação de serviço são as ameaças mais significativas para MMOGs peer-to-peer. Como consequência, nós propomos o FreeMMG 2, um novo modelo de descentralização de MMOGs baseado na divisão do mundo virtual em células que são mantidas individualmente por grupos separados de peers voluntários que executam um processo daemon, não-interativo de simulação. Cada peer de uma célula contém uma réplica completa do estado da célula e se sincroniza de forma tanto conservadora quanto otimista com cada outro peer (réplica) da célula, enquanto ao mesmo tempo recebe comandos de jogo e dissemina atualizações de jogo para as máquinas ‘cliente’ dos jogadores do jogo. Devido à replicação e à seleção aleatória de peers para as células, nós mostramos que o FreeMMG 2 é resistente a trapaça de estado. E, devido ao uso de um peer back-up secreto para cada peer réplica primária da célula, nós mostramos que ataques de negação de serviço contra os peers não irão aumentar de forma significativa a probabilidade de ocorrência de trapaça de estado ou de perda total do estado da célula atacada. Através de simulação de rede, nós mostramos que o FreeMMG 2 é escalável e que utiliza a largura de banda dos clientes de forma eficiente. Assim, mostramos que uma abordagem baseada em replicação de suporte a MMOGs, considerando clientes com conectividade à Internet realística (sem IP multicast e com banda larga doméstica), é viável.