Orebfuscator icon indicating copy to clipboard operation
Orebfuscator copied to clipboard

Spigot might be reintroducing a built-in anti-xray, monitor

Open ProgrammerDan opened this issue 8 years ago • 19 comments

And if they do, add auto-disable back

https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot/pull-requests/68/overview

https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot/pull-requests/61/overview

ProgrammerDan avatar Apr 21 '16 16:04 ProgrammerDan

#spigot-dev:

[03:43:58] stonar96: md_5: What's going on with Anti-Xray? Will it be merged? Any changes required? [03:47:48] ~md_5: it's still quite dependent on internal format, and I'm not convinced it is maintainable. Also someone has released an anti xray plugin also [03:49:32] ~md_5: I might sit down and evaluate it again when I get time, but the reality is that we need to be pretty sure we are capable of updating your code to every MC version that comes out now and 3 years in the future

RoboMWM avatar Apr 22 '16 07:04 RoboMWM

@RoboMWM damn XD

sgdc3 avatar Apr 22 '16 12:04 sgdc3

@RoboMWM Thanks for passing that along! I'll keep an eye on that pull request; largely we want to make sure that if Spigot does introduce a built-in, we add a hook to optionally disable either it or ours so they don't overlap.

ProgrammerDan avatar Apr 22 '16 14:04 ProgrammerDan

wasn't lishid involved in the original support for anti-xray in spigot?

the paper fork might also be interested in any pull requests which readd support for anti-xray directly into the server, as would alot of users such as myself

intangir avatar May 06 '16 05:05 intangir

another thread about it might want to contact @stonar96

intangir avatar May 06 '16 05:05 intangir

Paper is likely reintroducing it, though. https://github.com/PaperMC/Paper/pull/349

RoboMWM avatar Aug 31 '16 15:08 RoboMWM

Sounds good -- hopefully that works out well!

I'd love to see some side-by-side timings, I know the spigot built-in always got bad press, I'm very curious how Orebfuscator4 would stack up against @stonar96 's PaperSpigot contribution.

ProgrammerDan avatar Aug 31 '16 15:08 ProgrammerDan

@ProgrammerDan You can't really compare the timings. My implementation is async but tests have shown that my implementation is much faster than the old Spigot inbuilt Anti-Xray implementation when my implementation wasn't yet async bacause it has many optimizations.

stonar96 avatar Aug 31 '16 19:08 stonar96

You can generally compare two things that do the same thing; regardless of sync or async, just measure how long to obfuscate / unobfuscate, do so other a time period, measure cpu load and mem load while holding other things as equal as possible ...

I might be misunderstanding you, or you me. I'm not suggesting compare the new PaperSpigot implementation vs. the old Spigot built-in, but rather your new PaperSpigot vs. this project -- "under new management" Orebfuscator :)

ProgrammerDan avatar Aug 31 '16 20:08 ProgrammerDan

Of course you can compare it. I thought you were talking about the timings on the main thread were a comparison wouldn't make sense.

stonar96 avatar Aug 31 '16 21:08 stonar96

:) Anyway, idle curiosity. These things wind up being preference / ease at the end of the day.

ProgrammerDan avatar Aug 31 '16 21:08 ProgrammerDan

In case you aren't already aware, Paper implemented antixray. https://github.com/PaperMC/Paper/commit/524ebe97d7bf947e540019baf0eb68777449db0a

RoboMWM avatar Oct 09 '17 04:10 RoboMWM

@Aleksey-Terzi I'd be curious for a methodology check on their performance metric testing: https://github.com/PaperMC/Paper/pull/858

Also, @RoboMWM do you have any idea on feature parity? We've packed in a lot of great features that for sure have increased running time a bit but greatly enhanced functional utility ... thoughts?

All the same, good to see that PaperSpigot will offer people some baseline anti-xray!

ProgrammerDan avatar Oct 09 '17 18:10 ProgrammerDan

Idk, I've already jumped ship :P although as you're probably aware I didn't use any of the proximityhider, darkness, etc. features.

Main thing that makes paper's highly performant is that it runs asynchronously.

If you want to add more, it's interesting to see how he's changing the obfuscated ores as the blocks are updated... ~~though not sure what the purpose of doing that is to be honest (wouldn't that, at best, just increase network bandwidth? /shrug)~~ I suppose the purpose is to fake out xrayers in determining if a nearby-updated block is revealing an ore or not.

RoboMWM avatar Oct 09 '17 19:10 RoboMWM

Hmm, fakeout seems unwise. Non-static presentation would lead to interference patterns ... which can be studied and eliminated, by clever client-side code. Static doesn't have this failing, as it'll only ever lie to you in the same way, so there's nothing to eliminate...

Still, can't blame you, performance makes a big difference although that's my interest -- the performance gains seemed "relatively" small (ofc it adds up!), so I'm curious on their methodology.

ProgrammerDan avatar Oct 09 '17 19:10 ProgrammerDan

@ProgrammerDan Yes, I should look it definitely.

@RoboMWM

Main thing that makes paper's highly performant is that it runs asynchronously.

Btw, did you have performance issues with latest Orebfuscator?

Aleksey-Terzi avatar Oct 10 '17 04:10 Aleksey-Terzi

No, but I hardly have any sizeable, consistent playerbase to speak of.

RoboMWM avatar Oct 11 '17 02:10 RoboMWM

I asked, because of:

  1. Current Orebf even with enabled ProximityHider (which anyway is working in async task) almost haven't impact on performance (was tested on servers with 100+ players simultaneously), when tps is 20 - I think server could be considered as well working :)

  2. I have doubts that "runs async" optimization will give visible performance improvement, because of main server's process is not thread safe. So if "anit-x ray" want to use some Bukkit API (and it will need to use) - it need to lock server's thread...

  3. Orebf is using caching - so in most cases data even not generated but just sent to client

But in any case would be good to look to anti-xray patch, perhaps there was found some perfect way which made server much more performant. Also would be good to see some performance results on large amount of players.

Aleksey-Terzi avatar Oct 11 '17 08:10 Aleksey-Terzi

So basically paper has it and it's great. Idk the patch myself but the async-ness is safe and performant (details on respective PRs) and apparently what was pulled was far better than what he initially PR'd.

Spigot won't be getting antixray, stonar96 long gave up on trying to get a PR in there (especially with the PR politics surrounding spigot).

RoboMWM avatar May 29 '18 02:05 RoboMWM