So uhm, just learning java so I decided to do this

Status
This thread has been locked.

Ghast

Founding Father of Hypocrisy - https://artemis.ac
Supreme
Feedback score
54
Posts
2,096
Reactions
3,285
Resources
79
Didn't have time for c++, so I did this:

Still selling JI's source btw.
 
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

Ghast

Founding Father of Hypocrisy - https://artemis.ac
Supreme
Feedback score
54
Posts
2,096
Reactions
3,285
Resources
79

Even better.
 

dump

❀❀❀
Premium
Feedback score
3
Posts
100
Reactions
25
Resources
0

Ghast

Founding Father of Hypocrisy - https://artemis.ac
Supreme
Feedback score
54
Posts
2,096
Reactions
3,285
Resources
79
I'm pretty sure he's trying to make an anticheat???
Technically yes but no. I’m updating JI Anticheat for 1.3.6/Build 31
 

Clyde

Premium
Feedback score
44
Posts
1,574
Reactions
1,220
Resources
0
Inaccurate, false advertising. Simple as that.

People need to stop relying on localhost. Everyone can make some "Perfect detection" in localhost, but when you throw it on a real server, it starts spazzing its ass off.

You use player.getLocation()? You're already many ticks behind/ahead of the server. So is the target. It won't be accurate, sorry to burst your bubble. It will false badly on any decent server.

Edit: And don't bother using PlayerMoveEvent to store the "Latest location" as that's not entirely the latest location either.
 

Ghast

Founding Father of Hypocrisy - https://artemis.ac
Supreme
Feedback score
54
Posts
2,096
Reactions
3,285
Resources
79
Inaccurate, false advertising. Simple as that.

People need to stop relying on localhost. Everyone can make some "Perfect detection" in localhost, but when you throw it on a real server, it starts spazzing its ass off.

You use player.getLocation()? You're already many ticks behind/ahead of the server. So is the target. It won't be accurate, sorry to burst your bubble. It will false badly on any decent server.

Edit: And don't bother using PlayerMoveEvent to store the "Latest location" as that's not entirely the latest location either.
Thanks, Clyde, totally a contributive post...
I'm fully aware of the deprecated methods being used, as stated in my thread:
firefox_BFul0lBEpa.png


Furthermore, I was actually doing most of the testing on my cloudex server. I just happen to not have time to record on it so I launched my test localhost. I'm using getHeadLocation and am checking it as a squared value, which is much more accurate than getLocation. Furthermore, the base I've constructed is fully compatible with protocollib hence I'll be easier once I have deepened my knowledge in packet management.
Thanks tho,
Ghast.
 

Clyde

Premium
Feedback score
44
Posts
1,574
Reactions
1,220
Resources
0
Thanks, Clyde, totally a contributive post...
I'm fully aware of the deprecated methods being used, as stated in my thread:
firefox_BFul0lBEpa.png


Furthermore, I was actually doing most of the testing on my cloudex server. I just happen to not have time to record on it so I launched my test localhost. I'm using getHeadLocation and am checking it as a squared value, which is much more accurate than getLocation. Furthermore, the base I've constructed is fully compatible with protocollib hence I'll be easier once I have deepened my knowledge in packet management.
Thanks tho,
Ghast.
Sorry if I came out rude, didn't intend it. It's just tiring seeing all these kinds of posts and in the end, they end up being fake like a lot of AntiCheats here.

distanceSquared from getEyeLocation is just as bad as getLocation.

Using .distance() and .distanceSquared() won't be helping either.

Also distance() calls upon distanceSquared, it's just a tad bit different.

Code:
public double distance(Location o) {
        return Math.sqrt(this.distanceSquared(o));
    }

    public double distanceSquared(Location o) {
        if (o == null) {
            throw new IllegalArgumentException("Cannot measure distance to a null location");
        } else if (o.getWorld() != null && this.getWorld() != null) {
            if (o.getWorld() != this.getWorld()) {
                throw new IllegalArgumentException("Cannot measure distance between " + this.getWorld().getName() + " and " + o.getWorld().getName());
            } else {
                return NumberConversions.square(this.x - o.x) + NumberConversions.square(this.y - o.y) + NumberConversions.square(this.z - o.z);
            }
        } else {
            throw new IllegalArgumentException("Cannot measure distance to a null world");
        }
    }

Also, I am sure you're accounting for velocity and Y in the reach check. You should not be doing that for a decent reach check. If anything, that breaks it more.

Whenever you can, I'd be willing to login to your server and showing how to easily false it.
 
Last edited:

Ghast

Founding Father of Hypocrisy - https://artemis.ac
Supreme
Feedback score
54
Posts
2,096
Reactions
3,285
Resources
79
Sorry if I came out rude, didn't intend it. It's just tiring seeing all these kinds of posts and in the end, they end up being fake like a lot of AntiCheats here.

distanceSquared from getEyeLocation is just as bad as getLocation.

Using .distance() and .distanceSquared() won't be helping either.

Also distance() calls upon distanceSquared, it's just a tad bit different.

Code:
public double distance(Location o) {
        return Math.sqrt(this.distanceSquared(o));
    }

    public double distanceSquared(Location o) {
        if (o == null) {
            throw new IllegalArgumentException("Cannot measure distance to a null location");
        } else if (o.getWorld() != null && this.getWorld() != null) {
            if (o.getWorld() != this.getWorld()) {
                throw new IllegalArgumentException("Cannot measure distance between " + this.getWorld().getName() + " and " + o.getWorld().getName());
            } else {
                return NumberConversions.square(this.x - o.x) + NumberConversions.square(this.y - o.y) + NumberConversions.square(this.z - o.z);
            }
        } else {
            throw new IllegalArgumentException("Cannot measure distance to a null world");
        }
    }

Also, I am sure you're accounting for velocity and Y in the reach check. You should not be doing that for a decent reach check. If anything, that breaks it more.

Whenever you can, I'd be willing to login to your server and showing how to easily false it.
All good. To your surprise, I actually saw the negative impact of velocity on the check and decided to remove it. I haven’t pushed it to public for the very reasons you pointed out. It’s just a showcase of my steps to perfectionning this. It’s a learning procedure I wish to show. Thanks for the help clyde, if you could also point me out your best protocollib documentation (official one is naf and barely filled with examples) that’d be great.
Cheers,
Ghast.
 

Clyde

Premium
Feedback score
44
Posts
1,574
Reactions
1,220
Resources
0
All good. To your surprise, I actually saw the negative impact of velocity on the check and decided to remove it. I haven’t pushed it to public for the very reasons you pointed out. It’s just a showcase of my steps to perfectionning this. It’s a learning procedure I wish to show. Thanks for the help clyde, if you could also point me out your best protocollib documentation (official one is naf and barely filled with examples) that’d be great.
Cheers,
Ghast.
https://wiki.vg/Protocol

If you need any help, feel free to add me on Discord:
ToonBasic#7872
 
Status
This thread has been locked.
Top