Forum Heroes' Chronicles
http://forum.heroeschronicles.nainwak.org/phpbb3/

Système d'attente anti-multikill?
http://forum.heroeschronicles.nainwak.org/phpbb3/viewtopic.php?f=41&t=14837
Page 1 sur 1

Auteur:  Athos [ Mer 27 Sep, 2006 20:31 ]
Sujet du message:  Système d'attente anti-multikill?

Bonjour,

Suite à la vague de multikill qui nous a durement frappés pendant cette guerre, je pense qu'il serait temps de réagir...
Alors, pourquoi ne pas tenter de mettre en place un petit système d'attente ? Je m'explique :

Tout d'abord, les conséquences de ce systèmes (oulah je fais tout à l'envers aujourd'hui!) :

Les Avantages
    * Plus aucun multikills
    * Un serveur qui rame moins
    * Moins de problème avec le nombre de connexions simultanées pour l'avenir
    * Plus de suspens :roll:

Les Inconvénients
    * Finies les primes triplées
    * Finies les coopérations antijeu
    * Un peu plus de temps d'attente
    * Un bon tirage de cheveux en perspective pour le RP


Mais comment ça marcherait donc ?

Eh bien c'est tout simple.
Quand vous faites un kill de quelqu'un, le serveur vérifie dans un petit fichier (temps d'execution très rapide) qui contient la date du dernier kill, si quelqu'un n'a pas déjà été tué il y a moins de 5 secondes (temps approximatif de l'execution d'un kill en temps de lagg).

Si personne n'a été tué dans les 5 dernières secondes, pas de problème, on met à jour préalablement le fichier, et pam! dans la tronche.

En revanche, s'il y a quelqu'un de mort il y a moins de 5 secondes, là, on regarde dans le fichier, à côté de la date, le nombre de personnes en attente de kill. On ajoute 1 à ce nombre (vu que nous aussi on attend maintenant) et on redirige le joueur sur une page d'attente avec un joli RP. Dans sa session, on ajoute un "ticket" d'attente au joueur.

Cette page le redirige au bout de 5*(nombre de personnes en attente) secondes sur la page d'attaque avec tous les paramètres. On vérifie le ticket, on met à jour le petit fichier, et pam! si la personne n'a pas déjà été tuée, on lui éclate la tronche.

Voilà, avec ça il me semble que le multikill est tout bonnement impossible, puisqu'un fichier ne peut être ouvert que par une personne à la fois (enfin bref je me comprends).
Donc voilà, ainsi, plus de multikill. Je suppose que ça ne plaira peut-être pas à tout le monde car le multikill est réputé lucratif, mais bon!
Je me suis lancé!

aThos.

Auteur:  Mogfurtif [ Mer 27 Sep, 2006 20:43 ]
Sujet du message: 

chatissimus à déja proposé un truc qui pourrait marcher et sans temps d'attente

Auteur:  Jansen [ Ven 29 Sep, 2006 21:31 ]
Sujet du message: 

Bah si je puis me permettre ya un moyen tout bête (2 lignes de code en plus ^^) pour éviter ce genre de conflits quand deux processus utilisent une même ressource :
Les sémaphores (comprendront ceux qui ont eu des cours de programmation système, les autres MP moi je vous ferai un cours avec plaisir ;) )

Auteur:  Athos [ Ven 29 Sep, 2006 21:35 ]
Sujet du message: 

C'est en quelque sorte ce que je proposais...

Auteur:  Jansen [ Sam 30 Sep, 2006 10:55 ]
Sujet du message:  Re: Système d'attente anti-multikill?

Athos a écrit:
puisqu'un fichier ne peut être ouvert que par une personne à la fois (enfin bref je me comprend)


J'en suis pas certain... Il me semble que les fichiers peuvent être ouverts en lecture par plusieurs processus (voire même en écriture). Et c'est justement pourquoi on a créé le système de sémaphores.
Donc non ton système ne revient pas au même et risque même de ne pas marcher... :roll:
M'enfin c'était pas si bête que ça ton idée :wink:

Page 1 sur 1 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/