JeuWeb - Crée ton jeu par navigateur
Les bots c'est vilain ! - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Les bots c'est vilain ! (/showthread.php?tid=6234)

Pages : 1 2 3


Les bots c'est vilain ! - xviniette - 02-07-2012

Je n'ai pas encore ce problème, mais je pense qu'à un moment j'y serais confronté.

Comment lutter contre les bots ?
Je ne parle pas des bots inscriptions/messages, mais les bots "joueurs" ceux qui jouent à la place du vrai joueur.
Dans mon jeu (Colornization : un sorte de Risk), il serait tout à fait possible que les attaques soient passées par des bots.

Question : Comment lutter contre les bots (sans mettre des capcha partout ConfusediffleSmile ?

Merci !


RE: Les bots c'est vilain ! - Sephi-Chan - 02-07-2012

La première question me semble être : en quoi est-ce un problème ?


RE: Les bots c'est vilain ! - xviniette - 02-07-2012

C'est un problème dans le sens où :
- Le bots est h24 sur le jeu, il est rapide, du coup, si une personne "déplace" des effectifs, le bots pourra rapidement lui prendre la case qui a perdu des effectifs, même si la personne voulait par derrière renflouer sa cases. En gros le bot est trop rapide.
- Le bot peut rapidement répartir l'effectif entre ses cases. Si une attaque se fait contre lui, il pourra rapidement contrer en recalant ses effectifs.
- Le bot repère directement, et éxécute rapidement les attaques qui lui seront benefiques, chose qu'un joueur peut faire, mais qui lui est bien plus difficile.

Je ne sais pas si j'ai été très clair..


RE: Les bots c'est vilain ! - Myrina - 02-07-2012

Un moyen simple pour en bloquer une partie (ceux sans trop d'IA), c'est de rajouter épisodiquement un clic intermédiaire un peu dans le style de certains forums où on voit une page disant d'attendre car on fait une action trop rapprocher de la précédente. Généralement, c'est suffisant pour faire perdre le fil aux bots.
Parallèlement, il faut aussi prévoir une sécurisation coté serveur pour éviter les désynchronisations que pourrait engendrer ce style de blocage (ex: faire l'action C à la suite de l'action A alors que c'est l'action B qui est attendue)


RE: Les bots c'est vilain ! - Sephi-Chan - 02-07-2012

Je vais te décevoir, mais tu ne peux pas différencier techniquement un robot d'un véritable utilisateur. En ce moment, je suis en plein dedans : j'écris les tests d'une application riche en Javascript. De ce style :


context "when the user is french and an english user suggested a fix for the label" do
let(:french_user) { FactoryGirl.create(:user, :french) }
let(:english_user) { FactoryGirl.create(:user, :english) }
let(Confuseduggested_value) { 'English label suggestion' }

it "should not appear for the french user" do
UserSuggestsFix.new(english_user, automobile_brand, 'label', suggested_value).perform!

visit '/data_sheets/automobile'
find('.btn.review-suggestions').click

page.should_not have_content(suggested_value)
page.driver.render 'tmp/screenshots/english-fix-should-not-appear-to-french-users.png'
end
end

Quand je l'exécute, ça lance un moteur de rendu Webkit et effectue les actions que je demande (en l'occurrence, visiter la page, cliquer sur un bouton qui fait apparaître une fenêtre modale, puis tester la présence d'un certain contenu dans la page). Et c'est même capable de faire des screenshots ! Smile

Même en injectant une page dans le processus, je pourrais la détecter et gérer ce cas.

Il va donc falloir admettre que tes joueurs puissent créer des robots qui joueront pour eux, ou bien pénaliser tes joueurs trop réactifs… Smile


RE: Les bots c'est vilain ! - xviniette - 02-07-2012

Et bien merci, en espérant que les boteurs ne viennent pas Smile !


RE: Les bots c'est vilain ! - Akira777 - 02-07-2012

Quelques conseils et astuces :

- Chronométrer le temps d'éxecution entre les pages, si inférieur à 0,25 secondes, tu déco le joueur.
- Utilise CE captcha : http://areyouahuman.com/ (radical !)
- Met en place un token sur les formulaires, les vrais joueurs ne remplissent pas plusieurs form en même temps, un bot, lui pourrait le faire.
- Lorsque tu as un formulaire à remplir, avec 2-3 select et p'tetre quelques checkbox, chronomètre le remplissage. Un bot le remplira sûrement intaténement, pas un utilisateur...


RE: Les bots c'est vilain ! - quentin01 - 02-07-2012

Le chronométrage ou se baser sur la vitesse d'action c'est pas quelque chose qui empèchera un utilisateur de faire un bot. Si il veut vraiment faire son bot il le paramètra pour attendre le temps qu'il faut entre chaque action. De même, si un bot est spécialement conçu pour le jeu, l'ajout de token dans les formulaires ne permettra en rien d'arranger les choses.

Il faut se rendre à l'évidence, un bot qui joue à la place d'un joueur ça peut se paramétrer pour contourner n'importe quelle solution mise en place par le créateur.


RE: Les bots c'est vilain ! - Sephi-Chan - 02-07-2012

Si dans un jeu auquel je joue, je m'embête à automatiser certaines choses, je vivrais très mal le fait qu'on m'en empêche. Et — après en avoir discuté avec le créateur — je rentrerais assez vite dans une optique d'emmerdement qui consisterai à partager les moyens d'automatisation sur les forums, etc.

C'est dans les mécanismes de jeu qu'il faut rendre le jeu insensible aux actions néfastes (dans le cas que tu cites, l' hyper-réactivité). Aucune limitation technique ne devrait être imposée.


RE: Les bots c'est vilain ! - srm - 02-07-2012

Va dire ça à XE qui va faire ça mais le rendre payant :'p
Et luter à fond contre ceux qui vont faire ce type d'outils :-)