05-03-2012, 07:44 PM
Bonjour
j'ai un petit problème sur mon jeu, assez délicat à résoudre, j'expose le problème:
Un joueur m'a attaquer plusieurs fois très rapidement, et m'a tué, sauf qu'une attaque a eu lieu après ma mort (chose pas possible puisqu'on respawn ailleurs, hors de portée).
Donc cette attaque après ma mort n'aurait pas du avoir lieu.
J'ai réussi a reproduire le bug en lançant deux requêtes d'attaques très rapproché et dont la première est meurtrière, effectivement j'ai constaté que la seconde fonctionné quand même.
Je pense qu'en fait, l'initialisation de mon objet joueur dans la deuxième requête d'attaque (se faisant en début de page) s'effectue en réalité avant l'application de la méthode qui gère la mort de la première requête.
Ainsi, les deux attaques étant très rapproché dans le temps, parte dans le même état, mais n’attendent pas que les potentielles précédentes requêtes soient fini.
Contre ça, j'ai bien sur empêché, via l'interface JS, d'enchainer des attaques, mais les petits malins ouvrent deux navigateurs à la fois, et il suffit de switcher pour lancer les attaques de manière très rapproché.
Donc la solution, qui est aussi la question : comment faire pour interdire (coté serveur) à une personne d'appeler plusieurs fois la même page en même temps? (comment bloquer la page d'attaque tant qu'un attaque (émise par le joueur) est en cours?)
Voilà, j’espère que vous avez compris le problème, c'est pas évident, merci de m'aider si vous avez des idées...?
j'ai un petit problème sur mon jeu, assez délicat à résoudre, j'expose le problème:
Un joueur m'a attaquer plusieurs fois très rapidement, et m'a tué, sauf qu'une attaque a eu lieu après ma mort (chose pas possible puisqu'on respawn ailleurs, hors de portée).
Donc cette attaque après ma mort n'aurait pas du avoir lieu.
J'ai réussi a reproduire le bug en lançant deux requêtes d'attaques très rapproché et dont la première est meurtrière, effectivement j'ai constaté que la seconde fonctionné quand même.
Je pense qu'en fait, l'initialisation de mon objet joueur dans la deuxième requête d'attaque (se faisant en début de page) s'effectue en réalité avant l'application de la méthode qui gère la mort de la première requête.
Ainsi, les deux attaques étant très rapproché dans le temps, parte dans le même état, mais n’attendent pas que les potentielles précédentes requêtes soient fini.
Contre ça, j'ai bien sur empêché, via l'interface JS, d'enchainer des attaques, mais les petits malins ouvrent deux navigateurs à la fois, et il suffit de switcher pour lancer les attaques de manière très rapproché.
Donc la solution, qui est aussi la question : comment faire pour interdire (coté serveur) à une personne d'appeler plusieurs fois la même page en même temps? (comment bloquer la page d'attaque tant qu'un attaque (émise par le joueur) est en cours?)
Voilà, j’espère que vous avez compris le problème, c'est pas évident, merci de m'aider si vous avez des idées...?
Dévotion, jeu multijoueur gratuit par navigateur de stratégie et de conquête
The Magic Institute, le jeu de magie médieval fantastique gratuit en ligne
Rapture Studio : créateur de divertissement pour tous
JePolitique.fr - débattons ensemble
JécrisLaConstitution.fr - ne laissons pas les Hommes aux pouvoirs écrire les règles du pouvoir
Je Deviens Citoyen (Association à but non lucratif)
The Magic Institute, le jeu de magie médieval fantastique gratuit en ligne
Rapture Studio : créateur de divertissement pour tous
JePolitique.fr - débattons ensemble
JécrisLaConstitution.fr - ne laissons pas les Hommes aux pouvoirs écrire les règles du pouvoir
Je Deviens Citoyen (Association à but non lucratif)