Como evitar que hackers arruinem os jogos online
P>Primeiro off,
p>p>não use um sistema peer-to-peer para comunicação.GTA V parece fazê-lo desta forma. Não há nenhuma razão real para que um usuário possa alegar ter gerado um tanque, se não há nenhuma razão para isso, então você precisa executar todos os cálculos de funcionalidades relevantes ao jogo em sua plataforma confiável e não confie nas alegações feitas pelo usuário.
Não confie no usuário se comunicando através de seu jogo
Por exemplo, League of Legends tinha muitos bugs (conhecidos publicamente) que só poderiam ser explorados através do envio de pacotes especiais criados. "Eu coloquei este item neste slot" sem que o sistema valide se isso é possível. Basicamente confiando nas informações vindas do usuário para serem verdadeiras.
Isso causou um comportamento inesperado onde o item naquele slot especial não tinha resfriamento e podia ser acionado quantas vezes e tão rápido quanto você queria.
Agora, para a próxima parte que as pessoas abusavam.
Prevenir a navegação pelo jogo e colocar ganchos
Quando você pode enviar ao servidor qualquer entrada que quiser, é possível colocar um bot - um programa especialmente criado que lê áreas de memória do jogo - entre o jogo e o servidor que é capaz de reagir mais rápido do que um humano jamais poderia reagir. Ele então gera o input necessário para um resultado desejado. Por exemplo, ele pode pressionar o botão para o item sem arrefecimento sempre que o jogo estivesse pronto para novas entradas (que seriam todas as imagens). O que significa que a 60 frames por segundo 30 vezes (porque provavelmente precisa ser levantado uma vez), assumindo que a lógica do jogo está vinculada à renderização.
Então você também precisaria proteger o jogo de qualquer software que possa ter acesso à memória do jogo. Isto não pode ser feito. Você só pode dificultar o jogo procurando por programas que estão acessando seu programa, etc. Essencialmente é um jogo de gato e rato.
Não correr num sistema ao qual o utilizador tem acesso a
Esta é a única forma segura de evitar batota/hacking, e infelizmente para que seja completo, significa que nenhum utilizador será capaz de jogar o jogo.
Porque ele não poderia ver e inserir nada.
Você sempre poderia colocar um bot na frente do computador e deixá-lo tomar conta.
(Veja "TASBot").
Artigos semelhantes
- Porque é que o Minecraft tem tantos hackers, enquanto outros jogos como o League of Legends e o Counter-Strike são basicamente livres de hackers?
- O que são alguns hackers de computador que os hackers sabem mas a maioria das pessoas não sabe?
- Como evitar que a minha aplicação seja hackeada por hackers
- O que são alguns bons hackers romanos para os jogos Pokémon GBA?