Wurst7 icon indicating copy to clipboard operation
Wurst7 copied to clipboard

ANTI XRAY BYPASS

Open kalamy13e45 opened this issue 1 year ago • 14 comments

Every server nowadays runs a Anti Xray plugin or two and it makes the xray function pretty much unusable. Like hiding ores not exposed to air or filling your vision with a million fake ores it really sucks because Xray is the only reason i got wurst. Could you make a bypass for it somehow?

https://docs.papermc.io/paper/anti-xray

kalamy13e45 avatar Jul 24 '23 17:07 kalamy13e45

no

SaidTorres3 avatar Aug 05 '23 07:08 SaidTorres3

I added a setting to X-Ray to make ores touching air visible https://github.com/PeriodicSeizures/Wurst7/commit/31f5a7ca9fa46e9b7af141a4e692f786d3c0f9fc. I'll make a PR once I'm sure it's working as expected.

ricosolana avatar Aug 09 '23 19:08 ricosolana

noice

Cyclopropinon avatar Aug 12 '23 10:08 Cyclopropinon

Hey everyone. First off, thanks for all your input and suggestions!

Ultimately, I think the best solution against anti-X-Ray plugins would be to add a seed-based X-Ray hack (SeedRay), as that's the only way to truly bypass all of the fake ores and other tricks that these plugins use.

However, from my initial testing, this seems to be quite a hefty task. The OreFeature class, responsible for most of the ore placement logic, can only place ores directly in a world, and it's not clear to me how we could extract the ore positions from it without having to replicate the entire class. There are also a number of other calculations outside of OreFeature that are necessary to get the correct ore positions for a given seed.

For simplicity, I would prefer if we initially ignore seed-cracking algorithms altogether and design SeedRay to simply ask the user to input their world seed. As of Wurst 7.36, we already have a TextFieldSetting that can be used for this purpose. We can always add a seed-cracking tool later, but I think it's better to start simple, given how complex Minecraft's world generation tends to be.

So far, I only have a very rudimentary SeedRay prototype that can correctly locate one specific type of diamond ore. And it achieves this by having the entire OreFeature class copied into the hack and modified to return the positions, which is obviously not ideal. If anyone has more experience with seed-based X-Ray hacks or perhaps you've already made one, I'd love to hear from you! I'm a bit stuck on this one at the moment.

That being said, I also see the value in also having an X-Ray setting to only show exposed ores, particularly as not every user will be able to find their world seed (even with seed-cracking tools). I see @PeriodicSeizures's implementation as a great starting point! However, if we're going to adopt this, I would suggest a few changes:

  1. The setting's name "Anti-XRay Bypass" seems a bit misleading, as only seed-based hacks can truly bypass this sort of plugin. A better name would be "Only show exposed", with a description along the lines of "Only shows blocks that are exposed to air or water. This can help against anti-X-Ray plugins."

  2. The current code only considers air blocks. To make it more effective, it should consider other empty blocks too. You can make use of BlockUtils.canBeClicked(BlockPos) for this task. It will return false if the given block is air, water, cave air, barrier, or any other kind of "nothing" block that would expose an ore placed next to it.

I hope this sounds good to everyone. I think having both SeedRay and the "Only show exposed" setting as options would make Wurst much more resistant against anti-X-Ray plugins. But as I mentioned before, I'll need some help to achieve this. I would be very grateful if any of you could help me out with SeedRay and I look forward to seeing @PeriodicSeizures's PR for the "Only show exposed" setting!

Alexander01998 avatar Aug 12 '23 20:08 Alexander01998

There is a problem you see wurst is one of the most popular clients that update frequently and support nearly all minecraft versions. Most anticheat developers/plugins makers know this cheat and how to patch it (making it open-sourced is a really bold move for trust, but makes it even easier to patch). So wurst client dev (or devs) will constantly have to unpatch the anti-xray bypass. And this is really annoying for both users & devs since they will need a auto updater in order to keep the client going and the amount of skill and time required to code all of this is insanely high (excuse me for my grammar & spelling). This is why wurst's speedhack isnt updated to the ncp updates or could be one of the reasons

impresson avatar Aug 19 '23 23:08 impresson

i found something for the anti-xray of paper: if you punch a block (just punch, not break), nearby ores will be show to player. maybe you can add a nuker like to expose nearby ores?

Godivctor avatar Sep 13 '23 15:09 Godivctor

Hey @Godivctor! I gave that a try on my Paper test server, using Nuker in MultiID mode. While it does remove most of the nearby fake ores, I found this method to be quite limited. It only seems to work at close range (no luck extending the range by using Freecam), and some of the nearby fake ores never seem to disappear, even after punching them.

Ultimately this solution doesn't seem to make ore hunting that much more efficient, as you'd still need to build a kind of strip mine to get close enough to punch away the fake ores, which kind of eliminates the advantages of X-Ray in the first place. So while I appreciate your creative thinking, at this point I don't think it's a route I'll be pursuing.

Alexander01998 avatar Sep 13 '23 16:09 Alexander01998

Anti-Xray on Paper only replaces blocks in chunks around you (not sure how many chunks of a radius), so I usually enable X-Ray and Freecam and move my camera far away, where the ores are visible, then I take note of the coords of ores and mine for them. It would be great if Wurst could automate this.

Also, I do not think much people know about how Paper does X-Ray and how it can be bypassed, other than the core team and contributors.

RGBCube avatar Oct 02 '23 15:10 RGBCube

Hey @RGBCube, I appreciate your suggestion and gave it a try on my Paper test server. However, I was not able to reproduce the behavior you're describing. For me, the scrambled ores do appear to extend all the way to the farthest loaded chunks.

a screenshot from the Paper test server showing ores scrambled by anti-X-ray at the very edge of the player's render distance

Regarding your comment about the Paper core team - let's not forget that Paper's source code is publicly available. There's really no secret magic or hidden limitations when it comes to their Anti-X-Ray feature. Now, it's possible that the server you're playing on has some custom plugins or non-standard configs installed that are causing a different Anti-X-Ray behavior on your end.

I should be able to make an X-Ray hack tailored to that specific server/plugin if I could either join the server myself, or get access to the plugin(s) they are using that are causing their Anti-X-Ray to behave in this way. So if you have more details on that, feel free to share them here.

Alexander01998 avatar Oct 02 '23 18:10 Alexander01998

Hey @RGBCube, I appreciate your suggestion and gave it a try on my Paper test server. However, I was not able to reproduce the behavior you're describing. For me, the scrambled ores do appear to extend all the way to the farthest loaded chunks.

a screenshot from the Paper test server showing ores scrambled by anti-X-ray at the very edge of the player's render distance

Regarding your comment about the Paper core team - let's not forget that Paper's source code is publicly available. There's really no secret magic or hidden limitations when it comes to their Anti-X-Ray feature. Now, it's possible that the server you're playing on has some custom plugins or non-standard configs installed that are causing a different Anti-X-Ray behavior on your end.

I should be able to make an X-Ray hack tailored to that specific server/plugin if I could either join the server myself, or get access to the plugin(s) they are using that are causing their Anti-X-Ray to behave in this way. So if you have more details on that, feel free to share them here.

Hmm, I remember trying this on a server that I managed back in 1.19(18?), and it worked. Maybe they've patched it since, though. Going to re-test soon, will report.

RGBCube avatar Oct 02 '23 20:10 RGBCube

I have another idea on hiding around 10-60% of fake ores which uses logic to hide fake ores. How it would work is it sees what y level you are on and checks if it can spawn there EG: diamonds spawning at y level 57 or iron spawning at y level 157 etc. It just eliminates the ores that shouldn't naturally spawn there

impresson avatar Oct 08 '23 23:10 impresson

Im retarded I forgot what Alex said

impresson avatar Oct 09 '23 03:10 impresson

yes but some servers like Herobrine.org use Anti-Xray packs that only do blocks that you'd really only find in bases.. (ex. Raw Gold Block, Coal Block, etc.) so a way this could be achieved is by determining which packs Wurst COULD bypass and what pack Wurst cannot.

TrxppyDrkp avatar Oct 24 '23 00:10 TrxppyDrkp

But if you plan on doing this I recommend just making an addon for meteor client, cuz the xray is a bit better for me on meteor. Examples of a meteor addon v Meteor Rejects, Orion, Blackout, thats really all I know of.

TrxppyDrkp avatar Oct 24 '23 00:10 TrxppyDrkp

This issue has been open for a while with no recent activity. If this issue is still important to you, please add a comment within the next 7 days to keep it open. Otherwise, the issue will be automatically closed to free up time for other tasks.

Issues should be closed if:

  • They are duplicates of other issues
  • There is not enough demand
  • They are no longer relevant
  • There are not enough details

github-actions[bot] avatar May 20 '24 09:05 github-actions[bot]