08-01-2015, 08:45 PM
Je vais tenter de structurer ma réponse (perso, je n'aime pas les cascades de quotes)
AGILE
Non, le jeu n'est pas forcément "mal codé" s'il ne prévoit pas qu'un compte dirige plusieurs pays. Il lui manque une fonctionnalité dédiée, d'accord. Mais il possède la fonctionnalité "un joueur peut jouer plusieurs pays en même temps": si le joueur est informé qu'il peut se créer plusieurs comptes, alors la fonctionnalité "diriger plusieurs pays" existe.
Dans une approche AGILE, privilégiée de nos jours (à raison,selon moi), on ajoute les élément l'un après l'autre, plutôt que de vouloir tout planifier au départ et tout sortir d'un bloc. Si les joueurs réclament de diriger deux pays avec un seul compte, je travaillerai dessus. S'ils veulent jouer plusieurs pays en même temps, je leur dirai "créez deux comptes!". Ils peuvent me répondre "ouais, mais j'ai pas envie de déco/reco tout le temps". Je peux alors orienter ma solution vers "et si j'autorisai un utilisateur à être connecté à deux comptes en même temps?".
Un jeu (application web) mal codé(e) serait un jeu qui se baserait sur l'IP pour faire tel ou tel truc...
L'ip contre le multi
Personne n'en a parlé, mais cela me semble tout de même important à préciser: l'IP est une donnée de couche réseau, ce n'est pas une donnée de couche application. Cela signifie qu'il s'agit d'une information entre ton serveur et le réseau internet. Ce n'est, en aucun cas, un reflet de l'utilisateur final. On pourrait résumer un site par ce petit schéma-texte:
• Utilisateur final → Machine cliente → Réseau internet → Serveur de jeu
Du point de vue du serveur de jeu, on voit quoi? On voit ça:
• Réseau internet →[IP]→ Serveur de jeu
Et rien d'autre. Or, le multi-compte est un élément relatif à l'Utilisateur final, auquel le Serveur web n'a aucun accès.
Peu importe la technique que tu mettras en place, tu ne contreras pas le multi. Tout ce que tu feras, c'est insérer des contraintes entre le Réseau internet et le Serveur de jeu, te fermant ainsi à de nombreux Utilisateurs finaux.
Le contexte
Le problème, pour moi, n'est pas une question de il est inutile de mettre tout en oeuvre contre le multi car on ne le bloquera pas à 100%, mais un problème dans le choix de la solution (étrange phrase...!). Tu mets en place des éléments techniques dont l'effet direct est de bloquer une IP (par exemple), et dont l'effet collatéral est d'empêcher qu'on utilise le Serveur de jeu d'une certaine façon.
Tu n'as pas accès à l'utilisateur final du jeu, par conséquence peu importe les moyens mis en place, tu ne contreras pas le multi. Tu ne feras que filtrer entre ceux qui ont assez de connaissances pour faire du multi et les autres. Les contraintes techniques auront toutes des effets collatéraux qui finiront par s'additionner avec le temps et par fermer le jeu à tout utilisateur car ces derniers tomberont forcément dans le cas d'une des contraintes techniques que tu as prévues. Par exemple, tu bloques TOR pour bloquer le multi: aucun utilisateur de TOR ne peut jouer. Tu bloques les comptes dont l'IP reçue par le serveur est la même: deux membres d'une même famille ne peuvent pas jouer en même temps. Tu bloques l'IP si elle crée/joue sur plusieurs comptes: tu empêches les joueurs d'utiliser le réseau de l'opérateur de téléphonie.
J'ai du mal à formuler synthétiquement l'idée, alors je vais l'imager: j'ai l'impression d'être en face d'un fabriquant de perceuses qui souhaite que son outil ne puisse servir qu'à percer du métal et rien d'autre. Le fabriquant peut faire ce qu'il veut comme solutions techniques sur sa perceuse, il n'arrivera jamais à bloquer 100% des utilisateurs et ceux qui voudront percer le métal le perceront. En effet, toute contrainte technique (ce que tu mets en place) appelle une contre-mesure technique.
Si tu veux bloquer le multi compte, change de contexte: débrouilles-toi pour avoir accès à l'utilisateur final. Tu peux le faire en organisant des LAN régulières, ou bien en faisant en sorte que le jeu ne se joue que depuis un local précis en ville, que tu surveilles, et non sur Internet.
Interne / Externe au serveur
Continuer sur la lancée du contexte. Pour moi, d'accord pour vendre des items IG (c'est dans le serveur), mais si tu veux vendre de l'interface, alors ne te plains pas d'être concurrencé: l'interface est hors du serveur web, elle est donc dans le monde ouvert de la libre entreprise, et tout le monde peut s'amuser à faire sa propre sur-couche sur l'interface, en la vendant si besoin (vendre un code javascript permettant de modifier l'interface d'un site web est probablement légal).
Tu pourras, là encore, mettre toutes les solutions techniques que tu veux: tu n'es pas dans le bon contexte, ta solution ne marchera pas (cela fait écho à Comment bloquer les plug-ins d'un navigateur). Tous les moyens techniques que tu mettras en oeuvre échoueront car le contexte n'est pas le bon. Tu vas t'épuiser pour rien...
Rapporter l'effort à ses conséquences
Oui Argorate, l'outil de ban d'IP, cela ne coute pas grand chose, mais cela ne rapporte pas grand chose non plus (le ratio risque/gain est là aussi). Tu y as au moins passé 30 minutes (t'as demandé de l'aide ici, donc c'est pas si trivial!) pour peut-être bloquer 1 joueur sur 1000, cela veut dire qu'en proportion, tu passerais 30.000 minutes (soient 500heures, donc ~4000€ au SMIC) pour contrer partiellement le multi... Le ratio temps passé/gain est plus que moisi!
Bloquer les échanges "injustes" in-game, c'est bien plus intéressant: ok on y passe 30 heures au lieu de 30 minutes, mais cela va:
• Bloquer des centaines de tentatives
• Instaurer un nouvel élément de gameplay
• Concerner tous les joueurs d'un coup (au lieu d'un ou deux max)
Ce que disaient niahoo, Max et d'autres dont moi, c'est justement qu'il vaut mieux te concentrer sur le code métier, sortir le jeu, et plus tard, répondre aux triches s'il y a lieu d'y répondre. Si cela se trouve, personne n'utilisera TOR sur le jeu... Peut-être même que personne ne râlera contre le multi...!
D'ailleurs, si tu privilégie le gameplay et sort rapidement une version jouable, peut-être auras-tu des retours de joueurs, et peut-être mettras-tu en place de nouvelles règles de jeu, qui rendront le multi inutile...
Penser le gameplay contre le multi
Ok, mon gameplay "qui n'avantage pas le multi" s'auto-limite.
Considérons un jeu où le multi avantage le joueur. Alors tu es en train de mettre en place des contraintes pour limiter ce que ce joueur peut faire. C'est mieux? Si je fais un gameplay où le multi est un atout, alors je ne restreindrai pas les joueurs: si un joueur arrive à jouer sur 50 comptes en même temps, tant mieux pour lui car il exploite bien le gameplay, puisque ce dernier favorise le multi.
Au fond, je considère que tout ce que le joueur a le droit de faire est faisable: je n'ai pas envie de limiter mes joueurs car je n'ai pas envie de les frustrer. De plus, sur-contraindre le jeu va le faire mourir.
L'émergence ne peut se faire que si on adopte une approche blacklist: tout ce qui n'est pas interdit est autorisé.
La sécurité ne peut se faire que si on adopte une approche whitelist: tout ce qui n'est pas explicitement autorisé est interdit.
Dans le cas d'un jeu, au sens gameplay, l'émergence me semble indispensable (sinon, toutes les parties seront stéréotypées). Si l'approche sécuritaire est choisie, on fera vite le tour du jeu et on s'en lassera.
Apartées
• Y'a un coté très ouais si c'est moi, payez si c'est une grosse boite, piratez :XD: Il y en a un de plus légitime entre une grosse boite qui fait vivre 10.000 personnes et un mec tout seul qui développe son site dans son coin?!
• Perso, je ne vois pas qui t'inflige l'obligation de mettre des parades byzares "anti-triche", surtout au vu des réponses qu'on a ici...
AGILE
Non, le jeu n'est pas forcément "mal codé" s'il ne prévoit pas qu'un compte dirige plusieurs pays. Il lui manque une fonctionnalité dédiée, d'accord. Mais il possède la fonctionnalité "un joueur peut jouer plusieurs pays en même temps": si le joueur est informé qu'il peut se créer plusieurs comptes, alors la fonctionnalité "diriger plusieurs pays" existe.
Dans une approche AGILE, privilégiée de nos jours (à raison,selon moi), on ajoute les élément l'un après l'autre, plutôt que de vouloir tout planifier au départ et tout sortir d'un bloc. Si les joueurs réclament de diriger deux pays avec un seul compte, je travaillerai dessus. S'ils veulent jouer plusieurs pays en même temps, je leur dirai "créez deux comptes!". Ils peuvent me répondre "ouais, mais j'ai pas envie de déco/reco tout le temps". Je peux alors orienter ma solution vers "et si j'autorisai un utilisateur à être connecté à deux comptes en même temps?".
Un jeu (application web) mal codé(e) serait un jeu qui se baserait sur l'IP pour faire tel ou tel truc...
L'ip contre le multi
Personne n'en a parlé, mais cela me semble tout de même important à préciser: l'IP est une donnée de couche réseau, ce n'est pas une donnée de couche application. Cela signifie qu'il s'agit d'une information entre ton serveur et le réseau internet. Ce n'est, en aucun cas, un reflet de l'utilisateur final. On pourrait résumer un site par ce petit schéma-texte:
• Utilisateur final → Machine cliente → Réseau internet → Serveur de jeu
Du point de vue du serveur de jeu, on voit quoi? On voit ça:
• Réseau internet →[IP]→ Serveur de jeu
Et rien d'autre. Or, le multi-compte est un élément relatif à l'Utilisateur final, auquel le Serveur web n'a aucun accès.
Peu importe la technique que tu mettras en place, tu ne contreras pas le multi. Tout ce que tu feras, c'est insérer des contraintes entre le Réseau internet et le Serveur de jeu, te fermant ainsi à de nombreux Utilisateurs finaux.
Le contexte
Le problème, pour moi, n'est pas une question de il est inutile de mettre tout en oeuvre contre le multi car on ne le bloquera pas à 100%, mais un problème dans le choix de la solution (étrange phrase...!). Tu mets en place des éléments techniques dont l'effet direct est de bloquer une IP (par exemple), et dont l'effet collatéral est d'empêcher qu'on utilise le Serveur de jeu d'une certaine façon.
Tu n'as pas accès à l'utilisateur final du jeu, par conséquence peu importe les moyens mis en place, tu ne contreras pas le multi. Tu ne feras que filtrer entre ceux qui ont assez de connaissances pour faire du multi et les autres. Les contraintes techniques auront toutes des effets collatéraux qui finiront par s'additionner avec le temps et par fermer le jeu à tout utilisateur car ces derniers tomberont forcément dans le cas d'une des contraintes techniques que tu as prévues. Par exemple, tu bloques TOR pour bloquer le multi: aucun utilisateur de TOR ne peut jouer. Tu bloques les comptes dont l'IP reçue par le serveur est la même: deux membres d'une même famille ne peuvent pas jouer en même temps. Tu bloques l'IP si elle crée/joue sur plusieurs comptes: tu empêches les joueurs d'utiliser le réseau de l'opérateur de téléphonie.
J'ai du mal à formuler synthétiquement l'idée, alors je vais l'imager: j'ai l'impression d'être en face d'un fabriquant de perceuses qui souhaite que son outil ne puisse servir qu'à percer du métal et rien d'autre. Le fabriquant peut faire ce qu'il veut comme solutions techniques sur sa perceuse, il n'arrivera jamais à bloquer 100% des utilisateurs et ceux qui voudront percer le métal le perceront. En effet, toute contrainte technique (ce que tu mets en place) appelle une contre-mesure technique.
Si tu veux bloquer le multi compte, change de contexte: débrouilles-toi pour avoir accès à l'utilisateur final. Tu peux le faire en organisant des LAN régulières, ou bien en faisant en sorte que le jeu ne se joue que depuis un local précis en ville, que tu surveilles, et non sur Internet.
Interne / Externe au serveur
Continuer sur la lancée du contexte. Pour moi, d'accord pour vendre des items IG (c'est dans le serveur), mais si tu veux vendre de l'interface, alors ne te plains pas d'être concurrencé: l'interface est hors du serveur web, elle est donc dans le monde ouvert de la libre entreprise, et tout le monde peut s'amuser à faire sa propre sur-couche sur l'interface, en la vendant si besoin (vendre un code javascript permettant de modifier l'interface d'un site web est probablement légal).
Tu pourras, là encore, mettre toutes les solutions techniques que tu veux: tu n'es pas dans le bon contexte, ta solution ne marchera pas (cela fait écho à Comment bloquer les plug-ins d'un navigateur). Tous les moyens techniques que tu mettras en oeuvre échoueront car le contexte n'est pas le bon. Tu vas t'épuiser pour rien...
Rapporter l'effort à ses conséquences
Oui Argorate, l'outil de ban d'IP, cela ne coute pas grand chose, mais cela ne rapporte pas grand chose non plus (le ratio risque/gain est là aussi). Tu y as au moins passé 30 minutes (t'as demandé de l'aide ici, donc c'est pas si trivial!) pour peut-être bloquer 1 joueur sur 1000, cela veut dire qu'en proportion, tu passerais 30.000 minutes (soient 500heures, donc ~4000€ au SMIC) pour contrer partiellement le multi... Le ratio temps passé/gain est plus que moisi!
Bloquer les échanges "injustes" in-game, c'est bien plus intéressant: ok on y passe 30 heures au lieu de 30 minutes, mais cela va:
• Bloquer des centaines de tentatives
• Instaurer un nouvel élément de gameplay
• Concerner tous les joueurs d'un coup (au lieu d'un ou deux max)
Ce que disaient niahoo, Max et d'autres dont moi, c'est justement qu'il vaut mieux te concentrer sur le code métier, sortir le jeu, et plus tard, répondre aux triches s'il y a lieu d'y répondre. Si cela se trouve, personne n'utilisera TOR sur le jeu... Peut-être même que personne ne râlera contre le multi...!
D'ailleurs, si tu privilégie le gameplay et sort rapidement une version jouable, peut-être auras-tu des retours de joueurs, et peut-être mettras-tu en place de nouvelles règles de jeu, qui rendront le multi inutile...
Penser le gameplay contre le multi
Ok, mon gameplay "qui n'avantage pas le multi" s'auto-limite.
Considérons un jeu où le multi avantage le joueur. Alors tu es en train de mettre en place des contraintes pour limiter ce que ce joueur peut faire. C'est mieux? Si je fais un gameplay où le multi est un atout, alors je ne restreindrai pas les joueurs: si un joueur arrive à jouer sur 50 comptes en même temps, tant mieux pour lui car il exploite bien le gameplay, puisque ce dernier favorise le multi.
Au fond, je considère que tout ce que le joueur a le droit de faire est faisable: je n'ai pas envie de limiter mes joueurs car je n'ai pas envie de les frustrer. De plus, sur-contraindre le jeu va le faire mourir.
L'émergence ne peut se faire que si on adopte une approche blacklist: tout ce qui n'est pas interdit est autorisé.
La sécurité ne peut se faire que si on adopte une approche whitelist: tout ce qui n'est pas explicitement autorisé est interdit.
Dans le cas d'un jeu, au sens gameplay, l'émergence me semble indispensable (sinon, toutes les parties seront stéréotypées). Si l'approche sécuritaire est choisie, on fera vite le tour du jeu et on s'en lassera.
Apartées
• Y'a un coté très ouais si c'est moi, payez si c'est une grosse boite, piratez :XD: Il y en a un de plus légitime entre une grosse boite qui fait vivre 10.000 personnes et un mec tout seul qui développe son site dans son coin?!
• Perso, je ne vois pas qui t'inflige l'obligation de mettre des parades byzares "anti-triche", surtout au vu des réponses qu'on a ici...