Learn · modules
Qu'est-ce que le "piercing" dans Minecraft ? Comment frapper à travers les murs, expliqué
Le Perçage ignore la vérification de la ligne de visée, permettant aux coups de traverser les murs. Voici comment cela fonctionne et pourquoi les serveurs le détectent presque toujours.
Qu'est-ce que le Perçage ?
Le Perçage est un module de combat qui permet à une attaque de se connecter même lorsqu'un bloc solide se trouve directement entre l'attaquant et la cible. Le combat normal dans Minecraft effectue d'abord une vérification : le jeu trace une ligne de vous vers ce que vous frappez, et si cette ligne touche le terrain avant d'atteindre la cible, l'attaque n'est pas enregistrée. Le Perçage ignore cette vérification. Une clôture, un mur, une dalle de pierre, rien n'a plus d'importance. La vérification est soit validée, soit elle ne l'est pas, et le Perçage supprime simplement l'exigence, ce qui explique exactement pourquoi c'est l'une des choses les plus faciles à détecter pour un serveur.
Comment ça marche
Minecraft à l'état brut effectue un lancer de rayon avant de permettre à une attaque de se produire. Le jeu trace une ligne droite du joueur attaquant vers la cible et s'arrête au premier bloc solide que cette ligne touche. Si ce bloc est plus proche de la cible, l'attaque échoue, point final. Cette unique vérification explique pourquoi un mur, une porte fermée ou même un poteau de clôture suffit normalement pour que le coup n'ait aucun effet.
Le percement supprime ou contourne ce rayon de lancer, permettant ainsi à l'attaque de passer comme si le bloc n'existait pas. La suppression n'est pas toujours totale. Certaines implémentations conservent la collision du bloc pour le déplacement mais la suppriment spécifiquement pour le combat, et quelques-unes se contentent d'arrêter la vérification des entités qui bloquent plutôt que du terrain, une version plus restreinte de la même idée. Le résultat final, dans tous les cas, est le même : quelque chose de solide se trouvait entre deux joueurs, et pourtant le coup a touché
Percer contre la portée
Il vaut mieux séparer cela de Reach. Reach indique la distance qu'une attaque peut parcourir. Piercing n'a rien à voir avec la distance, il s'agit de ce qui se trouve sur la ligne entre deux points, et non de la longueur de cette ligne. Un joueur peut avoir une portée tout à fait ordinaire et tout de même utiliser Piercing, et les deux apparaissent souvent combinés, ce qui amène les gens à les confondre.
| Piercing | Reach | |
|---|---|---|
| Ce que cela modifie | Exigence de visée directe | Limite de distance de l'attaque |
| Traverse | Murs entre les joueurs | Espace ouvert à n'importe quelle distance |
| Détection | Vérification de rayon par le serveur | Distance de l'attaque par rapport à la position |
Pourquoi les serveurs l'attrapent
Réponse courte : la vérification est géométrique et incontestable. Au moment de l'impact, le serveur peut effectuer son propre lancer de rayon entre les positions réelles des deux joueurs. Si un terrain solide se trouve sur ce trajet, il n'y a aucune explication légitime au fait que le coup ne se termine pas. Contrairement à l'atténuation de la portée ou de la rotation, où le serveur doit prévoir une marge pour la latence et les imprécisions humaines normales, un mur était soit présent, soit il ne l'était pas. Cela laisse très peu de place aux faux positifs, ce qui signifie également très peu de place pour qu'un joueur puisse s'en tirer.
FAQ
Cela permet à une attaque de toucher une cible même lorsqu'un bloc, comme un mur ou une clôture, se trouve directement entre vous et elle. Les blocs de Minecraft originaux qui frappent directement.
Non. La portée indique la distance maximale d'une attaque. Le perçage ignore tout ce qui se trouve physiquement sur le chemin. Ils résolvent des problèmes différents, bien qu'ils soient souvent utilisés ensemble.
Étant donné que le serveur peut effectuer sa propre vérification directe entre les deux joueurs au moment de l'impact, et qu'un bloc solide sur ce chemin est quelque chose que le client ne peut pas contourner.
Cela dépend de l'implémentation, mais la requête est envoyée de la même manière qu'une requête légitime. Le mensonge réside dans la vérification des permissions, et non dans le format du paquet. Le serveur vérifie ce qui aurait dû se produire, se heurte à un obstacle et sait que quelque chose n'allait pas.