Anti X-Ray funktion?
Heyy
In dem Spiel Minecraft gibts ja einmal einen Mod, und einmal ein Tp, wo man nur noch Erze Sieht, womit man sich einen unfairen Vorteil erschaffen kann. Wird auch als "Hacks" aka Cheats bezeichnet...
Nun gibt es ja Anticheats, die dafür sorgen, dass sämtliche Cheats nicht mehr möglich sind... Meistens durch Plugins oder Scripte
Da ein Tp (Textur Paket) vom Server nicht erkannt werden kann, ists da etwas anders, als wie mit anderen Cheats wie Fly etc, bei denen kann man mithilfe von Events die nicht so sein dürften Spieler Bestrafen, meist in Form von Bann des Servers...
Wie aber wird das bei einem Tp gemacht?
Denn wenn man das mal so ausprobiert (kommt jz nicht mit, du Hacker😅, wollt halt mal wissen...) sieht man alle möglichen Erze, obwohl da eigentlich nur Erde, Stein oder sonstwas ist...
Spielt man nun aber mit dem normalen Tp oder einfach kein X-Ray, sieht man (ja bei kleinen Bugs sieht man's gleich wie beim X-Ray tp) die Blöcke ganz normal...
Werden da alle Blockid's so verändert, dass nur die Blöcke die man sehen kann, die richtige I'd besitzen, oder wie funktioniert soetwas? Ich glaube nicht, dass es mit den Id's zu tun hat, da dies ja extrem auf Kosten der Performance gehen würde...
Klärt mich auf :) und danke schonmal für die Antworten :)
4 Antworten
Man ersetzt einfach alle Erze, die der Spieler normal nicht sehen kann, durch z.B. Stein
Oder sogar extremer: das ganze Umfeld wird voller fake-Erze gemacht
Und das wird an den User geschickt (die Blöcke sind also nicht wirklich geändert, sondern es sieht nur so aus für den Client)
Der Server ersetzt garnicht, sondern sendet dem Spieler nur die Erze, statt den richtigen Blöcken
Das passiert bereits beim Welt-Download
Ich frage nicht, wie X-Ray funktioniert, sondern wie der Server das mit einem Tp macht? (ja er tauscht alle nicht sichtbaren Blöcke aus, aber wie genau wird das gemacht?)
Hier ist die Funktion, wie Spigot das macht:
https://github.com/Attano/Spigot-1.8/blob/master/org/spigotmc/AntiXray.java
Wenn der Chunk geladen wird (von einem Spieler), wird er in den RAM geladen.
Dann ändert Spigot alle Steine zu random Erzen.
Der MC-Server schickt dann dem Spieler diesen Chunk aus dem Buffer zu.
Geht der Spieler nun nah genug ran an Erze, so Updatet Spigot für diesen Spieler die Blöcke, die das betrifft.
Ah Okey, danke dir, genau so eine Antwort wollte ich👍
Wäre es dann nicht möglich dies zu umgehen? Ich mein, wenn man irgendwie den Radius eines Spielers, oder irgendwie simuliert, dass der Spieler grad da ist😅 (rein Programmiertechnische Frage versteht sich von selbst...)
Du kannst das nicht simulieren.. das sieht für den Server dann aus, wie Teleportieren und das lässt der Server nicht zu.
Es reicht auch nicht in der nähe zu sein, der Block, muss zerstört werden, damit dahinter die Erze sichtbar gemacht werden
Sowas ist eine große Schwachstelle in solchen Spielen. Du kannst natürlich den Server für alle Spieler ihre sichtbaren Sachen errechnen lassen, aber der Server wird da vergleichsweise schnell in die Knie gehen.
Prinzipiell kann man natürlich sein Spiel so aufbauen, dass es keine Vorteile gibt, wenn man die Position von allem, was der Client kennt, auch kennt.
Das war ja nicht meine Frage, es gibt die Anti X-Ray Protection ja schon...
Meine Frage war eher, wie die Funktionniert😅
Bei nem XRay TP kann es eig nur ein Staff/Modban sein, da man sich wenn du alle Erze instant findest sich das denken kann.
Autobans für XRay kann es eigentlich nicht geben.
MFG
Wo bitte schreibe ich von nem Bann? 😅
Meine Frage ist (da in einigen Varo Plugins dies ja der Fall ist, wie es der Server macht, dass man nur Fake Erze Sieht...
ich meine es gab ein plugin was gegen sowas vorging egal ob hack oder TP indem das plugin mitkriegt wie schnell und wie viele Diamanten etc. abgebaut hast
hatte ich mal als ich mehrere Diamant Adern beim strip minen gefunden habe wurde ich nämlich so gebannt
Das war aber nicht meine Frage😅, es gibt ja tatsächlich ne Anti xRay protection...
Ich wunder mich nur, wie das funktioniert...
Ja klar werden alle Erze ersetzt...
Aber wie macht das der Server??