Mangonels / AntiXrayHeuristicsIssues

For tracking issues with AXH
2 stars 0 forks source link

[Suggestion] Improve AXH algorithm to account for unusual base underground terrain blocks. (Custom generation) #13

Open JustAMatt opened 3 years ago

JustAMatt commented 3 years ago

Server system: Purpur 931 (Paper 1.16.4) Minecraft version: 1.16. Steps to reproduce the issue: Use this config https://hastebin.com/pilazejiku.yaml (the world folder is called "Towny" (currently using MV as well so I also added "overworld" just in case. I increased the weight detection a lot and it completely failed to detect me in the most obvious xray use during 15 minute periods. I mean straight for diamond 24/7 for 15 minutes obvious. Error log: No error log Link to config.yml file on gist.github.com: https://gist.github.com/JustAMatt/28e6768a6f135b29ee7652311db0f8fd

I could get like 1 stack of diamonds in this period of time or more. I had no perms assigned to me. I was using AdvancedBan to manage the ban in a local server (no bunguee).

Mangonels commented 3 years ago

Thank you for your report. I'm looking into this.

Mangonels commented 3 years ago

Hey, I tried setting up AXH on a blank Paper 1.16.4 server, just to make sure if maybe something was gravely wrong and the detection simply didn't work or something like that, but there doesn't seem to be any issue with getting detected. It's also working fine on my main production server (although I must say I am pending on tweaking the default weights for now, since they may be quite low).

I do admit however that my plugin may not be precisely the fastest right now, in any case It does not claim to be such, it only acts as a threshold beyond which it traps xrayers. Still, it's not precisely extremely slow (or non working) as you may claim either.

I may do some more testing, and in any case the core algorithm (and recomended weights) will receive improvements. For now, if you are still completely incapable of getting detected, even with very high weights, I'd recomend you test the plugin on a blank server following the installation process as detailed on the main page, and give me your impressions.

I'm not sure the setup you'd mention could actually affect in the plugin not detecting you using xrays (I'd bet it wouldn't), but these factors could (mentioning just in case):

If you want you can also place the plugin on a production server with 10+ players and see if it catches anyone (on my server I'd definetly get some results in 1 week, and with minimum weights).

After all, if it doesn't detect anything as you claim, it can at least do no harm.

JustAMatt commented 3 years ago

Could you share the recommend weights that you use? I will try a fresh install. My server does have custom terrain but the ore distribution is just like vanilla.

Mangonels commented 3 years ago

My server does have custom terrain but the ore distribution is just like vanilla.

Damn, that could very well be an issue. But if so, I think I may be capable of adapting it for you. AXH expects most underground masses to be formed by either stone (overworld), netherrack (nether). Is this the case on your maps?

Could you share the recommend weights that you use?

Recomended weights for now are the ones generated by default on a clean install.

JustAMatt commented 3 years ago

My server does have custom terrain but the ore distribution is just like vanilla.

Damn, that could very well be an issue. But if so, I think I may be capable of adapting it for you. AXH expects most underground masses to be formed by either stone (overworld), netherrack (nether). Is this the case on your maps?

Could you share the recommend weights that you use?

Recomended weights for now are the ones generated by default on a clean install.

The only difference underground is that there is a higher presence of diorite, andesite, and granite. Everything else is the same. The nether is just vanilla nether.

The ore generation is vanilla, that's why we bought the plugin. Could you adjust or make a patch so it recognizes granite, andesite, and diorite as stone?

ChiboYen commented 3 years ago

I think I may be capable of adapting it for you. AXH expects most underground masses to be formed by either stone (overworld), netherrack (nether). Is this the case on your maps?

Adding in diorite, andesite, granite, and maybe even gravel in the detection algorithm should be very helpful, I 2nd this suggestion

Mangonels commented 3 years ago

I think I may be capable of adapting it for you. AXH expects most underground masses to be formed by either stone (overworld), netherrack (nether). Is this the case on your maps?

Adding in diorite, andesite, granite, and maybe even gravel in the detection algorithm should be very helpful, I 2nd this suggestion

@ChiboYen This doesn't actually seem to have to be considered in your case, unless you have a world that has custom generation.

The only difference underground is that there is a higher presence of diorite, andesite, and granite. Everything else is the same. The nether is just vanilla nether.

@JustAMatt AXH may not be capable of currently working properly considering your (overworld's underground I asume?) world's terrain generation, but it should work quite well on the nether.

I'll do my best at improving the algorithm considering possible diferent base underground materials in the future, so for now I'll just leave this ticket open.

JustAMatt commented 3 years ago

I think I may be capable of adapting it for you. AXH expects most underground masses to be formed by either stone (overworld), netherrack (nether). Is this the case on your maps?

Adding in diorite, andesite, granite, and maybe even gravel in the detection algorithm should be very helpful, I 2nd this suggestion

@ChiboYen This doesn't actually seem to have to be considered in your case, unless you have a world that has custom generation.

The only difference underground is that there is a higher presence of diorite, andesite, and granite. Everything else is the same. The nether is just vanilla nether.

@JustAMatt AXH may not be capable of currently working properly considering your (overworld's underground I asume?) world's terrain generation, but it should work quite well on the nether.

I'll do my best at improving the algorithm considering possible diferent base underground materials in the future, so for now I'll just leave this ticket open.

I didn't expect this AC to rely so heavily on stone. I thought that as long as ore concentration and Y lvl was normal it would be all fine. Any chance you could put out a dev version that incoroporates Diorite, andesite and granite as "stone" types?

Also I think that @ChiboYen is right. Why handicap the AC by not counting in dirt and gravel?

Mangonels commented 3 years ago

As I said:

I'll do my best at improving the algorithm considering possible diferent base underground materials in the future, so for now I'll just leave this ticket open.

As for this, I'd rather not answer.

Why handicap the AC by not counting in dirt and gravel?

Mangonels commented 3 years ago

If you don't mind, I'll switch this tickets title to a suggestion, since I don't consider there being a lack of detection.