Existem algumas maneiras diferentes de lidar com isso, e muitas soluções têm seus próprios méritos. Vou dar a minha opinião sobre a maneira ideal de lidar com isso.
Primeiro, é importante entender que, por mais complicado que seja o seu sistema, alguém que seja suficientemente investido no jogo do sistema (com conhecimento apropriado) descobrirá uma maneira de jogá-lo.
Para lidar seriamente com esse problema, se é realmente um problema para você, você precisa lidar com isso no design e na implementação técnica do seu jogo.
No final técnico, você precisa basicamente jogar um jogo de comparações.
Em geral, sou pró-logging se você estiver executando qualquer tipo de jogo com interação do usuário, pois os logs detalhados permitirão modificar e adaptar seu jogo com base em medições quantitativas reais.
Usando seus logs, você pode configurar um sistema para comparar dados entre contas de qualquer número de semelhanças.
Por exemplo, se duas contas estiverem usando o mesmo endereço IP ou qualquer outra informação que você considere uma medida de comparação apropriada, você poderá analisar a interação geral entre as duas (ganhos / perdas, negociação) em relação ao quantidade de interação com os outros.
Usando esses dados, você pode julgar apropriadamente caso a caso ou automaticamente. Dependendo da extensão do problema, eu recomendaria uma opção automática e o tratamento de qualquer problema por meio de um moderador ativo. É importante que você não exclua a conta, apenas a suspenda com uma mensagem como "Esta conta foi suspeita de violar o contrato de TOS deste jogo. Se você não concordar, por favor, vá aqui" com um link para um painel de arbitragem ou algo assim .
É importante que isso ocorra, porque as pessoas podem compartilhar endereços IP em casa ou na escola. Além disso, para crianças mais novas, eles podem estar usando os endereços de e-mail, cartões de crédito ou mesmo nomes dos pais, nas informações de inscrição, dependendo da proteção deles.
A segunda fase é do lado do design. Embora se espere algum benefício, você precisa desincentivar suficientemente esta forma de trapaça com a sua jogabilidade. Existem várias maneiras pelas quais você pode fazer isso, há as totalmente irritantes de intervalos muito curtos (o que pode ser necessário). Mas sinto que a melhor maneira é ajustar adequadamente os benefícios entre duas contas.
Por exemplo, alguns MMOs alteraram o benefício que jogadores de alto nível recebem ao jogar com jogadores fora de um intervalo de nível razoável. Isso desestimula os jogadores com acesso a várias contas a partir do nível de poder (pelo menos dentro de um intervalo específico)
Você pode segmentar especificamente contas que compartilham dados e diminui diretamente o benefício que eles obtêm ao interagirem entre si. Isso incentivaria a interação com outros jogadores, mas pode ser contornado com servidores proxy e seria desaconselhável, dependendo do seu público-alvo.
A outra maneira de pensar que isso funcionaria é ter uma jogabilidade tão envolvente que as pessoas não conseguem jogar duas contas separadas e ainda assim acompanhar todo mundo.
Obviamente, com esse sistema, você precisaria gastar bastante esforço para ajustar os falsos positivos e o que não.
tl; dr?
Você deseja coletar dados apropriados que permitem detectar e lidar automaticamente com ameaças potenciais e lidar com falsos positivos, usuário a usuário. Seria necessária uma boa dose de babá para garantir que você não tenha falsos positivos.
Além disso, você deseja reduzir o benefício de trapacear com várias contas no final da jogabilidade.