Perte de Po

Un problème pour vous connecter aux serveurs HelloMinecraft ? Une question ? Alors postez ici !
ORelio
Ancien Administrateur
Messages : 12582
Inscription : 28 oct. 2011, 22:06
Pseudo Minecraft : ORelio
Contact :

Re: Perte de Po

Messagepar ORelio » 05 mai 2015, 11:36

Ce plugin pourrait en effet être responsable du spam de requêtes pour récupérer le nombre de PO du joueur en effet !
Et après peut-être que ce spam provoque un problème dû à une mauvaise conception dans le plugin d'économie ou dans QuickShop, mais qui n'était pas apparent avant...

Donc sinon, maintenant que tous les serveurs ont redémarré, je confirme que ce n'est pas la mise à jour de Vault donc je la remet (Dark m'a confirmé ne pas avoir mis à jour Fe).
Cela floode toujours autant et le mécanisme "mise à 0 PO" suivi de "mise à X PO" est toujours là. J'ai vu plus de 50 requêtes en une seule seconde et ce pour un seul joueur connecté.

Prochaine étape : désactiver l'extension du plugin de tab-list qui donne les infos concernant le nombre de PO, etc.
(Cela ne désactive pas entièrement le plugin de tab-list, mais cela enlèvera les couleur de pseudo, PO, nom de la map, etc)
Je viens de le faire et j'attends un peu pour voir ce que ça va donner niveau base de données.

EDIT: Le spam persiste, ce n'est pas lui. Mais maintenant il n'y a plus des requêtes toutes les secondes il y a des spam ponctuels, et des moments sans rien.
Après avoir regardé le code source de l'extension, celle-ci récupère les PO des joueurs 2 fois par seconde ce qui est quand même un "bruit de fond" assez élevé.
J'ai donc modifé le délai en 5 secondes (donc mise à jour des PO dans le tab toutes les 5 secondes au lieu de toutes les 0,5 secondes) avant de remettre le plugin.

EDIT 2: Malgré le délai de 5 secondes, le spam est de nouveau là après avoir remis le plugin
- Lorsque le plugin est absent, il y a quelques pics de spam chaque minute
- Lorsque le plugin est présent, il y a des pics de spam en continu
Je pense que le plugin de TabList aggrave un bug déjà existant à la base dans le plugin d'économie.
Image
Image
__ORelio, Tonton des Eclairs - Développeur sur HM - Admin à temps partiel - Night Club - L'Hymne des modérateurs
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse Image

Edrixal
Messages : 5436
Inscription : 24 août 2011, 22:41

Re: Perte de Po

Messagepar Edrixal » 05 mai 2015, 18:11

Bon du coup y'a déjà un début de piste ^^

Maintenant quel sont les autres plugin qui pourrait passer leur temps à vérifier les po des joueurs ? Faction peut être avec la commande /f buy ?
Admin de la faction Solarys.

Si nous vous avons tout pris, dite vous que vous aurez eu le privilège de participer à la construction d'un projet qui vous dépasse ...

Vous avez besoin de po ? Il m'arrive de racheter des ressources en masse
! Aller voir ici pour plus d'information.

ORelio
Ancien Administrateur
Messages : 12582
Inscription : 28 oct. 2011, 22:06
Pseudo Minecraft : ORelio
Contact :

Re: Perte de Po

Messagepar ORelio » 05 mai 2015, 20:08

En fait j'ai demandé à des joueurs pour lesquels j'ai constaté un gros spam + des mises à jour de PO, sur le coup pendant qu'ils étaient connectés,
l'un n'avait strictement rien fait, l'autre avait juste fait /money : autant dire, que cela ne semble pas lié à une action particulière.
Image
Image
__ORelio, Tonton des Eclairs - Développeur sur HM - Admin à temps partiel - Night Club - L'Hymne des modérateurs
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse Image

Edrixal
Messages : 5436
Inscription : 24 août 2011, 22:41

Re: Perte de Po

Messagepar Edrixal » 05 mai 2015, 22:28

Il me semble logique que le bug ne survienne pas suite à une action aussi simple qu'un /money ^^ Sinon il y aurait eu beaucoup plus de plainte ^^'

Mais peut être qu'un claim massif (même s'ils sont gratuits, faction doit cependant vérifier les po à chaque claim.) par exemple peut amener à un spam, même en autoclaim par exemple. Ou une personne qui resterais longtemps sur un tab, ou peut être quelqu'un d'extérieur qui regarderais le /money du dit joueur ?! Peut être aussi que cela viendrait des shops qui vérifie s'ils peuvent encore valider l'achat des ressources (Quelqu'un qui spam clic sur un panneau shop (pire encore avec un mode qui le ferait autoclic par exemple ...)) ?! 'fin quant on y réfléchie y'a des tonnes de petit truc anodin mais qui quelques part nécessite d'actualiser la somme de po pour les vérifiées ...
Admin de la faction Solarys.

Si nous vous avons tout pris, dite vous que vous aurez eu le privilège de participer à la construction d'un projet qui vous dépasse ...

Vous avez besoin de po ? Il m'arrive de racheter des ressources en masse
! Aller voir ici pour plus d'information.

ORelio
Ancien Administrateur
Messages : 12582
Inscription : 28 oct. 2011, 22:06
Pseudo Minecraft : ORelio
Contact :

Re: Perte de Po

Messagepar ORelio » 06 mai 2015, 07:35

C'est vrai. Et comme au final tout passe par le plugin d'économie, difficile de s'y retrouver...
Si on ne trouve pas de plugin d'économie faisant l'affaire, j'en fais un tellement c'est débile :lol:
C'est super simple quand on a une base de données :
- Récupérer les PO depuis la base de données
- Noter le *différentiel de PO* depuis qu'on a récupéré (ex: -100Po, +100Po)
- A intervalles réguliers, appliquer le changement sur la base de données, et re-récupérer le nombre de PO
Avec mettons un intervalle de 5 secondes minimum, ça fait 3 requêtes max par joueur et toutes les 5 secondes.
Et encore, si c'est bien fichu : on ne refait la requête que s'il y a des changements à appliquer à la base ou qu'on veut une valeur à jour.
J'ai peut être raté quelque chose, mais à mes yeux faire un plugin d'économie basé sur une base de données, ça m'a l'air très simple.
Et même si on travaille avec une version "en cache", si une transaction a lieu sur deux serveurs en même temps, comme on ne fait que des opérations += -= ça va marcher.
Le seul risque en faisant ça c'est de se retrouver dans les négatifs ex si 2 personnes vendent un truc cher dans votre shop simultanément sur le Play et le Build.
Image
Image
__ORelio, Tonton des Eclairs - Développeur sur HM - Admin à temps partiel - Night Club - L'Hymne des modérateurs
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse Image

Edrixal
Messages : 5436
Inscription : 24 août 2011, 22:41

Re: Perte de Po

Messagepar Edrixal » 06 mai 2015, 16:41

Du coup c'est peut être aussi pour ça qu'il y à une vérif toute les 0.5s ^^

'fin pour ma part je pense qu'il que pour valider la vente il faut :

1 - Vérifier si les po sur le compte son suffisant.
2 - Si oui, on retire les po sur le compte en les mettant de coter temporairement.
3 - Vérifier si une fois les po retirer, les po restant sont toujours suffisant (donc supérieur a 0 ^^)
4 - Si c'est Ok, la transaction est valider et les po sont transférer sur le compte du vendeur. Si ce n'est pas OK, la transaction est annuler et les po sont remit sur le compte de l'acheteur.

Ainsi, si deux personne tente d'acheter exactement en même temps, aucun soucis, sa dira non au deux, ils n'aurons cas retenter plus tard pour y arrivé. A moins qu'ils aient la malchance de toujours retenter ensemble ^^
Du coup sa double les vérifs et alourdie la procédure ainsi que le nombre de requête ^^' Mais sa évitera qu'une personne ne profite de po qu'il ne pourrait avoir. Quoi que d'un coter on peut virer la premières vérification, mais du coup en cas de po insuffisant on aura deux étapes au lieu d'une seule.
Admin de la faction Solarys.

Si nous vous avons tout pris, dite vous que vous aurez eu le privilège de participer à la construction d'un projet qui vous dépasse ...

Vous avez besoin de po ? Il m'arrive de racheter des ressources en masse
! Aller voir ici pour plus d'information.

ORelio
Ancien Administrateur
Messages : 12582
Inscription : 28 oct. 2011, 22:06
Pseudo Minecraft : ORelio
Contact :

Re: Perte de Po

Messagepar ORelio » 06 mai 2015, 16:53

Je comprends ton raisonnement mais cela ne justifie pas le spam de requêtes (50 pour le même joueur, en une seconde ^^)
De plus, prendre temporairement des PO pour les remettre (comme fait le plugin actuel, il prend tout) n'est pas une bonne idée : si on n'arrive pas à les remettre le joueur se retrouve avec 0 po ^^
Image
Image
__ORelio, Tonton des Eclairs - Développeur sur HM - Admin à temps partiel - Night Club - L'Hymne des modérateurs
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse Image

Edrixal
Messages : 5436
Inscription : 24 août 2011, 22:41

Re: Perte de Po

Messagepar Edrixal » 06 mai 2015, 17:08

Je ne disais pas que ce devait être la procédure du plugin actuelle, mais la procédure que tu pourrait appliquer si tu créer ton propre plugin :p

Après pour le plugin actuelle pour expliquer qu'il y ai un spam de requête là ... Déjà pourquoi le plugin retire tout les po pour les mettre de coter ? J'veut dire moi par exemple, j'ai plus de 5.000po et j'ai jamais rien fait qui m'a coûter 5.000 po d'un coup ^^ Même en achat de power x) Du coup il n'y a aucune raison pour qu'il me retire même temporairement tout mes po oO
Après je pense que comme tu l'avait expliquer y'a un spam de requête sur le joueur, si le spam continue trop longtemps et que le plugin n'arrive pas a lire les po il considère que s'il n'arrive pas a lire le nombre de po du joueur c'est qu'il n'en a plus et donc met donc compte de po a zéro.

Probablement une sécurité a la ... Une sécurité bébête mise en place pour pallier a des possibles erreurs de calcul ou des bugs sur des retrait de po qui devait mener le compte à zéro po ... Du coup est ce que de ton coter tu ne pourrait pas juste rajouter une sécurité avec le plugin HM ? ^^
Admin de la faction Solarys.

Si nous vous avons tout pris, dite vous que vous aurez eu le privilège de participer à la construction d'un projet qui vous dépasse ...

Vous avez besoin de po ? Il m'arrive de racheter des ressources en masse
! Aller voir ici pour plus d'information.

ORelio
Ancien Administrateur
Messages : 12582
Inscription : 28 oct. 2011, 22:06
Pseudo Minecraft : ORelio
Contact :

Re: Perte de Po

Messagepar ORelio » 06 mai 2015, 17:26

Cela doit être pour faire comme tu as dit : bloquer tout achat depuis un autre serveur.
Sauf qu'au lieu de mettre de côté la somme de l'achat, il met tout de côté peu importe la somme à dépenser.
Du coup s'il n'arrive pas à remettre les PO en base (parce que celle-ci est spammée), la base contiendra la valeur de 0Po pour ce joueur.

La procédure que tu me décris ne met de côté que la somme correspondant à l'achat, mais a tout autant de chances de perdre cette somme qu'actuellement : ce n'est pas fiable.
Concernant le spam : il doit y avoir des plugin peu scrupuleux qui spamment de demandes au plugin d'économie, qui à son tour spamme la base de données.
Comme dit plus haut ce phénomène a été aggravé par la case "PO" dans le tab, qui augmente considérablement ce spam.

La procédure que je propose permet de contrôler ce spam, en maintenant côté plugin un cache des valeurs de PO :
- Si la donnée est absente du cache ou vieille de plus de X secondes on requête la base de données
- Du coup si on spamme le plugin de requêtes, il n'y en aura jamais qu'une toutes les X secondes qui ira taper dans la base de données
- Par contre ça ne garantit plus que le joueur avait assez de PO pour faire un achat, et celui-ci peut se retrouver dans les négatifs.
Image
Image
__ORelio, Tonton des Eclairs - Développeur sur HM - Admin à temps partiel - Night Club - L'Hymne des modérateurs
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse Image

Edrixal
Messages : 5436
Inscription : 24 août 2011, 22:41

Re: Perte de Po

Messagepar Edrixal » 06 mai 2015, 21:09

Mouai je vois ... Du coup l'idéal serait de trouver quel est le plugin qui spam pour aller lui dire d'arrêter ^^
Admin de la faction Solarys.

Si nous vous avons tout pris, dite vous que vous aurez eu le privilège de participer à la construction d'un projet qui vous dépasse ...

Vous avez besoin de po ? Il m'arrive de racheter des ressources en masse
! Aller voir ici pour plus d'information.


Revenir à « Support: Questions et Bugs »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités