Como lidar com a criação e trapaça de várias contas?

20

Estou desenvolvendo um jogo que está sendo executado como um aplicativo da web. O fato é que o jogo perde o sentido se um jogador cria várias contas. Imagine que é um jogo de estratégia baseado em turnos e, se você jogar contra si mesmo (com outra conta), poderá ganhar toneladas de pontos facilmente.

No começo, pensei em registrar todas as ações de um usuário e depois comparar o IP dos usuários para detectar se há alguma pista de trapaça. Mas notei que usuários diferentes poderiam estar executando sob o mesmo IP, por exemplo, se eles estiverem na escola e todos compartilharem o mesmo IP usando um proxy. Usar dessa maneira pessoas inocentes pode resultar banido.

Existe alguma abordagem melhor que eu estou perdendo?

Matias
fonte
4
Lembre-se de que os trapaceiros realmente bons terão proxies para que suas múltiplas contas estejam em IPs diferentes. Não faça do "mesmo IP" um critério necessário ao procurar pessoas trapaceando dessa maneira.
Ricket 28/07/10
3
Do jeito que você descreveu, significa que mais duas pessoas podem se juntar para conseguir muitos pontos facilmente (como as batalhas de arena no WoW).
Hendrik Brummermann 29/07
@ Matias, seu produto está focado em um país ou deve ser mundial? se o país é limitado, você pode tentar usar as informações das pessoas, como número de segurança ou algo que possa ser usado sem causar danos a elas, isso não impediria 100%, mas reduziria muito se você pudesse verificar se os números são válidos. ou não ...
Prix
11
@Prix, você pode ter muitos problemas para coletar SSNs sem proteção adequada nos EUA.
Jesse Dorsey
11
Redesenhe seu jogo para que dois usuários não possam abusar dele, em vez de tentar impedi-los de fazê-lo.
o0 '.

Respostas:

14

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.

Jesse Dorsey
fonte
11
Com uma quantidade razoável de registros, um item interessante a ser verificado seria a frequência com que duas contas são conectadas juntas. Há uma chance de falsos positivos aqui, assim como qualquer outro sistema verifica, e é por isso que a interação humana sempre será necessária para as decisões finais.
ManiacZX
8

A maneira mais simples e eficaz de combater o 'cultivo' de pontuações é ajustar a pontuação recebida com base na disparidade entre os jogadores. Lembre-se de que não é apenas um jogador que cria várias contas com as quais você precisa se preocupar: imagine dois amigos, um perdendo deliberadamente, para que o ranking dos outros seja artificialmente aumentado.

O xadrez e outros jogos evitam isso através das formas do sistema de classificação Elo . Basicamente, a recompensa por vencer alguém com uma classificação mais alta do que você é alta, mas a recompensa por vencer alguém com uma classificação muito mais baixa é muito baixa. Isso rapidamente torna deliberadamente a perda de vantagem para outro jogador ineficaz. Você pode ajustar a taxa na qual ganhar contra um jogador ruim resulta rapidamente em pouco ganho líquido. Um jogador jogando 'corretamente', ou seja, vencendo contra uma ampla variedade de oponentes com ranking semelhante, avançará muito rapidamente.

NB: não basta penalizar os jogadores que perdem para que ganhar contra eles não traga nada, porque os jogadores podem criar uma conta, perdê-la deliberadamente e criar outra conta. Isso não é tão problemático se houver uma barreira à entrada (por exemplo, inserir detalhes do cartão de crédito para criar uma nova conta), mas para jogos gratuitos que funcionem.

Também vale a pena notar que existe um perigo se as classificações forem usadas como uma medida da capacidade real, e não apenas como uma maneira de modificar as recompensas que o jogador recebe. Se a classificação em si é a medida, jogadores espertos usarão o sistema para sabotar os outros. Ou seja, o jogador 1 ganha muita habilidade / habilidade através da prática e cria uma nova conta. O jogador 2, que é tão bom quanto o jogador 1, aceita um desafio do recém-chegado. Perder para o recém-chegado prejudicará enormemente sua classificação, mesmo que o novo jogador seja de classificação equivalente. No entanto, se a classificação não for realmente usada para medir o jogador, isso é realmente do interesse do Jogador 2 (ter sua classificação reduzida permitirá que eles avancem mais rapidamente, considerando seu nível de habilidade real).

MrCranky
fonte
11
Isso é muita filosofia de jogo profunda, bem ali, boa leitura.
Kzqai 31/10/11
7

Você pode atribuir pontos com base na diferença entre os totais de pontos dos oponentes. Jogadores muito bons ganhariam poucos pontos por derrotar novatos, e novatos ganhariam muitos pontos por derrotar jogadores experientes. Da mesma forma, os perdedores perderiam pontos proporcionais à mesma escala.

Isso não resolveria completamente o seu problema, mas eliminaria o simples caso de alguém criar e derrotar um monte de novatos, além de dificultar o nível de duas contas diferentes de igual poder.

Realmente, porém, não há uma maneira infalível de parar isso; um trapaceiro suficientemente dedicado terá sucesso. Mas se você sinalizar contas com atividade suspeita para revisão, onde "atividade suspeita" inclui várias contas com o mesmo email ou endereço IP, poderá identificar os criminosos mais flagrantes.

Gregory Avery-Weir
fonte
6

Descobri que isso é muito mais fácil de corrigir através do design de jogos do que através da aplicação / proibição. Mesmo se você banir permanentemente todas as contas de um jogador, jogadores suficientemente determinados podem encontrar uma maneira de contornar sua proibição (por exemplo, se você rastrear IP, eles poderão usar IP dinâmico ou máscara de IP).

Por exemplo, se você atribuir pontos aos jogadores por vencerem concursos de PvP, incentive os jogadores a criar várias contas para que possam perder para si mesmos. Se, em vez disso, você der recompensas maiores por jogar em grupos com os mesmos jogadores ao longo do tempo (ou seja, participação da guilda), incentive a amizade e a comunidade em detrimento da competição, o que muda os comportamentos preferidos. O fato de ter características adicionais de metagame vinculadas à conta do jogador (como pontuação de Reputação e lista de Amigos) torna a manutenção de várias contas menos atraente - pelo menos, as pessoas desejam uma conta "principal" com um bom representante.

Se seu jogo é PvP por natureza, uma grande maneira de contornar o problema "Vou fazer várias contas e me perder de propósito" é oferecer apenas matchmaking automatizado. Portanto, o jogador solicita o jogo e o servidor os compara automaticamente com alguém que esteja online no momento. Se os jogadores não puderem escolher seus oponentes, não há como garantir que eles mesmos lutarão (a menos que sejam os únicos online no momento, mas você tenha problemas maiores). Veja Microsoft Hearts / Spades, ou a maioria dos jogos do Facebook que permitem PvP, para exemplos disso. Observe que, nesse caso, você definitivamente desejará algum tipo de combinação inteligente (usando algum tipo de sistema de classificação / classificação como parte da conta do jogador ou permitindo que os jogadores selecionem seu nível de competitividade preferido).

Se você está preocupado com o fato de os jogadores quererem jogar com seus amigos, você também pode oferecer essa opção, mas somente permita jogos sem classificação / sem classificação / treino quando escolher seus oponentes.

Ian Schreiber
fonte
5

As pessoas em https://panopticlick.eff.org/ testaram como alguém pode ser identificado de maneira única por vários valores que podem ser coletados em praticamente qualquer navegador. Os resultados são impressionantes e você pode usar uma abordagem semelhante (talvez combinada com outras medidas) para identificar e rastrear seus usuários.

bummzack
fonte
11
Não acho que esse seja um bom método para ser usado, especialmente se for um jogo de navegador, pois você pode criar seu próprio navegador, facilitando a criação de uma nova conta para uma pessoa única.
Prix
@ Prix sim, eu não quis dizer que esta é a solução que resolve todos os problemas. Mas acho que poderia ser uma boa adição ao log de IP. E é claro que você precisará de outras medidas também.
bummzack
Útil, mesmo que não seja um método independente.
Kzqai #
4

Existe uma solução de design muito simples que a Blizzard adotou no Warcraft 3 e Starcraft 2: apenas permita que os jogadores ganhem pontos / pontuação / experiência ao jogar em jogos usando o serviço de matchmaking automático. Os jogadores ainda podem jogar contra seus amigos, mas não ganham pontos com isso.

Se o jogador não tem como decidir contra quem está jogando, não há maneira confiável de jogar jogando com contas falsas.

Henk
fonte
2
Eficaz, mas chata. Eu preferiria jogar um jogo contra oponentes que eu conheci (inimigos, amigos ou conhecidos casuais no bate-papo) do que contra desconhecidos aleatórios, especialmente aqueles que podem ou não ser oponentes ativos a qualquer momento.
Kzqai #
A válvula parece funcionar assim também (CS: GO, Dota 2 ...). Eu não chamaria isso de chato, mas cada vez mais frustrante enquanto você joga: o efeito dessa abordagem é que as Comunidades de Jogadores são literalmente terríveis , e muitas pessoas não conseguem suportar isso por mais tempo. Os jogadores enfrentam ofensas verbais e outros comportamentos abusivos na maioria dos jogos de "Public Matchmaking".
21915 madneon
1

eu jogo em um sistema de jogo chamado travian, e eu realmente acho que a tecnologia não é boa o suficiente para pegar truques. A maioria das fraudes possui de 2 a 4 sistemas vinculados via comutador KVM, cada sistema executa versões diferentes do sistema operacional (windows xp, vista, win7, linux mint, Slitaz e assim por diante) e é executado através de servidores proxy (embora a conta principal não esteja usando proxy, mas padrão)

É claro que isso cria uma vantagem tão injusta que a maioria das pessoas que pagam para jogar estão saindo, com membros pagando mais de mil em apenas alguns meses e com menos jogadores, fica cada vez mais óbvio que as contas são suspeitas, mas sem evidência de trapaça, os jogadores que trapaceiam escapam do castigo e aqueles que pagam com justiça (gritos, supostamente jogam com justiça) podem ver a atividade suspeita, ficam desanimados e deixam o jogo - ou aprendem a trapacear e, portanto, inicia os problemas.

Atualmente, para travian, não há nenhum jogador no topo do jogo que possa dizer honestamente que não trapaceia ou admitir que não contratou pessoas de países como phils e china para ajudá-los a jogar enquanto dormem ou estão de férias .

certamente deve haver maneiras melhores de se enganar em várias contas, ou este é o futuro dos jogos, onde apenas algumas pessoas reais compõem toda a base do jogo e o vencedor se baseia em quem pode contratar o máximo de pessoas nos países do terceiro mundo para jogar os jogos para eles.

a associação de US $ 0,01 via cartão de crédito (e veja quem tem números de cartão de crédito idênticos) seria uma maneira viável de detectar trapaças em várias contas no momento do registro?


fonte
2
O problema dos cartões de crédito é que você pode simplesmente comprar um cartão-presente e usá-lo para abrir outras contas.
Jesse Dorsey
@ Noctrine Você percebe que pode editar as postagens aqui depois de enviá-las, não é? Algumas pessoas preferem anotar suas alterações em vez de fazer uma edição invisível.
Casey Wagner
@ Mike Sim, mas parecia que era um, hah! tipo coisa. Mas, relendo-o, parece que não li a resposta corretamente, provavelmente a causa da minha leitura / comentário no início da manhã: p Removido esse pedaço.
Jesse Dorsey
Parece-me uma descrição estranha do problema. Quais são os jogadores que contratam terceiros para jogar o jogo? Certamente isso tem que reduzir bastante a diversão deles. Eu posso ver a diversão da contabilidade múltipla sozinho, mas ter alguém com várias contas para você não parece aumentar a diversão, a menos que você receba algo em troca, como dinheiro por estar no topo.
Kzqai #
1

Uma opção se você tiver vários servidores é exigir que qualquer conta do mesmo IP seja criada em servidores alternativos. Portanto, se você deseja criar 10 contas, ótimo, mas precisará criá-las em servidores que não interagem entre si. Isso impede que as pessoas no mesmo local possam jogar juntas, então existe essa desvantagem. No lado positivo, também interfere na eficácia dos proxies na trapaça.

Você vai acabar com prós e contras de qualquer solução que encontrar e não eliminará completamente a trapaça. Portanto, decida até onde você quer ir e fique de olho em como essas mudanças afetam a base de usuários.

Casey Wagner
fonte
1

A maioria das pessoas tenta perseguir várias contas com ferramentas externas. O que é estúpido. Se você tiver registros e métricas adequados para as atividades dos usuários, poderá aplicar a maioria dos contadores múltiplos com algumas varreduras de critérios dentro de um jogo.

E não, eu não vou lhe entregar o colapso - a verdade é - e muito poucas pessoas na indústria vão explicar isso - quanto mais estúpidos designers e codificadores de jogos estiverem por aí, melhor segurança no emprego para as pessoas que sabem que diabos eles estão fazendo?

A contabilidade múltipla só é viável para as pessoas se a cadeia de benefícios for mal projetada e puder ser manipulada facilmente por várias contas.

Se a contabilidade múltipla for difícil e demorada em termos de recompensa (não esquiva de detecção - apenas esforço e tempo de jogo)

Então, as únicas pessoas que realmente fazem isso são os jogadores hardcore. E você nem precisa se preocupar em levantar uma sobrancelha para eles, pois eles são condutores da comunidade. Eles se esforçam para conhecer todas as suas brechas e estudar a eficiência em um ambiente. Por todos os direitos, o esforço que eles investem deve ser o melhor recompensado. Você ainda consegue monetizar a maioria dos preguiçosos.

Bons designers nunca realmente atendem a todas as brechas - basta conectar as principais e garantir que você tenha uma maneira de eliminar o excesso da economia. Ou, obviamente, injete valor, se necessário.

Eu tenho uma lista em mãos de 83 contadores múltiplos. Eles acham que estão nos enganando - e desfrutam da felicidade da ideia de que são mais espertos que nós. A maioria também investe dinheiro real no jogo - não queremos bani-los. Nossos codificadores realmente não tinham tempo para um sistema - então, montei o CM com uma conta secreta para falsificar ocasionalmente suas cabeças no jogo e "legitimamente" roubar suas "riquezas".

Eles acham que estão nos jogando como empresa e estão ficando cada vez mais motivados ao pensar que alguém no jogo tem um machado para moer. O resultado final é - qualquer excesso crítico é descartado por um CM - considerando que ele sabe o que o usuário está aprontando e faz uma "emboscada" a qualquer momento. Tudo isso - pode ser automatizado por código, mas quem tem tempo ou orçamento para isso?

Qualquer pessoa que esteja criando sistemas complexos de detecção de várias contas para criar perfis de IDS de usuário, para evitar contas múltiplas em jogos, está mijando contra o vento.

Raio
fonte
0

Você realmente precisa identificar os comportamentos específicos que deseja impedir.

Por exemplo, se o problema real que você deseja evitar não é "pessoas criando várias contas", mas "indivíduos sendo segmentados por várias contas controladas pela mesma pessoa", é uma área em que você pode usar características semelhantes entre contas potencialmente clonadas para permitir que os próprios jogadores policiem o multiplaying . Em outras palavras, se eles detectarem traços de multiplaying, eles podem agir (por meio de alguma interface) para verificar semelhanças entre as contas e, se as contas tiverem muitas semelhanças, causar uma punição. Policiamento do jogador. O benefício disso é que a contabilidade múltipla é a mais importante para outros indivíduos que não participam de vários jogadores; portanto, se eles se sentem prejudicados, podem recorrereles podem tentar pegar o multiplayer no local. Ele também permite que coisas que, em um sistema de contas visualizado de forma plana, sejam falsos positivos (como ip), sejam evidências muito mais reais da contagem múltipla.

Da mesma forma, como outros já mencionaram, se é a conquista de classificação ao derrotar suas próprias contas falsas, um sistema como o sistema de repetições aqui no stackexchange ajuda a transformar pontos de ranking de si mesmo em um ganho de soma zero.

Kzqai
fonte
0

Verifique se a criação de várias contas não vale a pena .

Exemplos de como você faria isso:

  • Conceda pequenos prêmios nos primeiros níveis em comparação com os níveis posteriores.
  • Tutoriais obrigatórios - os jogadores iniciantes o acharão útil e os multi-accuters os acharão incrivelmente irritantes.
  • Se houver uma recompensa por indicar outras pessoas, conceda o prêmio assim que o jogador indicado atingir um determinado nível.
  • Se os jogadores lutam entre si, faça com que vencer contra jogadores de baixo (er) nível perca tempo. Por exemplo, qualquer pessoa com menos de 5 níveis do que você não dará recompensas por vencer.
  • A rede StackExchange é um excelente exemplo. Criar novas contas tem muito pouco benefício.

Permita que os jogadores criem várias contas porque você não pode impedi-los de fazê-lo:

  • Se você adicionar blocos de IP, as pessoas usarão proxies e VPNs
    • A verificação de IP também gera falsos positivos.
  • Os cookies de rastreamento e os dados de armazenamento local podem ser excluídos.
  • Se você tentar coletar (muitas) informações pessoais, isso desencorajará fortemente as pessoas de se registrarem e será inútil se você não as verificar.
  • Cada conta normalmente ocupa alguns bytes de espaço. Você pode pagar isso.

De todas essas respostas, esse método é o único que realmente funciona. Se as pessoas não quiserem criar várias contas, não o farão. Você pode decidir o que eles querem através de um design de jogo bom e atencioso.

Lolums
fonte
-1

Eu acho que há outra abordagem. Porque há outro dano em potencial: criar imagens para dois amigos que criam duas contas: uma mais frouxa e uma conta vencedora cada. Um dia, o amigo A usa sua conta mais flexível para perder todos os jogos contra a conta vencedora do amigo B. No dia seguinte eles mudam. Verificar os IPs não ajudará aqui.

Você deve verificar o comportamento dos jogadores (uma estratégia conhecida nos sistemas de detecção de intrusões). Se dois jogadores jogam um com o outro com frequência e um perde o tempo todo, isso é uma pista. Se os jogos terminam muito cedo, é outra pista.

Você pode pontuar essas dicas, adicionar a pontuação a uma reputação (não mostrar a reputação aos usuários) e banir contas se elas atingirem um valor definido por você. Talvez também deva haver anti-pistas que reparem a reputação.

Outras pistas dependem muito do seu jogo. Mas acho que você entendeu.

Hinek
fonte
2
Eu trabalhei em um projeto que tentou detectar trapaças assim. Houve tantos casos extremos que o sistema errou tanto quanto acertou, tanto com falsos positivos quanto falsos negativos.
22410 dezpn
11
Ter um sistema de reputação ajudaria no caso que você descreve (por exemplo, você só pode obter representantes de outras pessoas; portanto, obtê-lo de si mesmo apenas o move para frente e para trás inutilmente). Além disso, se cada amigo tiver duas contas, a detecção de IP não será realmente útil pelo menos uma parte do tempo?
Kzqai #
-1

Você pode usar o armazenamento de dados local do Flash, nem todo mundo sabe como excluir dados do Flash.

killgt
fonte
Not everyoneinfelizmente não é suficiente.
Lolums 6/12/15
-2

Não é realmente uma solução, mas pelo menos um impedimento: diga que, se as pessoas forem descobertas com várias contas, todas as contas serão banidas. Isso deve impedir que muitas pessoas tentem. Mesmo se você realmente não banir todas as contas, ou não tiver uma maneira de detectá-las, a maioria ficará com muito medo.

Bart van Heukelom
fonte
11
A única maneira de tornar a ameaça eficaz é seguir adiante, o que requer monitoramento e banimento contínuos da sua base de jogadores ... ... que é o resultado menos desejável, certamente primeiro você deve explorar a alteração do sistema para minimizar o potencial de trapaça.
Kzqai
11
Além disso, depois de banir algumas contas, você ainda pode criar novas para trapacear novamente. Isso é total absurdo!
o0 '.