Learn · modules
Was ist Durchdringen in Minecraft? Durchschlagen von Wänden erklärt
Piercing umgeht die Sichtprüfung und lässt Treffer durch Wände hindurchgehen. So funktioniert es und warum Server es fast immer erkennen.
Was ist Durchschlag?
Durchschlag ist ein Kampfmuster, das es einem Angriff ermöglicht, zu treffen, selbst wenn ein fester Block sich direkt zwischen Angreifer und Ziel befindet. Normale Minecraft-Kämpfe führen zuerst eine Prüfung durch: Das Spiel verfolgt eine Linie von dir zu dem, was du triffst, und wenn diese Linie das Terrain trifft, bevor sie das Ziel erreicht, wird der Angriff nicht registriert. Durchschlag überspringt diese Prüfung. Ein Zaun, eine Wand, eine Steinplatte – es spielt keine Rolle mehr. Die Prüfung wird entweder bestanden oder nicht, und Durchschlag entfernt lediglich die Anforderung, was genau der Grund dafür ist, dass es für einen Server eine der einfacheren Dinge ist, dies zu erkennen.
Wie es funktioniert
Vanilla Minecraft führt einen Raycast durch, bevor ein Treffer landen darf. Das Spiel verfolgt eine gerade Linie vom angreifenden Spieler zum Ziel und stoppt beim ersten festen Block, den diese Linie berührt. Wenn dieser Block näher am Ziel ist als das Ziel selbst, verfehlt der Angriff, ohne Ausnahme. Diese einzelne Prüfung ist der Grund, warum eine Wand, eine geschlossene Tür oder sogar ein Zaunpfosten normalerweise ausreichen, um einen Schwung wirkungslos zu machen.
Das Durchdringen umgeht oder umgeht diesen Raycast, sodass der Angriff so durchgeht, als gäbe es keinen Block. Die Entfernung ist nicht immer vollständig. Einige Implementierungen behalten die Blockkollision für die Bewegung bei, verzichten aber speziell für den Kampf darauf, und einige stoppen lediglich die Prüfung auf Entitäten im Weg anstatt auf das Gelände, eine engere Variante derselben Idee. Das Endergebnis bei all diesen ist dasselbe: Etwas Festes stand zwischen zwei Spielern, und der Treffer landete trotzdem
Durchstich vs. Reichweite
Es lohnt sich, das von Reach zu trennen. Reach bestimmt, wie weit ein Treffer reichen kann. Piercing hat nichts mit der Distanz zu tun, sondern damit, was sich auf der Linie zwischen zwei Punkten befindet, nicht mit der Länge dieser Linie. Ein Spieler kann eine völlig gewöhnliche Reichweite haben und trotzdem Piercing nutzen, und die beiden kommen oft genug zusammen vor, dass sie verwechselt werden.
| Piercing | Reichweite | |
|---|---|---|
| Was es verändert | Sichtlinienanforderung | Trefferreichweitengrenze |
| Funktioniert durch | Wände zwischen Spielern | Offener Raum in jeder Entfernung |
| Erkennung | Server-Raycast-Prüfung | Trefferreichweite im Vergleich zur Position |
Warum Server es erwischen
Kurze Antwort: Die Überprüfung ist geometrisch und unbestreitbar. Im Moment des Treffers kann der Server einen eigenen Raycast zwischen den tatsächlichen Positionen der beiden Spieler durchführen. Wenn festes Terrain in diesem Pfad liegt, gibt es keine legitime Erklärung dafür, dass der Schwung überhaupt landet. Im Gegensatz zu Reichweite- oder Rotationsglättung, wo der Server Raum für Latenz und normale menschliche Ungenauigkeit zulassen muss, war eine Wand entweder da oder nicht. Das lässt sehr wenig Spielraum für Fehlalarme, was auch bedeutet, dass es kaum Möglichkeiten für einen Spieler gibt, damit durchzukommen.
Häufig gestellte Fragen
Es lässt einen Angriff auf ein Ziel zu, selbst wenn ein Block, wie eine Mauer oder ein Zaun, sich direkt zwischen dir und dem Ziel befindet. Normale Minecraft-Blöcke treffen direkt.
Nein. Die Reichweite bestimmt, wie weit ein Angriff reichen kann. Durchschlagskraft ignoriert alles, was sich physisch im Weg befindet. Sie lösen unterschiedliche Probleme, werden aber oft zusammen eingesetzt.
Da der Server zum Zeitpunkt des Treffers selbst eine Sichtprüfung zwischen den beiden Spielern durchführen kann und ein fester Block auf diesem Weg etwas ist, an dem sich der Client nicht vorbeikämpfen kann.
Es hängt von der Implementierung ab, aber die Anfrage wird auf die gleiche Weise versendet wie eine legitime Anfrage. Die Lüge liegt in der Berechtigungsprüfung, nicht im Paketformat. Der Server verifiziert, was hätte passieren sollen, findet eine Barriere und weiß, dass etwas nicht stimmt.