Einführung in Anti-Xray
Was ist X-Ray?
X-Ray ist eine Cheating-Technik, die es Spielern ermöglicht, durch feste Blöcke zu sehen, um leichter Erze, Höhlen, versteckte Basen und andere Strukturen zu lokalisieren. Dieser Cheat kann durch modifizierte Clients, Resource Packs oder Mods durchgeführt werden.
Paper-Lösung
Paper verfügt nativ über ein leistungsstarkes Anti-Xray-System, das auf Serverseite funktioniert. Im Gegensatz zu herkömmlichen Plugins erfordert diese Lösung keine zusätzliche Installation und bietet einen robusten Schutz gegen die meisten X-Ray-Techniken.
Vorteile der nativen Lösung
| Aspekt | Beschreibung |
|---|---|
| Leistung | Optimiert auf Servercode-Ebene |
| Kompatibilität | Funktioniert mit allen Vanilla-Clients |
| Wartung | Automatische Aktualisierung mit Paper |
| Zuverlässigkeit | Keine externen Abhängigkeiten |
| Konfiguration | Anpassbar nach Welt/Dimension |
Technischer Betrieb
Grundprinzip
Das Anti-Xray von Paper funktioniert, indem es die Chunk-Daten ändert, die an die Clients gesendet werden. Anstatt die echten Blöcke zu senden, ersetzt der Server bestimmte Blöcke durch Attrappen, bis der Spieler sich ihnen genug nähert, um sie legitim zu enthüllen.
Offenbarungsprozess
Ein versteckter Block wird enthüllt, wenn eine der folgenden Bedingungen erfüllt ist:
- Der Spieler zerstört einen benachbarten Block
- Der Spieler platziert einen benachbarten Block
- Ein Kolben bewegt einen benachbarten Block
- Eine Explosion zerstört einen benachbarten Block
- Wasser oder Lava fließt über einen benachbarten Block
- Der Block tritt in das direkte Sichtfeld ein (Raytracing aktiviert)
Benachbarte Blöcke
Das System betrachtet die 6 Seiten eines Blocks (oben, unten, nördlich, südlich, östlich, westlich). Ein Block gilt als "der Luft ausgesetzt", wenn mindestens eine seiner Seiten an einen transparenten Block (Luft, Glas, Wasser usw.) grenzt.
Betriebsmodi
Paper bietet zwei verschiedene Betriebsmodi, jeder mit seinen Vor- und Nachteilen.
Engine-Modus 1: Einfache Ersetzung
In diesem Modus werden alle versteckten Blöcke (nicht der Luft ausgesetzt) durch einen einzigen Ersatzblock ersetzt, normalerweise Stein.
Betrieb:
Versteckter Originalblock → Stein (oder definierter Block)
Der Luft ausgesetzter Block → Bleibt unverändert
Vorteile:
- Geringe Auswirkung auf die Leistung
- Minimale Speichernutzung
- Verringerte Netzwerkbandbreite
Nachteile:
- Anfällig für fortgeschrittene X-Ray-Techniken, die den Stein filtern
- Erfahrene Spieler können die Positionen erraten
Empfohlene Verwendung:
- Server mit begrenzten Ressourcen
- Große Spielerpopulation
- Kreative oder semi-RP-Server
Engine-Modus 2: Zufällige Verschleierung
In diesem Modus werden versteckte Blöcke durch zufällig auswählbare Blöcke aus einer konfigurierbaren Liste ersetzt, um ein "visuelles Rauschen" zu erzeugen, das X-Ray nutzlos macht.
Betrieb:
Versteckter Originalblock → Zufälliger Block (diamond_ore, gold_ore, iron_ore usw.)
Der Luft ausgesetzter Block → Bleibt unverändert
Vorteile:
- Maximaler Schutz gegen alle Arten von X-Ray
- Echte Erze sind nicht von falschen zu unterscheiden
- Entmutigt vollständig die Verwendung von X-Ray
Nachteile:
- Größere Auswirkung auf die Leistung
- Erhöhter Speicherverbrauch
- Erhöhte Netzwerkbandbreite
Empfohlene Verwendung:
- Wettbewerbsfähige Überlebensserver
- PvP/Faction-Server
- Server, bei denen die Ressourcenökonomie wichtig ist
Visueller Vergleich
| Kriterium | Modus 1 | Modus 2 |
|---|---|---|
| Schutz | Grundlegend | Maximal |
| CPU | Niedrig | Moderat |
| RAM | Niedrig | Moderat |
| Netzwerk | Niedrig | Moderat |
| Empfohlen | Casual | Wettbewerbsfähig |
Vollständige Konfiguration
Dateispeicherort
Die Konfigurationsdatei befindet sich unter:
config/paper-world-defaults.yml # Standardkonfiguration
<Welt>/paper-world.yml # Welt-spezifische Konfiguration
Konfigurationsstruktur
anticheat:
anti-xray:
enabled: true
engine-mode: 2
max-block-height: 64
update-radius: 2
lava-obscures: false
use-permission: false
hidden-blocks:
- copper_ore
- deepslate_copper_ore
- raw_copper_block
- gold_ore
- deepslate_gold_ore
- raw_gold_block
- iron_ore
- deepslate_iron_ore
- raw_iron_block
- coal_ore
- deepslate_coal_ore
- lapis_ore
- deepslate_lapis_ore
- mossy_cobblestone
- obsidian
- chest
- diamond_ore
- deepslate_diamond_ore
- redstone_ore
- deepslate_redstone_ore
- clay
- emerald_ore
- deepslate_emerald_ore
- ender_chest
replacement-blocks:
- chest
- amethyst_block
- andesite
- budding_amethyst
- calcite
- coal_ore
- deepslate_coal_ore
- deepslate
- deepslate_copper_ore
- deepslate_diamond_ore
- deepslate_emerald_ore
- deepslate_gold_ore
- deepslate_iron_ore
- deepslate_lapis_ore
- deepslate_redstone_ore
- diorite
- dirt
- emerald_ore
- granite
- gravel
- iron_ore
- oak_planks
- smooth_basalt
- stone
- tuff
Detaillierte Parameter
enabled
enabled: true
Aktiviert oder deaktiviert Anti-Xray. Auf false setzen, um es vollständig zu deaktivieren.
engine-mode
engine-mode: 2
Legt den Betriebsmodus fest (1 oder 2). Siehe vorherige Abschnitte für Details.
max-block-height
max-block-height: 64
Maximale Höhe (Y-Koordinate), auf die Anti-Xray angewendet wird. Über diesem Wert wird keine Verschleierung durchgeführt. Eine Verringerung dieses Werts verbessert die Leistung.
Empfohlene Werte:
- Overworld: 64 (Meereshöhe)
- Nether: 128 (gesamte Höhe)
- Ende: 0 (deaktiviert, wenige Erze)
update-radius
update-radius: 2
Radius zur Aktualisierung von Blöcken, wenn ein Block enthüllt wird. Ein Wert von 2 bedeutet, dass Blöcke in einem Radius von 2 Blöcken aktualisiert werden.
Werte:
- 1: Maximale Leistung, Risiko nicht enthüllter Blöcke
- 2: Empfohlenes Gleichgewicht
- 3+: Maximale Sicherheit, Leistungseinfluss
lava-obscures
lava-obscures: false
Wenn aktiviert, wird Lava als undurchsichtiger Block für die Verschleierung betrachtet. Nützlich für den Nether, kann jedoch zu visuellen Problemen führen.
use-permission
use-permission: false
Wenn aktiviert, werden Spieler mit der Berechtigung paper.antixray.bypass nicht vom Anti-Xray betroffen sein. Nützlich für Administratoren während der Fehlersuche.
hidden-blocks
hidden-blocks:
- diamond_ore
- emerald_ore
# ...
Liste der zu versteckenden/zu verschleiernden Blöcke. Diese Blöcke werden ersetzt, wenn sie nicht der Luft ausgesetzt sind.
Modus 1: Diese Blöcke werden durch Stein ersetzt (oder den ersten Block aus Ersatzblöcken).
Modus 2: Diese Blöcke werden durch einen zufälligen Block aus der Ersatzblockliste ersetzt.
replacement-blocks
replacement-blocks:
- stone
- deepslate
- granite
# ...
Liste der Blöcke, die als Ersatz verwendet werden.
Modus 1: Nur der erste Block der Liste wird verwendet.
Modus 2: Die Blöcke werden zufällig aus dieser Liste ausgewählt.
Optimierung nach Servertyp
Vanilla Survival Server
Ausgeglichene Konfiguration für ein klassisches Survival-Erlebnis.
anticheat:
anti-xray:
enabled: true
engine-mode: 2
max-block-height: 64
update-radius: 2
lava-obscures: false
use-permission: false
hidden-blocks:
- chest
- coal_ore
- deepslate_coal_ore
- copper_ore
- deepslate_copper_ore
- diamond_ore
- deepslate_diamond_ore
- emerald_ore
- deepslate_emerald_ore
- gold_ore
- deepslate_gold_ore
- iron_ore
- deepslate_iron_ore
- lapis_ore
- deepslate_lapis_ore
- redstone_ore
- deepslate_redstone_ore
replacement-blocks:
- chest
- coal_ore
- deepslate_coal_ore
- copper_ore
- deepslate_copper_ore
- diamond_ore
- deepslate_diamond_ore
- emerald_ore
- deepslate_emerald_ore
- gold_ore
- deepslate_gold_ore
- iron_ore
- deepslate_iron_ore
- lapis_ore
- deepslate_lapis_ore
- redstone_ore
- deepslate_redstone_ore
- amethyst_block
- andesite
- budding_amethyst
- calcite
- deepslate
- diorite
- dirt
- granite
- gravel
- smooth_basalt
- stone
- tuff
Faction/PvP Server
Maximale Konfiguration für wettbewerbsfähige Umgebungen, in denen Cheating streng unterbunden werden muss.
anticheat:
anti-xray:
enabled: true
engine-mode: 2
max-block-height: 320
update-radius: 2
lava-obscures: false
use-permission: false
hidden-blocks:
- ancient_debris
- chest
- coal_ore
- deepslate_coal_ore
- copper_ore
- deepslate_copper_ore
- diamond_ore
- deepslate_diamond_ore
- emerald_ore
- deepslate_emerald_ore
- gold_ore
- deepslate_gold_ore
- iron_ore
- deepslate_iron_ore
- lapis_ore
- deepslate_lapis_ore
- nether_gold_ore
- nether_quartz_ore
- redstone_ore
- deepslate_redstone_ore
- trapped_chest
- ender_chest
- shulker_box
- white_shulker_box
- orange_shulker_box
- magenta_shulker_box
- light_blue_shulker_box
- yellow_shulker_box
- lime_shulker_box
- pink_shulker_box
- gray_shulker_box
- light_gray_shulker_box
- cyan_shulker_box
- purple_shulker_box
- blue_shulker_box
- brown_shulker_box
- green_shulker_box
- red_shulker_box
- black_shulker_box
- barrel
- dispenser
- dropper
- hopper
- spawner
- tnt
replacement-blocks:
- chest
- coal_ore
- deepslate_coal_ore
- copper_ore
- deepslate_copper_ore
- diamond_ore
- deepslate_diamond_ore
- emerald_ore
- deepslate_emerald_ore
- gold_ore
- deepslate_gold_ore
- iron_ore
- deepslate_iron_ore
- lapis_ore
- deepslate_lapis_ore
- redstone_ore
- deepslate_redstone_ore
- amethyst_block
- andesite
- budding_amethyst
- calcite
- deepslate
- diorite
- dirt
- granite
- gravel
- oak_planks
- smooth_basalt
- stone
- tuff
Wirtschaftsserver
Konfiguration, die sich auf wertvolle Ressourcen konzentriert, um die Wirtschaft des Servers zu schützen.
anticheat:
anti-xray:
enabled: true
engine-mode: 2
max-block-height: 64
update-radius: 2
lava-obscures: false
use-permission: false
hidden-blocks:
- diamond_ore
- deepslate_diamond_ore
- emerald_ore
- deepslate_emerald_ore
- gold_ore
- deepslate_gold_ore
- ancient_debris
- chest
- ender_chest
- spawner
replacement-blocks:
- diamond_ore
- deepslate_diamond_ore
- emerald_ore
- deepslate_emerald_ore
- gold_ore
- deepslate_gold_ore
- coal_ore
- deepslate_coal_ore
- iron_ore
- deepslate_iron_ore
- copper_ore
- deepslate_copper_ore
- deepslate
- stone
- granite
- diorite
- andesite
Leistungsstarker Server (Hohe Spielerzahl)
Minimale Konfiguration für Server mit vielen Spielern, bei denen die Leistung entscheidend ist.
anticheat:
anti-xray:
enabled: true
engine-mode: 1
max-block-height: 48
update-radius: 1
lava-obscures: false
use-permission: false
hidden-blocks:
- diamond_ore
- deepslate_diamond_ore
- emerald_ore
- deepslate_emerald_ore
- ancient_debris
replacement-blocks:
- stone
Konfiguration nach Dimension
Overworld (Welt)
Datei: world/paper-world.yml
anticheat:
anti-xray:
enabled: true
engine-mode: 2
max-block-height: 64
update-radius: 2
lava-obscures: false
use-permission: false
hidden-blocks:
- chest
- coal_ore
- deepslate_coal_ore
- copper_ore
- deepslate_copper_ore
- diamond_ore
- deepslate_diamond_ore
- emerald_ore
- deepslate_emerald_ore
- gold_ore
- deepslate_gold_ore
- iron_ore
- deepslate_iron_ore
- lapis_ore
- deepslate_lapis_ore
- redstone_ore
- deepslate_redstone_ore
- raw_copper_block
- raw_gold_block
- raw_iron_block
replacement-blocks:
- amethyst_block
- andesite
- budding_amethyst
- calcite
- chest
- coal_ore
- deepslate_coal_ore
- copper_ore
- deepslate_copper_ore
- deepslate
- diamond_ore
- deepslate_diamond_ore
- diorite
- dirt
- emerald_ore
- deepslate_emerald_ore
- gold_ore
- deepslate_gold_ore
- granite
- gravel
- iron_ore
- deepslate_iron_ore
- lapis_ore
- deepslate_lapis_ore
- oak_planks
- redstone_ore
- deepslate_redstone_ore
- smooth_basalt
- stone
- tuff
Nether (world_nether)
Datei: world_nether/paper-world.yml
anticheat:
anti-xray:
enabled: true
engine-mode: 2
max-block-height: 128
update-radius: 2
lava-obscures: false
use-permission: false
hidden-blocks:
- ancient_debris
- chest
- nether_gold_ore
- nether_quartz_ore
- gilded_blackstone
replacement-blocks:
- ancient_debris
- basalt
- blackstone
- chest
- gilded_blackstone
- gravel
- magma_block
- nether_bricks
- nether_gold_ore
- nether_quartz_ore
- netherrack
- soul_sand
- soul_soil
End (world_the_end)
Datei: world_the_end/paper-world.yml
Das End enthält nur wenige Ressourcen, die geschützt werden müssen. Eine minimale oder deaktivierte Konfiguration ist in der Regel ausreichend.
anticheat:
anti-xray:
enabled: true
engine-mode: 1
max-block-height: 0
update-radius: 2
lava-obscures: false
use-permission: false
hidden-blocks:
- chest
- ender_chest
- shulker_box
replacement-blocks:
- end_stone
Oder einfach deaktiviert:
anticheat:
anti-xray:
enabled: false
Auswirkungen auf die Leistung
Metriken nach Modus
| Metrik | Modus 1 | Modus 2 | Ohne Anti-Xray |
|---|---|---|---|
| CPU (Chunk-Generierung) | +5-10% | +15-25% | Basislinie |
| RAM pro Chunk | +0,1 KB | +0,5-1 KB | Basislinie |
| Bandbreite | +2-5% | +10-20% | Basislinie |
| Netzwerklatenz | Vernachlässigbar | +1-5 ms | Basislinie |
Faktoren, die die Leistung beeinflussen
Anzahl der hidden-blocks
Je länger die Liste ist, desto aufwändiger ist die Verarbeitung.
# Leicht (5-10 Blöcke)
hidden-blocks:
- diamond_ore
- emerald_ore
- gold_ore
- ancient_debris
- chest
# Schwer (20+ Blöcke)
hidden-blocks:
- coal_ore
- deepslate_coal_ore
- copper_ore
- deepslate_copper_ore
# ... 20+ Einträge
max-block-height
Das Verringern dieses Werts reduziert die Belastung erheblich.
# Optimale Leistung
max-block-height: 48
# Ausgewogen
max-block-height: 64
# Maximale Sicherheit (kostspielig)
max-block-height: 320
update-radius
Jede Erhöhung multipliziert die Anzahl der zu überprüfenden Blöcke.
# Radius 1: 6 überprüfte Blöcke
update-radius: 1
# Radius 2: 26 überprüfte Blöcke
update-radius: 2
# Radius 3: 98 überprüfte Blöcke
update-radius: 3
Leistungsoptimierung
Für stark frequentierte Server
anticheat:
anti-xray:
enabled: true
engine-mode: 1 # Leichtester Modus
max-block-height: 48 # Niedrigste Grenze
update-radius: 1 # Minimaler Radius
hidden-blocks: # Kurze Liste
- diamond_ore
- deepslate_diamond_ore
- ancient_debris
replacement-blocks:
- stone
Leistungsüberwachung
Verwenden Sie Spark, um die Auswirkungen zu analysieren:
/spark profiler start
# Warten Sie einige Minuten, während die Spieler spielen
/spark profiler stop
Suchen Sie im Bericht nach:
AntiXrayin den ThreadsChunkSerializerfür Auswirkungen auf die GenerierungPlayerConnectionfür Netzwerkauswirkungen
Fehlerbehebung und häufige Probleme
Problem: Blöcke werden kurz vor der Verdeckung sichtbar
Symptom: Spieler sehen die echten Blöcke für einen kurzen Moment beim Laden der Chunks.
Ursache: Netzwerklatenz oder hohe Serverlast.
Lösungen:
# Priorität des Anti-Xray erhöhen
update-radius: 2
# Netzwerkkonfiguration überprüfen
# In server.properties
network-compression-threshold=256
Problem: Blöcke bleiben nach dem Abbau verdeckt
Symptom: Nach dem Abbau eines Blocks bleiben benachbarte Blöcke verdeckt.
Ursache: Zu niedriger update-radius oder Versionsfehler.
Lösungen:
# Update-Radius erhöhen
update-radius: 2
# Überprüfen, ob Paper aktuell ist
# Laden Sie das neueste Build von papermc.io herunter
Problem: Leistungseinbußen
Symptom: Niedrige TPS, Verzögerungen beim Laden von Chunks.
Lösungen:
# Belastung reduzieren
engine-mode: 1
max-block-height: 48
update-radius: 1
# Liste der Blöcke reduzieren
hidden-blocks:
- diamond_ore
- deepslate_diamond_ore
- emerald_ore
- deepslate_emerald_ore
Problem: Einige Blöcke sind nicht verdeckt
Symptom: X-Ray-Spieler sehen bestimmte Erze.
Ursache: Block nicht in hidden-blocks enthalten oder der Luft ausgesetzt.
Lösungen:
# Überprüfen, ob alle Varianten enthalten sind
hidden-blocks:
- diamond_ore
- deepslate_diamond_ore # Deepslate-Version nicht vergessen
Problem: Inkompatibilität mit bestimmten Plugins
Symptom: Schutz- oder Wirtschaftsplugins funktionieren nicht richtig.
Ursache: Einige Plugins interagieren auf unkonventionelle Weise mit Blöcken.
Lösungen:
- Plugin aktualisieren
- Plugin-Entwickler kontaktieren
- Admins zur Bypass-Liste hinzufügen:
use-permission: true
Dann den Admins die Berechtigung paper.antixray.bypass geben.
Debug-Befehle
# Konfiguration neu laden (nach Änderung)
/paper reload
# Aktive Konfiguration überprüfen
/paper dumpplugins # Überprüft indirekt, ob Paper funktioniert
# Server profilieren
/spark profiler start
/spark profiler stop
Best Practices
Initiale Konfiguration
- Beginnen Sie im Modus 2 für maximalen Schutz
- Anpassen basierend auf beobachteter Leistung
- Testen mit vertrauenswürdigen Spielern, die X-Ray verwenden
Empfohlene Blockliste
Unverzichtbar (für alle Server)
diamond_ore/deepslate_diamond_oreemerald_ore/deepslate_emerald_oreancient_debris
Empfohlen (Überleben)
gold_ore/deepslate_gold_oreiron_ore/deepslate_iron_orecopper_ore/deepslate_copper_orelapis_ore/deepslate_lapis_oreredstone_ore/deepslate_redstone_orecoal_ore/deepslate_coal_ore
Behälter (PvP/Fraktion)
chest/trapped_chestender_chestbarrelshulker_box(alle Farben)hopperdispenser/dropper
Speziell
spawner(falls wichtig auf Ihrem Server)tnt(PvP-Server)obsidian(versteckte Basen)
Wartung
- Regelmäßig Paper aktualisieren für Fixes
- Überwachen Sie die Leistung mit Spark oder Timings
- Testen Sie nach jedem größeren Minecraft-Update
- Dokumentieren Sie Ihre Änderungen in einer Änderungsprotokolldatei
Zusätzliche Sicherheit
Anti-Xray ersetzt keine anderen Maßnahmen:
- Anti-Cheat-Plugin (Matrix, Vulcan, Grim)
- Block-Logs (CoreProtect, Prism)
- Aktive Moderation und Spielerberichte
- Regelmäßige Überprüfung verdächtiger Spieler
Ressourcen und Referenzen
Offizielle Dokumentation
- Paper-Dokumentation: https://docs.papermc.io/
- Anti-Xray-Konfiguration: https://docs.papermc.io/paper/anti-xray
Nützliche Tools
- Spark Profiler: https://spark.lucko.me/
- Paper Timings: https://timings.aikar.co/
Gemeinschaft
- Discord PaperMC: https://discord.gg/papermc
- SpigotMC-Foren: https://www.spigotmc.org/

