Systéme de bannissement - 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 : Systéme de bannissement (/showthread.php?tid=1626) |
Systéme de bannissement - Batista69 - 22-08-2007 Bonsoir je suis actuellement entrain de créer un jeu et donc j'en arrive a la partie administration . Voila mon probléme : Comment débannir un joueur automatiquement selon la durée du bannissement ? RE: Systéme de bannissement - Artiou - 22-08-2007 Voilà, je crois que j'ai une réponse vu que j'y ai moi même réfléchi pour mon projet: tu enregistres dans une table nommée bannis: la date du bannissement, le pseudo, la date de débannissement à chaque fois qu'un memebre se connecte, çaregarde s'il est banni et si la date de bannissment est dépassée, tu demandes à php de demander à mysql de supprimer la ligne où le pseudo du banni apparaît voila, c'est pas trop compliqué RE: Systéme de bannissement - Globe - 22-08-2007 Hum j'y ai jamais réfléchi... En alliant un timestamp et un cron je suppose. EDIT : La technique de Artiou est plus simple et tout aussi efficace. RE: Systéme de bannissement - uriak - 22-08-2007 sauf si tu souhaites prévenir par mail l'heureux destinataire RE: Systéme de bannissement - Batista69 - 22-08-2007 Merci je pense que je vais utiliser le cron avec le timestamp car parfois ils sont bannis par exemple 1 heure . RE: Systéme de bannissement - denisc - 22-08-2007 oui, mais elle pose un problème quand aux dates de débanissement! Imaginons un tricheur, bloqué mais sécurisé (c'est à dire inattaquable, mais n'ammassant plus les ressources, PA, PV...) pour 24:00 le 1/9/7 à 13:00. Il faut qu'il soit à nouveau attaquable le lendemain, 2/9/7 à 13:00 pour les autres joueurs! Celà implique que les tests de ban doivent se faire, non pas sur la connexion du joueur banni (car si celui-ci se connecte le 8/9/7 à 13:00, c'est à dire une semaine après son ban, il n'aura pas été attaqué par les autres joueurs, certes, mais n'aura pas non plus récupéré les PV et PA de ses personnages non plus, alors que ceux-ci auraient du en récupérer pendant les 6 jours de non bloquage et qu'il aurai pu être attaqué durant cette même période!), mais à chaque fois qu'une requête est envoyée au serveur... Et ça, ça peut être vite très lourd. Le mieux semble donc d'utiliser un système de cron, un certain nombre de fois par jour (genre avec 2 maj des ban par jour: 0:00 et 12:00, quand tu es bloqué pour 24h le 3/10 à 15:00, tu ne peux pas être libéré avant le 5/10 à 0:00) RE: Systéme de bannissement - Artiou - 23-08-2007 ce que j'ai proposé en effet ne marche que lorsque il s'agit d'un chat ou d'un jeu où la triche dans ce sens est impossible. mais pour moi lors du ban, le banni ne reçoit pas de ressources.. en fait ,je connais pas les crons, mais je vais voir ce que c'est (non j'ai pas encore fini le tuto de m@teo RE: Systéme de bannissement - uriak - 23-08-2007 C'est comme un simple problème de ressources, où l'un des "ressources" serait le statut "banni". Les situations possible sont les suivantes Le joueur veut savoir s'il est banni : au log, une fonction vérifie la date par rapport à la date calculée de "déban". Elle restaure le statut du joueur si le temps de la punition est passé. Pour la mise à jour des ressources : il faut créer la structure (table suivante, pour les bans) ban : joueur, date de ban, durée de ban, statut. le statut peut être : en cours, résolu. Lors du ban, le statut devient en cours. A chaque intervention du joueur ou d'un ennemi, la séquence suivante doit être réalisée : Code : if joueur a un épisode de ban non résolu (à stocker comme on veut) cette grosse fonction traduit l'effet de blocage sur les ressources d'un joueur, tout en autorisant la consulation et le vol par les autres. Evidemment, on peut s'éviter ce mal si on fait bien les choses en amont : le ban actualise toutes les ressources du banni, plus impossibilité de piller lors d'un ban (mais vérificiation du statut et mise à jour quand même) RE: Systéme de bannissement - denisc - 23-08-2007 CQFD +1 pour toi Uriak |