Aller au contenu

Bug des blocs rémanents


SurfMaths
 Partager

Messages recommandés

Bonjour, Attention, ceci n'est que supposition, rien de vérifié.

 

J'ai remarqué qu'une grande partie des joueurs étaient soumis à un bug courant :

« J'en ai marre, je casse un bloc, il réapparaît... ».

 

J'ai administré un serveur basé sur Bukkit, et ce bug survenait à fréquence moindre, mais survenait de temps en temps. J'ai une théorie sur la chose, je vous laisse en juger.

 

Les problèmes :

Le serveur Vanilla fait confiance au client, dans un sens où, les déplacements, les destructions de blocs et les coups sur les « mobs » sont déterminés par le client, et envoyés au serveur qui les accepte tels quel. Ceci a pour avantage d'alléger la tache du serveur. Cependant, une telle confiance permet certains cheats : « voler », « casser les blocs très rapidement », « taper les mobs par rafale ».

 

Les solution (Bukkit ?) :

Pour éviter ce genre de triche, les développeurs Bukkit ont du* intégrer une vérification de telles actions. Pour le cas des déplacements illégaux, il n'y a apparement pas de vérification par défaut, il faut un mod. Pour le cas des coups sur les mobs je n'ai pas vérifié. Pour le cassage des blocs rapide, une vérification semble être intégrée directement : Dans le cas où un joueur casse un bloc plus rapidement que prévu (le client doit* envoyer un message de début de casse du bloc et de fin de casse), le serveur considère l'action comme invalide et ne la prends pas en compte, ainsi, le client est informé de la présence du bloc : il le réaffiche (car il l'avait enlevé en prévision pour ne pas faire parraitre de lag), et rien n'est droppé (car c'est le serveur qui informe de ce qui est droppé, le client ne le prédit pas (génération aléatoire pour certains drops)).

 

* hypothèses non vérifiées

 

Les conséquences :

En cas de charge trop importante du serveur les deux paquets de « début de casse » et « fin de casse » arrivent avec des délais différents (la gigue : variation du temps de latence). Le serveur recevant ceux-ci trop rapidement, vérifie, remarque une fraude, et ne prends pas en compte l'action. Côté client, le bloc disparaît (prévision du client), il ne drope rien, et le bloc réapparaît (correction du serveur).

 

Une solution :

En supposant que tout ce que j'ai dit soit vrai (j'en doute moi même, mais sait on jamais), une solution serait, au lieu de vérifier chaque paquet indépendamment, faire une moyenne de vitesse de casse par utilisateur, par bloc (couteux en calculs). En cas de dépassement important (10%), informer dans les logs d'une fraude : Le client triche probablement.

Comme solution temporaire, il suffirait d'enlever cette vérification, cependant, je me doute que beaucoup risquent d'utiliser cette triche difficile à détecter : il y a des fanatiques qui passent des nuits à miner et ont des rendements élevés, sans tricher...

 

Voilà.

 

Tout est dit, comme ça je n'aurai plus l'envie pressante de faire partager mon idée à chaque fois que quelqu'un bisque.

 

PS: En parlant de ça, je trouve que vous êtes trop rapide sur les « ban », il est de coutume de « kicker » puis de bannir en cas de réitération des méfaits. Bien sur, en cas de dégats graves difficilement réparables (mise à mal de l'économie en trichant) le ban sans rappel à l'ordre est justifié. Enfin bon, à réfléchir aussi.

 

;)

Lien vers le commentaire
Partager sur d’autres sites

ton hypothèse est bonne selon moi et il est vrai que la vérification du bloc cassé et l'incapacité du serveur à traiter un paquet (ou en le traitant en retard) pourrait être à l'origine de ce bug =)

 

Mais alors pourquoi cela n'était pas le cas sur la 1.2? Il y avait déjà ce genre de vérification sur minefield avant et pourquoi maintenant cela poserait il des problèmes de latences au niveau de la vérification.

 

Réponse possible: Le mod du cubo qui vérifie cela a mal été adapté à la 1.3 qui elle même a du changer des "trucs" au niveau de l'identification du bloc (donc mauvais optimisation du mod cubo)

 

Mais sachant que le bug vient de la 1.3 il est fort probable que ce soit lié à autre chose qu'un mod.

 

Sinon sur l'autre post : http://www.minefield.fr/forum/viewtopic.php?f=10&t=5936 maestrock parle d'une solution qui aurait marché sur le serv d'un de ses potes, comme quoi il y aurait une mise à jour sur la 1.3 à faire côté serveur ... Mais bon ça c'est aux admins de voir si ils ont tout bien à jour ^^

Lien vers le commentaire
Partager sur d’autres sites

Bonjour.

 

Selon moi ce n'est pas un bug, mais simplement un temps de latence causé par une surcharge serveur.

 

Connectez-vous à 3 heures du matin quand il n'y a personne sur le serveur : vous casserez tous vos blocs d'affilé sans quasiment aucun temps de latence entre le moment ou le bloc est cassé et le moment où le loot est drop (c'est à dire l'instant où la version récupérable du bloc apparait).

 

En revanche, connectez-vous aux heures de pointe, quand tous les kikoulol s'acharnent a déco-reco dans l'espoir d'arranger le problème, et vous constaterez un temps de latence pouvant aller de 5 secondes à 2-3 minutes pour tous les blocs.

 

Il est simple de comprendre, je crois, que tant que le serveur ne vous a pas signalé par l'apparition du loot le feedback de vos actions sur un bloc, cela veut dire que votre action est encore en cours de traitement, et que ce traitement est ou moins long en fonction de la quantité d'informations à traiter au moment ou vous le faite.

 

Le seul hic, c'est que cela survient depuis la 1.3 me direz-vous. Oui mais est-ce que cela survient sur tous les serveurs ou seulement sur un des plus fréquentés, c'est à dire Minefield ?

Et pourquoi, si c'est un bug, cela ce limiterait-il à la version multi ?

 

 

En résumé, et en caps lock s'il vous plaît : C'EST DU LAG ! Face it...

 

 

 

Edit P.S. : Du coup la raison pour laquelle un bloc réapparaît devient claire : le serveur ne prends en compte que les cassage de bloc qu'il a eu le temps de traiter, s'il peut en traiter 2 quand vous en cassez 10, alors vous verrez 8 blocs réapparaître. Prenez le temps de les casser un par un en attendant leur loot, et aucun ne réapparaitra.

Lien vers le commentaire
Partager sur d’autres sites

Je rajouterai qu'avant la 1.3, on pouvait casser 10 blocs sans qu'ils ne droppent, ils droppaient tous d'un coup à la fin.

 

En fait c'est juste l'inverse de ce que tu dis, c'est l'absence totale de lag qui rend le bug invisible.

Lien vers le commentaire
Partager sur d’autres sites

Huldugarn tu te bornes à ne voir que du lag parce que tu n'as pas été confronté au problème.

J'ai eu ce bug à 8h du mat hier, on devait être 20. Y'avait aucun lag. La preuve, j'ai réussi sans problème à casser les blocs tout autour de celui que je venais de poser sans aucun problème. Seul un bloc de dirt que je venais de placer ne voulais pas se faire détruire.

J'y fini par y arriver au cours de la journée, dans une tentative désespérée.

 

Bref, il y'a du lag dans la journée qui fait repop certains blocs mais ceux-ci se redétruisent dans les secondes qui suivent. Ce dont on parle ici n'est absolument pas dû au lag.

 

Franchement, depuis le temps que je suis sur le serveur je sais reconnaître lorsque c'est un problème de lag ou pas. Faut arrêter de prendre les gens pour des cons.

Lien vers le commentaire
Partager sur d’autres sites

C'est quel mot que vous ne comprenez pas dans la phrase : "J'ai raison et l'univers à tort." ?

 

Devant tant de mauvaise foi mêlée à la stupidité crasse, je me vois dans l'obligation d'en référer à la culture internet pour vous exprimer tout mon désappointement.

 

tumblr_lc816hUcZz1qcjbhoo1_500.jpg

 

 

A défaut d'avoir raison, il me reste le recours de troller.

Lien vers le commentaire
Partager sur d’autres sites

Tu te trompes huldugarn, le serveur avec tout lancé est à 1.6% de sa capacité et 2% de sa capacité en trafic.

 

Le problème est du côté de bukkit. D'ailleurs SurfMaths je t'invite à me MP, j'ai ouvert (conjointement) un forum dédié aux administrateurs français de Minecraft pour échanger nos expériences, je serai ravi de t'y inviter.

Lien vers le commentaire
Partager sur d’autres sites

Dans tous les cas, je pense qu'on est tous d'accord pour dire que là c'est juste impossible de récolter des ressources en gardant son calme. :lol:

 

Tout à fait :P

 

 

Et je joue sur un autre serveur où le problème est aussi présent, donc ce n'est pas seulement Minefield.

Lien vers le commentaire
Partager sur d’autres sites

Hier soir, suite à un plantage de mc.net, on était 30 sur le serveur : que du bonheur, même expérience de jeu qu'en solo, dès que le nombre joueurs à monté, les problèmes sont revenus

 

Je ne vais pas faire d'hypotheses sur les raisons du "problème" mais je voudrais simplement une réponse à cette question

 

Le Bug des blocs rémanents va t'il être reglé prochainement ?

 

réponses possibles (Nous/on = les admins)

 

- On s'en fout jouez comme ça

- On bosse dessus

- On n'y peut rien, Notch bosse dessus

- On n'y peut rien, Notch s'en fout

- On n'y peut rien, L'équipe de Bukkit bosse dessus

- ...

 

Bref dites nous ce qu'il en est

Lien vers le commentaire
Partager sur d’autres sites

Je pense que la réponse la plus appropriée est :


  • [*:384hz9df]Ils bossent dessus mais il est probable qu'ils n'y puissent rien.
    [*:384hz9df]L'équipe de Bukkit bosse dessus et il est probable qu'ils parviennent à quelque chose.
    [*:384hz9df]Notch travaille dessus si et seulement si le bug est lié à la version Vanilla (apparemment non).

 

Si vous en avez vraiment marre et que vous voulez accélérer la résolution, plusieurs solutions :


  • [*:384hz9df]Noter tous les cas où ça se produit avec le maxium de détails, même des trucs bête.
    [*:384hz9df]Dans le cas où un facteur commun apparaît, vérifier la chose.
    [*:384hz9df]Dans le cas où la chose est vérifiée, en parler avec les autres pour qu'ils vérifient aussi.
    [*:384hz9df]Dans le cas où tout le monde est d'accord, témoigner publiquement de votre trouvaille.
    [*:384hz9df]Participer au développement de Bukkit.
    [*:384hz9df]Soudoyer Notch pour qu'il aille jeter un oeil.
    [*:384hz9df]Prier.

 

Heum, heum. Pour rester réaliste, soyez patients. :|

Lien vers le commentaire
Partager sur d’autres sites

Merci pour ton lien SurfMaths mais ce post sur bukkit n'est qu'un doublon de l'issue 474 qui est détaillée ici:

 

http://leaky.bukkit.org/issues/474

 

Pour ce qui est du temps de correction il faut savoir que bukkit est une équipe encore pas très bien rodée d'après ce que j'ai compris, et de plus il y a moulte bugs et améliorations à corriger sur d'autres plugins.

 

 

Et à ceux qui se plaignent: Apprenez le java et allez les aider ou alors patientez en vous consolant avec l'idée que un jour tout cela sera réglé et oublié ;)

Lien vers le commentaire
Partager sur d’autres sites

Je crois que le staff attend toujours que ceux qui gèrent buckit (ou j'sais pas quoi) règlent les bugs. En clair on ne peut rien faire d'autre à part attendre, même si j'ai ouï dire que Neymir (ou Kepsyn) essayait de s'atteler à une correction de son côté.

Lien vers le commentaire
Partager sur d’autres sites

Ce bug est-il toujours d'actualité chez vous?

 

Il frappe mon serveur assez violemment depuis 5 jours alors que pendant les dates de vos posts nous n'avions aucun problèmes.

 

Dans le cas où ce serait résolu, comment avez vous fait?

Lien vers le commentaire
Partager sur d’autres sites

Un plugin maison de nos admins a résolu le bug il y a deux mois environ si je ne me trompe pas :

 

http://www.minefield.fr/exclusivite-bug ... nleve.html

 

Levez vos pioches, abaissez vos pelles, entrechoquez vos côtes de porc et hurlez ! Nous avons corrigé un bug mondial affectant les serveurs minecraft tournant avec Craftbukkit, et qui provoquait un « lag » lors du cassage des blocs, dès que le serveur dépassait les 60 joueurs ! (Vous vous souvenez ? Vous cassiez un bloc, et il réapparaissait ? C’est finit !)

 

Vous mettrez toujours un peu de temps à ramasser les cubes, mais vous pouvez désormais casser de larges quantités de blocs et être sûrs qu’ils cédent sous vos coups rageux ! Et ça, c’est non seulement génial pour les projets d’envergure sur la carte de New Stendel, mais c’est aussi quelque chose que vous ne trouverez nulle part ailleurs, aujourd’hui, sur un autre serveur avec plus de 80 joueurs !

 

Dorango says:

15/03/2011 at 00:53

 

Kepsyn, Neymir, je vous aime !

 

(Dok et Pyrix aussi m’enfin là c’est eux les stars :P)

 

dokMixer says:

15/03/2011 at 00:56

 

Oui, c’est Neymir en particulier et Kepsyn qui ont grave géré !

Je rappelle que ce sont eux, les admins techniques qui nous font rêver, et que c’est à eux que je lève mes choppes ! C’est un super cadeau, inattendu, que vous nous offrez là ! :)

Lien vers le commentaire
Partager sur d’autres sites

 Partager

×
×
  • Créer...