Pergunta

Eu não estou realmente escrevendo este software eu mesmo, mas ocorreu-me que eu não tenho idéia de como resolver o problema. Como a melhor maneira de explicar o problema, vou descrever um cenário específico de uma hipotética multi-jogador primeira pessoa atirador jogo ...

  • O Jogador A está escondido em alguns arbustos frente para o oeste
  • Jogador B é aprontar com o jogador A partir do leste, ou esconder-se atrás de jogador A

A popular "hack" escrito para este jogo seria para o jogador A ter um radar mostrando-lhe a localização do jogador B, mesmo que ele não pode ver o jogador B em sua tela, eo jogo não suporta um radar . Este hack é possível porque o servidor está enviando informações para o cliente jogador de A em todos os jogadores em um determinado intervalo (talvez dentro de plano de corte leitor de A). Não seria realista (tanto quanto eu sei), para o servidor para tentar informações somente envia para o cliente jogador de A em jogadores dentro de quadro de vista jogador da A. Como o servidor deve enviar informações sobre todos os jogadores próximos ao cliente jogador de A, o jogador A poderia escrever um hack que sobreposições de um radar em sua tela, que é povoada por prestando atenção para os dados enviados para o cliente e puxando para fora atualizações de estado do jogador inimigo. Acho que esses são comumente conhecidos como "radar" ou hacks "parede".

Existe alguma maneira para ofuscar ou atualizações hide estaduais de jogadores inimigos na informação enviada para o cliente? Pelo que eu entendo, a criptografia não seria viável para soluções em tempo real? Mesmo se o servidor foi capaz de enviar apenas atualizações de estado em jogadores dentro de quadro de vista jogador de A, isso ainda permitiria corte leitor de A para mostrar os jogadores se escondendo atrás de camuflagem ou cobertura de objetos (que eram presumivelmente transparente de uma forma menor).

A única coisa que eu realmente poderia imaginar seria implementar algum tipo de solução "punkbuster". Ou seja, tem cliente jogador de A regularidade de verificação de processos ilegais. A idéia é que qualquer hacks populares seriam monitorados. hacks impopulares afetaria uma pequena base de jogadores o suficiente para que eles são pequenos demais para ir atrás.

Foi útil?

Solução

Essa é a única maneira. Além punkbuster, você deve fazer alguma pesquisa sobre Warden (além wikipedia, há muitas coisas interessantes que eu não vou ligar aqui). É uma batalha muito interessante dadas as leis do mundo on-line projetar ...

O cliente está nas mãos do inimigo.

Outro elemento a ele é que as pessoas vão substituir seus drivers de vídeo com controladores modded que lhes dão vantagens (coisas são opacas ou realçado, os jogadores não podem ser "cego", etc). Eu não tenho certeza se todos os jogos verificar se há drivers modded ou não.

Outras dicas

Criptografia simples pode ser viável para em tempo real com hardware de hoje, mas o problema é que, para que o cliente para acessar os dados criptografados ele deve ter a chave. Se o cliente tem a chave que provavelmente não será muito difícil para um programa de trapaceiro para encontrar e recuperá-lo. A melhor maneira é para o servidor apenas para enviar a posição de B para A, se for de todo possível ver B. Ainda será possível fazer batota, mas em menor medida.

Uma possível solução para os casos em que B está escondendo, mas uma pequena parte pode ser visível é para que o servidor simplesmente dizer que há algo na posição de B. Pode ser uma rocha ou outros enfeites. O problema é que, para que o cliente seja capaz de tornar o algo , o servidor tem que dar uma descrição bastante precisa. Dado que de hoje jogos multiplayer falso baixa latência, simulando o que o servidor faz, este é provavelmente não é viável até que tenhamos redes ultra-baixa latência.

Houve um programa chamado "eqmon" que fez algo parecido com isso para o jogo Everquest. Na primeira, os pacotes de jogo foram completamente sem criptografia e continha todos os caracteres (ambos PC e NPC) para todo o nível. Eventualmente, eles acabaram usando criptografia para tornar mais difícil para bisbilhotar os pacotes, mas eqmon ficou em torno de que por força bruta a chave de criptografia (uma nova chave foi criada pelo servidor cada vez que você entrou em um nível, por isso, por vezes, levou alguns minutos para descriptografar a chave). Eles, então, mudou-lo para que seu cliente atualizações para PCs ou NPCs só recebeu dentro de um determinado intervalo de sua localização. Isso fez eqmon menos útil para camping e monitoramento "desova raras" longe no mesmo nível.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top