JeuWeb - Crée ton jeu par navigateur
Gérer la communauté d'un jeu - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Communauté, communication, marketing (https://jeuweb.org/forumdisplay.php?fid=49)
+--- Sujet : Gérer la communauté d'un jeu (/showthread.php?tid=2590)

Pages : 1 2


Gérer la communauté d'un jeu - Cartman34 - 21-05-2008

Bonjour,

Mon titre reprenant une partie de la description de ce forum, je pense que c'est la bonne section.
En effet, nous sommes déjà en manque d'effectif sur IGame, nos modérateurs étant souvent occupés et les joueurs ont du mal à se tenir.
Je m'explique...nous avons plein de buguser et peu de gens honnête, le peu s'énerve au moindre reproche envers ceux qui ne le sont pas.
Ca devient extrêmement complexe et il nous est difficile de gérer cela.
Le modérateurs commencent à s'énerver et à en avoir marre d'avoir des joueurs malhonnêtes alors que l'ont travaille dur pour eux.

Quand on a une reconnaissance, ça fait plaisir mais elles ne font largement pas le poids face aux critiques.


RE: Gérer la communauté d'un jeu - zneman - 21-05-2008

Je serrais toi, je mettrais directement en place des règles / normes dans ton jeu.
Sur le mien pour exemple, les joueurs savent que je ne tolère pas la mauvaise ambiance !
Ainsi, en cas d'embrouille, j'interviens auprès des personnes concernées afin de leur faire comprendre que leur comportement n'est pas adulte et qu'il serrait bien qu'ils s'excusent les uns envers les autres..

N'hésite pas à bannir ceux qui ne veulent se plier à ce règlement, fais leur comprendre qu'ils sont là pour s'amuser !
Lors d'un bann, faites aussi attention à bien justifier n'y abuser sur la durée ! Je suis d'avis de mettre par exemple:
1) 5mn
2) 1h
3) 24h

Si le joueur tient au jeu, il reste, sinon... bah oust Wink


RE: Gérer la communauté d'un jeu - Amrac - 21-05-2008

J'ai eu le droit aussi a bon nombre de bug user, avec certaines exploitations de bug qui sature le serveur en prime. (Mais ça, c'est pas le genre de détail qui les gènes :/)

Pour mettre fin au bug user, il n'y as qu'une seul solution: trouver tout les bugs, les comprendre et les corrigés (Et bien entendue, pendre haut et cour les tricheurs).

Personnellement, j'ai passé plusieurs dizaines d'heures de programmation (en fait, on compterais plutôt en jour) pour faire des algos permettant de détecter ces abus.

Après coup, une technique c'est montré plus efficace que d'autres, je vais essayer de l'expliquer briévement.

J'ai tout d'abord détourner mon ancien script de statistiques auquel j'ai ajouté à chaque entrée (et donc, à chaque page chargé) la totalité des variables GET/POST ainsi que leur contenu, et bien entendu, j'ai ajouter un affichage "par joueur".

Ensuite, j'ai mis en place un script qui jongle sur deux sauvegardes de la base de données (pour l'exemple, on appelleras la première "Lundi" et la seconde "Mardi"), et pour chaque joueur je sélectionne ses ressources/armées dans la base du Lundi, je calcul les temps nécessaire aux construction/production/recherche en fonction de leurs bonus du Lundi, puis je compare les ressources/armées avec la base "du Mardi". S'il apparait que le joueur pouvait construire que X unités, et qu'il en as plus que X alors je considérais le joueur comme suspect.

Avec cette dernière technique du dois pouvoir trouver une grande partie de tes bug-user, a noter que personnellement j'ai fait tourner l'algo sur mes sauvegardes de bases de données en remontant jusqu'a 2 mois dans le passé. (Avec des sauvegardes à l'époque tout les 4 ou 5 jours).

Maintenant que tu as ceux qui ont utilisé des bugs, il reste trois choses à faire:
1-Différencier ceux qui ont subis le bug involontairement et ceux qui l'ont provoqué volontairement pour bannir les bons.
2-Trouver dans quels conditions le bug est réalisé.
3-Le corrigé.

C'est la qu'intervient le système dévié des stats. Personnellement (mais tu peut adopter une autre tactique), j'ai commencé les analyses en prenant sur de grandes largeurs de temps (Entre une sauvegarde début Janvier et une début février par exemple), et j'ai ensuite affiner mes recherches pour trouver a peu prêt quand à eu lieu l'exploitation du bug.
Une fois que tu as ta courte période pendant laquel tu sais qu'une personne à tricher, tu parcourt toutes les données issus du système de stat pour ce joueur durant cette période et tu cherche tout comportement anormal (Forte répétition d'une action qui est censé avoir lieu que 2 ou 3 fois, valeur des variables GET/POST anormal etc...)

De cette façon, tu rempli à la fois le point 1 et 2 car tu découvre l'origine de la faille, et tu peut regarder pour chaque personne suspect si c'est juste arrivé par hasard ou si c'était volontairement provoqué. (En général, ceux qui provoques volontairement des bugs doivent faire beaucoup d'essai).

Pour la correction, c'est à toi de jouer, mais en général une fois qu'on connait le bug ce n'est plus un problème.

J'avais d'ailleurs fait un défi sécurité sur l'un des bugs qui ma le pourrie la vie.

Désoler pour le post un peu long, surtout que c'était pas vraiment le sujet à la base.

Sinon, la 2éme chose qui pourrit l'ambiance est les multis, mais j'ai pas encore la solution miracle...

PS: Pour l'algo de comparaison des bases de données, il faut le faire tourner uniquement en local sur son poste de travail. Selon le nombre de joueurs et de base que j'analysai à la fois, le script prenait entre 5 et 15 minutes de calculs.


RE: Gérer la communauté d'un jeu - zneman - 21-05-2008

Ouf Amrac, t'as dernière phrase m'a sauvée Big Grin
J'imaginais à peine les ressources serveur que pouvait prendre une telle entreprise sur ton jeu en ligne Big Grin
Sinon.. pas mal ta solution mais... enregistrer toutes les actions des joueurs... ça fait très mal en requêtes quand même... =/


RE: Gérer la communauté d'un jeu - Sephi-Chan - 21-05-2008

Tu enregistres toutes les actions des joueurs dans des fichiers textes. Pour ma part j'ai choisi JSON, car il est très facile et pratique de convertir les objets JSON en tableaux PHP pour générer un tableau HTML sur laquelle on greffe une surcouche Javascript qui s'occupe des tris et des filtres. Wink


Sephi-Chan


RE: Gérer la communauté d'un jeu - zneman - 21-05-2008

heu... ouai.. pourquoi pas Sephi (pas compris grand chose là.. xD).
Moi je fait des vérifications quand j'ai un doute Smile
Calcul du nombre de tours, des pillages, argent perdu, troupes achetées etc etc.. Smile


RE: Gérer la communauté d'un jeu - naholyr - 21-05-2008

Corriger les bugs, à la rigueur, ça prend moins de temps que de mettre en place ce genre de système très complexe de détection d'anomalies.
Les logs me semblent nécessaires, mais je ferais une consultation manuelle au (rare) besoin, ça me gonflerait plus de passer des heures à créer un bot qui parcourt ces logs pour trouver les comportements inhabituels que de passer des heures à sortir une appli sécurisée.


RE: Gérer la communauté d'un jeu - Amrac - 21-05-2008

Si tu arrive a trouver les bugs tout seul, c'est parfait.
Mais je suppose que s'il a des problèmes de bug-users, c'est qu'il n'as pas trouvé les bugs de façon classique.


RE: Gérer la communauté d'un jeu - Anthor - 21-05-2008

Pareil que sephi.
Toute action du jeu est loggé dans un fichier JSON, une interface javascript s'occupe de l'affichage.
Franchement Amrac, je trouve ton truc super lourd.


RE: Gérer la communauté d'un jeu - Sephi-Chan - 21-05-2008

Voilà par exemple à quoi pourrait ressembler un de mes fichiers de log : [Pastebin].

Plein de choses sont stockées. Mon petit panneau d'administration me transforme tout ça en un (ou plusieurs) tableaux HTML que je peux trier grâce à Javascript. Je peux par exemple n'afficher que telles ou telles actions faites par telles ou telles IP dans telles ou telles catégories.

C'est très flexible. Chaque enregistrement dans le fichier est un objet JSON auquel je peux donner autant de clés/valeurs que je veux. Je pourrais par exemple aussi bien ajouter une propriété à mon objet JSON qui contiendrai le contenu de POST qu'à soumis l'utilisateur pour se connecter. Ou bien le contenu de GET qu'il a saisi pour inclure une page : je repère ainsi facilement les personnes qui essayent de détourner les formulaires ou les liens. Je donne un indice de menace à tout ce que j'enregistre.

J'essayerai de faire quelque chose d'assez complet à présenter sur le forum à l'occasion. Ça pourrait donner des idées de scripts de surveillance.


Sephi-Chan