Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/08/2010, à 01:07

samυncle

limite de l'open source

Hello smile
En discutant sur irc a propos des cheateurs (tricheur dans les jeux vidéos), nous nous sommes demandé comment un jeu open source (et intièrement open source (exclus donc un programme comme the warden) pouvait intégrer des mesures antitriche.

Si du coté serveur, et pour les gros tricheurs (ceux qui tuent tout le monde en 5 sec par exemple) c'est relativement simple, par contre quand le tricheur est discret, et qu'il se raproche d'un bon joueur les choses deviennent complexes.

Premièrement la liberté 0:
La liberté d'exécuter le programme, pour tous les usages

Tout les usages impliquent la triche, mais d'un autre coté, pour le bon déroulement du jeu et une bonne ambiance dans la communauté, il est préférable que personne ne triche.

Je dois vous avouer que je n'ai pas trouvé la solution, et que rien n'empechera le tricheur de prendre les sources et de faire un programme qui envoyera au serveur ce qu'il lui demande.

Comment faire donc ? Un microcode proprio ? Autoriser la triche ?


Hello world

Hors ligne

#2 Le 09/08/2010, à 01:10

꙳♒⏅⚓ ЅаίԼίՈԶ ⚓⏅♒꙳

Re : limite de l'open source

Autoriser la triche, ce n'est que du jeu.


Quoi ? Tu travailles sous GNU/LInux ? Ba, ça va te passer... quand il existera quelque chose de mieux... et ce ne sera pas windows, à moins que ce devienne libre et bien programmé. 
mon petit blog de débutant

Hors ligne

#3 Le 09/08/2010, à 01:16

Sir Na Kraïou

Re : limite de l'open source

Salut,
Lan-party. cool

Sinon, c'n'est que du jeu, ouais, mais c'est balèze chiant quand t'as un noob qui se ramène et tue tout le monde au couteau. Ça tue le jeu. Mais sinon, il me semble que les jeux proprio ont aussi leurs problèmes de triche, donc bon, c'n'est pas un problème spécifique au libre.


Descendant de Charlemagne et de LUCA.
Bleu, en l'hommage d'un truc bleu. :'(
C'est pas du bleu.
C'est pas le lac de Genève, c'est le Lac Léman.

Hors ligne

#4 Le 09/08/2010, à 01:20

Link31

Re : limite de l'open source

Eh bien, commence par mettre toutes les protections que tu juges nécessaires dans le serveur. Évidemment, ça n'empêchera pas toutes les formes de triche, mais ça empêchera les plus flagrantes.

Ensuite, si quelqu'un est pris en train de tricher manifestement, il suffit de le kicker et la partie continuera normalement. Par exemple, un aimbot ne peut pas être bloqué côté serveur, mais se remarquera facilement si le jeu a un mode spectateur en première personne.

Et si une technique de triche est vraiment trop difficile à repérer, alors il est peu probable de toute manière qu'elle apporte un gros avantage à celui qui l'utilise.

Hors ligne

#5 Le 09/08/2010, à 01:25

Pylades

Re : limite de l'open source

Et puis bon, dans l’open source, les failles peuvent être vite corrigées, donc les moyens de tricher se font rares…


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#6 Le 09/08/2010, à 07:51

kara

Re : limite de l'open source

:(Et bien quand on regarde Urban Terror qui n'est pas Open Source mas tourne sous Linux.
Que les Teams sont obligés de faire screen et vidéo pour faire tourner une liste commune de banni a travers d'un truc nommé Powerban.
C'est déja pas simple alors un anti cheat opensource ce n'est pas gagné.
Quand on regarde le manque d'éfficacité de punkbuster face au cheat constament mis a jour c'est par terrible même pour du proprio.

En même temps il y n' y pas que les cheats, mais aussi les erreurs de codage des jeux.

Par exemple, DICE/EA a mis trés longtemps a comblé un bug permettant a des joueurs de se planquer dans des batiments normalement inacessible et pouvant tuer a travers sans soucis.

Pire que tous cela, les gens qui s'arrangent en groupe pour augmenter leurs level. La un anti cheat n'y peux rien

#7 Le 09/08/2010, à 10:52

Snake046

Re : limite de l'open source

Samuncle, je ne vois absolument pas en quoi autoriser les joueurs à coder leur propre client serait de la triche.

C'est à ton serveur d'être suffisamment bien codé pour que personne ne puisse exploiter des failles. Le client, dans un jeu multijoueur, n'est rien de plus qu'une interface : le jeu, c'est le serveur.

Alors s'il y a des failles, trouve-les et corrige-les (s'il y a des cheaters, soit ils se font prendre, on t'explique les symptômes et tu en déduis de ce qui est peut-être arrivé, soit ils se font pas prendre et dans ce cas c'est sans doute que leur triche n'a pas de gros impact sur l'univers - il n'est donc pas indispensable de déboguer : une fois que la triche se répandra, tu en entendra surement parler, et ne tiendra qu'à toi de la corriger).

Ce n'est pas une limite du jeu open-source. Concrètement, rien n'empeche quelqu'un de développer son propre client, de trouver des failles et de les exploiter.
Il y a bien des gens qui développent leurs propres serveurs de World of Warcraft par exemple. C'est pas particulièrement compliqué, il faut juste surveiller les communications qui se font avec les véritables serveurs et en déduire du contenu des paquets que s'envoient clients et serveurs dans telles et telles situations.


Aucun message n'est caché dans cette signature.

Hors ligne

#8 Le 09/08/2010, à 11:05

GentooUser

Re : limite de l'open source

Un systéme de vote comme dans ET ?

Comme ça un boulet (tricheur ou autre) on le ban et c'est tout !

Hors ligne

#9 Le 09/08/2010, à 11:14

darktomato

Re : limite de l'open source

Snake046 a écrit :

Alors s'il y a des failles, trouve-les et corrige-les

Oui mais il n'y a pas besoin de faille pour tricher, il suffit de modifier le code du jeu. Et effectivement, dans ce cadre, un jeu au code inexploitable est plus sécurisé.

Hors ligne

#10 Le 09/08/2010, à 11:20

crypto178

Re : limite de l'open source

Appelons un chat un chat, ici on parle de FPS multijoueurs. Les autres types de jeux ne sont pas vraiment confrontés au problème.
Il est impossible de faire confiance au client (une erreur récurrente de logiciel propriétaire...), mais il est possible d'apporter des améliorations côté serveur.
Par exemple, ne pas transmettre la position des joueurs ennemis que le client n'est pas censé voir.

Hors ligne

#11 Le 09/08/2010, à 11:20

Snake046

Re : limite de l'open source

Mais c'est dans le serveur qu'il y a les failles.
Et ce n'est pas le joueur qui détiens le serveur... en tout cas dans un MMO.
Après si c'est un jeu ou tout le monde peut lancer son propre serveur, et que quelqu'un fait un serveur personnalisé et cheaté roll ! Bah tu trouve une solution beaucoup plus simple. Ou beaucoup plus compliqué.

Du genre tout les calculs se font à la fois sur le serveur ET sur le client. Et si quelque chose ne colle pas, on réagit en conséquence.

Dernière modification par Snake046 (Le 09/08/2010, à 11:22)


Aucun message n'est caché dans cette signature.

Hors ligne

#12 Le 09/08/2010, à 11:36

darktomato

Re : limite de l'open source

Snake046 a écrit :

Mais c'est dans le serveur qu'il y a les failles.

Certes, mais en dehors de ça le client a tout de même une partie des infos qu'il est possible de trafiquer, non ?

Hors ligne

#13 Le 09/08/2010, à 11:40

Snake046

Re : limite de l'open source

Pas forcément.
Ça dépend de comment on code le tinzouin, mais si le client est capable de prendre certaines décisions, c'est qu'il est pas conçu pour que le jeu soit infaillible, c'est sûr.

Normalement, toutes les informations doivent être stockées sur le serveur. Et le serveur doit toujours partir du principe que c'est lui qui a raison.
Par exemple, si un client dit "je veux ramasser tel objet", avant de donner l'objet au client, tu dois vérifier que cet objet existe bel et bien, même si tu sais que ton client, normalement, n'est pas "capable" de demander un objet dont l'existence n'a pas été confirmée par le serveur au préalable.

Je sais pas si je suis bien clair... mais en gros, tout ce que le client fait, c'est recevoir les informations du serveur, et les afficher au client de façon à ce que le joueur puisse prendre ses décisions et demander des choses au serveur.
Serveur qui répondra ensuite par oui ou par non, en fonction de ce que lui sait être vrai.

Dernière modification par Snake046 (Le 09/08/2010, à 11:41)


Aucun message n'est caché dans cette signature.

Hors ligne

#14 Le 09/08/2010, à 11:43

crypto178

Re : limite de l'open source

darktomato a écrit :
Snake046 a écrit :

Mais c'est dans le serveur qu'il y a les failles.

Certes, mais en dehors de ça le client a tout de même une partie des infos qu'il est possible de trafiquer, non ?

Oui, mais si les traficotages servent à donner un avantage jugé disproportionné, il est possible de mettre en place des mesures côté serveur pour les contrer.
En fait, un jeu open source peut potentiellement être mieux sécurisé qu'un jeu propriétaire, car le développeur aura été forcé de se poser les bonnes questions, au lieu de l'attitude paresseuse qui serait de croire que parce que le jeu est fermé il serait sûr.

Hors ligne

#15 Le 09/08/2010, à 11:48

samυncle

Re : limite de l'open source

darktomato a écrit :
Snake046 a écrit :

Mais c'est dans le serveur qu'il y a les failles.

Certes, mais en dehors de ça le client a tout de même une partie des infos qu'il est possible de trafiquer, non ?

oui

Par exemple on pourrait imaginer dans le cadre d'un fps, d'avoir tout les murs transparents, et ça c'est indépendant du serveur. Le système de vote est pas mal pour les gros tricheurs qui tuent tout le monde au couteau dans les premières seconde (ce que disait la 'tite gogole) mais face au tricheur discret c'est pas facile.

Samuncle, je ne vois absolument pas en quoi autoriser les joueurs à coder leur propre client serait de la triche.

ben comme j'ai dis plus haut, si je code un client avec tout les murs transparents, c'est un peu beaucoup de la triche


Hello world

Hors ligne

#16 Le 09/08/2010, à 11:53

crypto178

Re : limite de l'open source

samuncle a écrit :

Samuncle, je ne vois absolument pas en quoi autoriser les joueurs à coder leur propre client serait de la triche.

ben comme j'ai dis plus haut, si je code un client avec tout les murs transparents, c'est un peu beaucoup de la triche

Comme dit plus haut :

Par exemple, ne pas transmettre la position des joueurs ennemis que le client n'est pas censé voir.

Hors ligne

#17 Le 09/08/2010, à 11:55

Snake046

Re : limite de l'open source

Mouais. Mais là le jeu open-source n'est pas plus protégé qu'un jeu propriétaire.
Tout jeu propriétaire avec un système de plugin peut être modifié de façon à profiter de ce genre de choses.
Tout jeu propriétaire en réseau peut de toute façon être recodé de A à Z (c'est un jeu en réseau : tu es donc parfaitement en mesure de savoir comment ça communique, et de coder ton propre client).
C'est le même problème : c'est du côté du serveur que tu dois régler ça... ou ne pas le régler s'il n'y a pas de solutions suffisamment rentable en terme de ressources (par exemple tu pourrais essayer de calculer les ennemis dans ta ligne de mire directement depuis le serveur, mais ce serait sacrément lourd).

Par exemple, ne pas transmettre la position des joueurs ennemis que le client n'est pas censé voir.

Imagine la puissance nécessaire dans Warcraft III pour calculer qui voit qui et n'envoyer des informations que sur ce qui est vu.
C'est pour ça que les map-hack existent.

Dernière modification par Snake046 (Le 09/08/2010, à 11:56)


Aucun message n'est caché dans cette signature.

Hors ligne

#18 Le 09/08/2010, à 12:01

crypto178

Re : limite de l'open source

Snake046 a écrit :

Par exemple, ne pas transmettre la position des joueurs ennemis que le client n'est pas censé voir.

Imagine la puissance nécessaire dans Warcraft III pour calculer qui voit qui et n'envoyer des informations que sur ce qui est vu.
C'est pour ça que les map-hack existent.

Je doute que ce soit un problème de puissance... surtout pour un RTS. Le problème dans ce cas là c'est qu'il n'y a pas de serveur "neutre", c'est un joueur qui héberge, non? (j'y ai jamais joué smile )

Hors ligne

#19 Le 09/08/2010, à 12:03

Snake046

Re : limite de l'open source

crypto178 a écrit :
Snake046 a écrit :

Par exemple, ne pas transmettre la position des joueurs ennemis que le client n'est pas censé voir.

Imagine la puissance nécessaire dans Warcraft III pour calculer qui voit qui et n'envoyer des informations que sur ce qui est vu.
C'est pour ça que les map-hack existent.

Je doute que ce soit un problème de puissance... surtout pour un RTS. Le problème dans ce cas là c'est qu'il n'y a pas de serveur "neutre", c'est un joueur qui héberge, non? (j'y ai jamais joué smile )

Au contraire. Tout particulièrement pour un RTS.
Tu dois calculer les zones vues à partir de chaque unités de l'armée du joueur et des joueurs dont il partage la vue. Alors à Blizzard bien sûr ils ont sans doute des algos très performant pour calculer tout ce bazar... mais à mon avis ça doit quand même représenter une bonne partie des ressources utilisées par le jeu, le calcul des zones affichées.


Aucun message n'est caché dans cette signature.

Hors ligne

#20 Le 09/08/2010, à 12:10

kara

Re : limite de l'open source

GentooUser a écrit :

Un systéme de vote comme dans ET ?

Comme ça un boulet (tricheur ou autre) on le ban et c'est tout !

Cela ne sert a rien

In game, tu as toujours des blaireaux qui votent pour le kick sans savoir pourquoi


De mon époque d'admin Counter strike Sources, il y avait un plugin vraiment bien

Maniadmin plugin

Il y a tellement de paramétres et de conditions suffisante pour virer un boulet automatiquement que l'intervention de l'admin est minim.

des filtres comme le nombre de TK, les pseudo interdit, les insultes censurés et tout cela

Par contre la mani admin, quand on le connait pas, c'est des heures de paramétrages et de test et de kick/ban injustes avant de l'avoir au petits oignons

#21 Le 09/08/2010, à 12:14

crypto178

Re : limite de l'open source

On fait ça depuis... warcraft 2 au moins non? Il faut pas une machine de guerre smile
Le problème peut être largement simplifié en considérant le brouillard de guerre comme une grille.

Hors ligne

#22 Le 09/08/2010, à 12:15

Koshie-2.0

Re : limite de l'open source

sailing a écrit :

Autoriser la triche, ce n'est que du jeu.

Ok, toi t'as jamais joué en ligne. La triche c'est chiant point. Personne n'aime les tricheurs et à fortiori les gens qui jouent pour devenir meilleurs, c'est frustrant de se faire tuer par un kévin de 11 ans parce que son grand-frère lui a montré comment cheater !

#23 Le 09/08/2010, à 12:40

kara

Re : limite de l'open source

Koshie-2.0 a écrit :

c'est frustrant de se faire tuer par un kévin de 11 ans parce que son grand-frère lui a montré comment cheater !

Sans maladresse, juste pour l'humour, n'y vois rien de méchant, tu as légérement tendue la perche donc ...

Promis, c'est juste pour rigoler, mais, tu veux bien nous rappeler ton prénom IRL wink

Dernière modification par karadine (Le 09/08/2010, à 12:45)

#24 Le 09/08/2010, à 12:53

Koshie-2.0

Re : limite de l'open source

Oui, je m'appelle Kévin mais je ne suis pas un kévin pour autant.

D'ailleurs, pour rappel, si cette expression est apparu c'est parce que Kévin a été le prénom le plus donné en France en 1991 (mon année de naissance, merci Kévin Costner !) et que par conséquent, quand Internet s'est démocratisé début 2000, j'avais comme les autres 9/10 ans, vers 2002 ~12 ans et par conséquent un âge un peu naïf, bête et où on est amené a dire et faire pleins de bêtise sur Internet, pour ma part j'ai été bête mais toujours bon joueurs (côté moral) sur Internet et on m'a rarement (une fois) insulté de Kévin, j'estime que je m'en suis pas trop mal sortie big_smile.

Et pour info, j'aime et j'assume à 100% mon prénom smile !

#25 Le 09/08/2010, à 15:00

kara

Re : limite de l'open source

Koshie-2.0 a écrit :

Oui, je m'appelle Kévin mais je ne suis pas un kévin pour autant.

D'ailleurs, pour rappel, si cette expression est apparu c'est parce que Kévin a été le prénom le plus donné en France en 1991 (mon année de naissance, merci Kévin Costner !) et que par conséquent, quand Internet s'est démocratisé début 2000, j'avais comme les autres 9/10 ans, vers 2002 ~12 ans et par conséquent un âge un peu naïf, bête et où on est amené a dire et faire pleins de bêtise sur Internet, pour ma part j'ai été bête mais toujours bon joueurs (côté moral) sur Internet et on m'a rarement (une fois) insulté de Kévin, j'estime que je m'en suis pas trop mal sortie big_smile.

Et pour info, j'aime et j'assume à 100% mon prénom smile !

En fait Kévin est resté mais il y a eu une transition vers le terme PYJAMA

Pyjama car il représente les mômes lobotomisés par des jeux comme WOW, CS, etc...
Ils feignantent souvent le matin, et ne s'habillent même plus le week end.
il reste en pyjama du vendredi soir au Lundi matin, ne se lévent que pour reprendre une partie.
Ils braillent dans leurs micros, parlent mal a leurs parents, sortent de leurs piaules juste pour choper des céréales et faire un détour par les WC.
Généralement identifiable par leurs extraordinaires surdités, ne répondent que pas "Qu'est ce qui ya ?" ou bien "Non je veux pas" IRL
In game, on les remarques par leurs mauvaises foi en traitant de cheater au premier HS dans la tronche.. le mot le plus utilisé est TG
ils ne connaissent ni Bonjour, ni Au revoir.
Une fois dans la vraie vie, ils passent le plus clair de leurs temps a se demander comment envahir le rayon des chips dans le supermarché ou a savoir dérriére quels obstacles ils pourraient se cacher pour surprendre ses potes.

Si vous en rencontrez un, n'engagez surtout pas la conversation, vous auriez forcement tord et il vous gaveras a coup de scores de jeux.

On en croise rarement ici car ils sont souvent des windows user et n'utilisent quasiement que Teamspeak, les gamers linuxiens préfére Mumble smile

Dernière modification par karadine (Le 09/08/2010, à 15:00)