Hot Summer Deals are Here!
Celebrate with up to 99% off on 17,000 resources
03
Days
16
Hours
41
Mins
00
Secs

Ascyn Hit Detection

Status
This thread has been locked.

alexa7896

Banned
Feedback score
4
Posts
238
Reactions
72
Resources
0
https://www.spigotmc.org/resources/smashhit-async-hit-detection.36835/

Basically is Ascyn Hit Detection possible? Or is it just a load of bullshit. That plugin is apparently a "ascyn hit detection plugin" which optimizes the default minecraft hit detection without changing ticks. The project is currently abandoned and has a lot of bugs, so I'm just wondering is anybody able to fix up the plugin completely?

Also, another question, if this was implemented into a spigot, wouldn't this be smooth as fuck?
 
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

alexa7896

Banned
Feedback score
4
Posts
238
Reactions
72
Resources
0
Most Spigots for sale here feature this in one way or another. A plugin cannot replicate the difference of a Spigot edit, so go with that. ySpigot is alright and GenericSpigot is pretty good.
Not really what I was looking for, just looking if this is possible to be implemented into a spigot with the bugs fixed, or a plugin.

And is there any issues with this plugin in general?
 
Banned forever. Reason: Threatening to Leak IPs (https://i.gyazo.com/4fd68392100d7d71b2243a49330a23e4.png)

Clyde

Premium
Feedback score
44
Posts
1,574
Reactions
1,220
Resources
0
https://www.spigotmc.org/resources/smashhit-async-hit-detection.36835/

Basically is Ascyn Hit Detection possible? Or is it just a load of bullshit. That plugin is apparently a "ascyn hit detection plugin" which optimizes the default minecraft hit detection without changing ticks. The project is currently abandoned and has a lot of bugs, so I'm just wondering is anybody able to fix up the plugin completely?

Also, another question, if this was implemented into a spigot, wouldn't this be smooth as fuck?
From skimming it through my phone, that's not even relatively "Async". I see that more of a lag machine if anything. Just cause it's running a task "Asynchronously (Which btw, is not really Async" and doing some checks does not make it "Async"

You're better off using actual packets and running it on a seperate thread utilizing an Executor service if you want more of an "Async hit detection".
 

kampai

Feedback score
8
Posts
361
Reactions
187
Resources
0
A plugin cannot replicate the difference of a Spigot edit, so go with that good.
This isn't entirely true, I made a video on this if you want to check it out if you can code

It's laggy and not even that effective, if at all.
Please do not commend on topic you do not much about

From skimming it through my phone, that's not even relatively "Async". I see that more of a lag machine if anything. Just cause it's running a task "Asynchronously (Which btw, is not really Async" and doing some checks does not make it "Async"

You're better off using actual packets and running it on a seperate thread utilizing an Executor service if you want more of an "Async hit detection".
What are you talking about... Do you even know how netty works??? Stop and question yourself, how do you thing packets are processed and run? How do you think the server gets the packets?

Netty DOES use an executor service, I think from the last time I check (haven't made a spigot for hit detection in a while) was 4 executors. It would be kind of scary if a SERVER didn't use executors imagine how slow that would be.

As for async hit detection, as I said before minecraft in particular uses 4 service executors then that is transferred to the main thread for the server to interpret and decode what to do with the packet, and as you know minecraft runs on 20 ticks with no modifications. This means if a large number of packets come through it's going to be in a queue for one tick (maybe even multiple depending on how bottlenecked the server is) which will make the hit seem laggier/delayed even if slightly. Async hit detection processes the packet on another thread so that this does't happen

Imagine you have to wait in line to get $100 and they can only give $100 to 20 people every second. Now imagine there was 2 lines that can give $100 to 20 people every second, more efficient right? This works the same way. If you're the 21st person then you have to wait another second before you can get your $100
 

Clyde

Premium
Feedback score
44
Posts
1,574
Reactions
1,220
Resources
0
This isn't entirely true, I made a video on this if you want to check it out if you can code


Please do not commend on topic you do not much about

He owns practically a 200-500 playerbase network, I am sure if he's ran it before, he knows how it performs.

What are you talking about... Do you even know how netty works??? Stop and question yourself, how do you thing packets are processed and run? How do you think the server gets the packets?

Netty DOES use an executor service, I think from the last time I check (haven't made a spigot for hit detection in a while) was 4 executors. It would be kind of scary if a SERVER didn't use executors imagine how slow that would be.

As for async hit detection, as I said before minecraft in particular uses 4 service executors then that is transferred to the main thread for the server to interpret and decode what to do with the packet, and as you know minecraft runs on 20 ticks with no modifications. This means if a large number of packets come through it's going to be in a queue for one tick (maybe even multiple depending on how bottlenecked the server is) which will make the hit seem laggier/delayed even if slightly. Async hit detection processes the packet on another thread so that this does't happen

Imagine you have to wait in line to get $100 and they can only give $100 to 20 people every second. Now imagine there was 2 lines that can give $100 to 20 people every second, more efficient right? This works the same way. If you're the 21st person then you have to wait another second before you can get your $100
I am speaking plugin-wise here, not spigot-wise.

If you read more properly, you would of saw that OP was speaking about the plugin "SmashHit" which is supposed to bring Async hit detection to a server (When it really doesn't when I skimmed through the code)

If you're speaking spigot-wise, I have no knowledge in that field, I cannot speak in regards to that. I am only speaking in regards to plugins.
 

kampai

Feedback score
8
Posts
361
Reactions
187
Resources
0
He owns practically a 200-500 playerbase network, I am sure if he's ran it before, he knows how it performs.


I am speaking plugin-wise here, not spigot-wise.

If you read more properly, you would of saw that OP was speaking about the plugin "SmashHit" which is supposed to bring Async hit detection to a server (When it really doesn't when I skimmed through the code)

If you're speaking spigot-wise, I have no knowledge in that field, I cannot speak in regards to that. I am only speaking in regards to plugins.

Sorry if I seemed aggressive in my first thread just dont want misinformation being spread around, people are rating your post informative which is kind of scary because they're being mislead by not fully seeing the truth

Also as for the person saying that it ran badly, my apologies smashhit DOES run badly and is very inconsistent, sorry if I didn't make that clear. I just didn't think he should be commenting on it without knowing what it actually does

Regardless still would've made no sense because you can't add executors to netty nor spigot from a plugin. What you can do though is intercept all packets by injecting to a netty pipeline (async) then check if the packet is what you want and cancel it from being registered on the main thread and handle the packet asyncly.

I have a video on this which can be viewed below
[DOUBLEPOST=1556496823][/DOUBLEPOST]
Most Spigots for sale here feature this in one way or another. A plugin cannot replicate the difference of a Spigot edit, so go with that. ySpigot is alright and GenericSpigot is pretty good.
Shout out to alexa7896 for letting me know

Also not to mention you recommended ySpigot, which he quite clearly STOLE code from my enhanced spigot and basically just skidded the whole project.

Proof:
c0fe0da2fdf2aeefa69cfc37375070a1.png

f8a2a168201ecc7067f1579518688ad2.png

https://www.mc-market.org/resources/7826/

He literally just straight up copied my thread too with the spelling mistakes and everything
I sold FigT my enhanced spigot source a while back, however that one had a lot of bugs in them which I got around to fixing eventually but never sent him an updated version
 
Last edited:

Dualzz_

Feedback score
0
Posts
4
Reactions
2
Resources
0
The whole concept of async knockback is based on retardation and ignorance. The minecraft server runs on a tick based system which calculates positions and velocity ON TICK. This means you have to change how the entire minecraft server works if you want something like 'async hit detection' to work (depending on your definition). Even if you would change the whole minecraft server to calculate this async, your client will STILL only update the position and velocity of the player ON TICK because your client has the same tick based system as the server...[DOUBLEPOST=1556550343][/DOUBLEPOST]
From skimming it through my phone, that's not even relatively "Async". I see that more of a lag machine if anything. Just cause it's running a task "Asynchronously (Which btw, is not really Async" and doing some checks does not make it "Async"

You're better off using actual packets and running it on a seperate thread utilizing an Executor service if you want more of an "Async hit detection".

The bukkit scheduler is actually based on a pool executor service. It doesn't run on the main thread. (which btw, is REALLY Async).
You obviously have no idea what you're talking about lmao[DOUBLEPOST=1556551990][/DOUBLEPOST]
I have a video on this which can be viewed below
[DOUBLEPOST=1556496823][/DOUBLEPOST]


The only thing this does is send a status packet right back to the player that attacks target. The knockback calculations are still done on the server main thread. You are setting the player health async but if this reaches below 0, the entity can only get removed on the main thread tick, which means this does nothing either. This does not make your spigot 'smoother' and it will not improve anything at all apart from seeing the status effect on your target approx 50ms faster... If anything it makes the server seems less smooth because your status update is not getting sent the same time as the velocity change
 
Last edited:

kampai

Feedback score
8
Posts
361
Reactions
187
Resources
0
The whole concept of async knockback is based on retardation and ignorance. The minecraft server runs on a tick based system which calculates positions and velocity ON TICK. This means you have to change how the entire minecraft server works if you want something like 'async hit detection' to work (depending on your definition). Even if you would change the whole minecraft server to calculate this async, your client will STILL only update the position and velocity of the player ON TICK because your client has the same tick based system as the server...[DOUBLEPOST=1556550343][/DOUBLEPOST]

The bukkit scheduler is actually based on a pool executor service. It doesn't run on the main thread. (which btw, is REALLY Async).
You obviously have no idea what you're talking about lmao[DOUBLEPOST=1556551990][/DOUBLEPOST]

The only thing this does is send a status packet right back to the player that attacks target. The knockback calculations are still done on the server main thread. You are setting the player health async but if this reaches below 0, the entity can only get removed on the main thread tick, which means this does nothing either. This does not make your spigot 'smoother' and it will not improve anything at all apart from seeing the status effect on your target approx 50ms faster... If anything it makes the server seems less smooth because your status update is not getting sent the same time as the velocity change

Wow it honestly amazes me how bad your reading comprehension skills are lmao.

First of all YES THE CALCULATION ARE DONE ASYNC, and it doesn't matter if the client is running the same tick as the server because the goal is for the server to REGISTER THE HIT FASTER not for the CLIENT TO SEND THE HIT FASTER

Please stop COMMENTING ON THINGS YOU DONT KNOW ABOUT and everything and I MEAN EVERYTHING INCLUDING THE VELOCITY is done async so it's SEPERATE from the MAIN THREAD which means ITS NOT RUNNING ON 20 TICKS which means IT CAN RUN FASTER

Edit: realizing you're talking about the video, the video was just an EXAMPLE on how to do it not the FINAL PRODUCT

PLEASE STOP
COMMENTING ON THINGS
YOU DONT
KNOW ABOUT
THANK YOU

LEARN SOME BASIC NETWORKING BEFORE TALKING
I MIGHT EVEN MAKE A TUTORIAL
 
Last edited:

Dualzz_

Feedback score
0
Posts
4
Reactions
2
Resources
0
Wow it honestly amazes me how bad your reading comprehension skills are lmao.

First of all YES THE CALCULATION ARE DONE ASYNC, and it doesn't matter if the client is running the same tick as the server because the goal is for the server to REGISTER THE HIT FASTER not for the CLIENT TO SEND THE HIT FASTER

So instead of actually disproving me you just toggle your caps lock on? For your information I actually do have enough (over 4 years) experience with netty and networking in general, also outside of minecraft. But then again the reason I gave why 'async hit detection' does not work is not because of networking, but it is because of how the minecraft server deals with movement packets and velocity calculations.[DOUBLEPOST=1556656315][/DOUBLEPOST]
Wow it honestly amazes me how bad your reading comprehension skills are lmao.

First of all YES THE CALCULATION ARE DONE ASYNC, and it doesn't matter if the client is running the same tick as the server because the goal is for the server to REGISTER THE HIT FASTER not for the CLIENT TO SEND THE HIT FASTER

All movement packets to the player are sent with the entity tracker. And you guessed it, it gets ticked by the main thread and sends them.[DOUBLEPOST=1556656409][/DOUBLEPOST]I am not only 100% certain that I know more than you about any form of networking and about the minecraft server, you just basically confirmed it with your retarded rage post. I can back up all my arguments with code that you can find in the actual minecraft server.

I recommend you actually learn about the minecraft server before you start making tutorials at all and start telling people to learn networking when it's not even the problem in the first place.

I honestly can't believe creatures like you exist smh
 
Last edited:

kampai

Feedback score
8
Posts
361
Reactions
187
Resources
0
So instead of actually disproving me you just toggle your caps lock on? For your information I actually do have enough (over 4 years) experience with netty and networking in general, also outside of minecraft. But then again the reason I gave why 'async hit detection' does not work is not because of networking, but it is because of how the minecraft server deals with movement packets and velocity calculations.[DOUBLEPOST=1556656315][/DOUBLEPOST]

All movement packets to the player are sent with the entity tracker. And you guessed it, it gets ticked by the main thread and sends them.[DOUBLEPOST=1556656409][/DOUBLEPOST]I am not only 100% certain that I know more than you about any form of networking and about the minecraft server, you just basically confirmed it with your retarded rage post. I can back up all my arguments with code that you can find in the actual minecraft server.

I recommend you actually learn about the minecraft server before you start making tutorials at all and start telling people to learn networking when it's not even the problem in the first place.

I honestly can't believe creatures like you exist smh
I know, I make spigots.... The tutorial's purpose was to manipulate packets through plugin and channel. And I don't know if you realize you can run the entity tracker AND the hit decetion on async threads which is what I did for enhanced spigot. Pm for the code if you really think im retarded or something or selling fake products
 

Scifi

Supreme
Feedback score
4
Posts
577
Reactions
208
Resources
4
Sorry if I seemed aggressive in my first thread just dont want misinformation being spread around, people are rating your post informative which is kind of scary because they're being mislead by not fully seeing the truth

Also as for the person saying that it ran badly, my apologies smashhit DOES run badly and is very inconsistent, sorry if I didn't make that clear. I just didn't think he should be commenting on it without knowing what it actually does

Regardless still would've made no sense because you can't add executors to netty nor spigot from a plugin. What you can do though is intercept all packets by injecting to a netty pipeline (async) then check if the packet is what you want and cancel it from being registered on the main thread and handle the packet asyncly.

I have a video on this which can be viewed below
[DOUBLEPOST=1556496823][/DOUBLEPOST]
Shout out to alexa7896 for letting me know

Also not to mention you recommended ySpigot, which he quite clearly STOLE code from my enhanced spigot and basically just skidded the whole project.

Proof:
c0fe0da2fdf2aeefa69cfc37375070a1.png

f8a2a168201ecc7067f1579518688ad2.png

https://www.mc-market.org/resources/7826/

He literally just straight up copied my thread too with the spelling mistakes and everything
I sold FigT my enhanced spigot source a while back, however that one had a lot of bugs in them which I got around to fixing eventually but never sent him an updated version



Can you provide proof he stole your code? if not its quite rude to accuse someone of skidding when you cannot back it.
 

alexa7896

Banned
Feedback score
4
Posts
238
Reactions
72
Resources
0
Can you provide proof he stole your code? if not its quite rude to accuse someone of skidding when you cannot back it.
kampai sold FigT the source code for his enhanced spigot which kampai was selling here:
https://www.mc-market.org/threads/327535/

FigT literally listed some features from EnhancedSpigot, one of them being "Heavily Improved Netty (This will not only decrease the amount of Garbage Collection but my potentially decrease ram usage and heavily decrease latency when dealing with many players)"

If you view the enhancedspigot thread posted by kampai, it also says "Heavily Improved Netty (This will not only decrease the amount of Garbage Collection but my potentially decrease ram usage and heavily decrease latency when dealing with many players)"

Notice how both of the sentences mentioned above contain grammar mistakes? "my" should be "may"

He also listed a bunch of other features which he just copied and pasted from kampai's thread lmao, couldn't even be bother to type it out.
https://gyazo.com/268d74fdd7fc79ecd2156dd92a066c96 (From FigT's thread)

https://gyazo.com/04631011d40515dab4796d0138666a7f
https://gyazo.com/0d8ec7766ccc2cb1e49d3fce3c4bd783
(From kampai's thread)

However, ySpigot isn't owned by the same guy who skidded off enhancedspigot, the current project is under Mael's

In conclusion, kampai sold the source code to FigT, however kampai NEVER gave resell rights to FigT.

kampai: super smart nerd who builds the all mighty enhancedspigot :cool:
6.2 btw ^
FigT: "I'll just change some messages here, and skid some cannon fixes from FluxSpigot (free on the market)" :oops:
5.1 with glasses ^
 
Last edited:
Banned forever. Reason: Threatening to Leak IPs (https://i.gyazo.com/4fd68392100d7d71b2243a49330a23e4.png)

Dualzz_

Feedback score
0
Posts
4
Reactions
2
Resources
0
I know, I make spigots.... The tutorial's purpose was to manipulate packets through plugin and channel. And I don't know if you realize you can run the entity tracker AND the hit decetion on async threads which is what I did for enhanced spigot. Pm for the code if you really think im retarded or something or selling fake products
I am aware you can tick the entity tracker on a seperate thread and I agree that it improves server peformance. I have seen people tick entities asynchronously using a worker thread pooling system, spreading the load over multiple threads.

The 'async hit detection' is not going to make anything 'smoother' though. You are always going to have to tick it one way or another, async or not. If you update the position just after the start of a tick, you need to wait until the next tick for it to actually do the calculations. Regardless of on what thread the entity is ticked or the tracked is ticked.

Ticking all entity position calculations and tracker on a different thread faster than 20tps might make the server side send the packets faster to the client, but the client still has to process positions and so at it's 20tps so the difference will be unnoticable.

I do not think you sell fake products because they actually improve performance, but 'async hit detection' does not mske anything smoother clientside
 

FiveDollarCheats

Feedback score
0
Posts
66
Reactions
19
Resources
0
Well, what you could do is have packets handled on a different thread and then sort the packet by your priority (for pvp you'd want entity location updates then hit packets then everything else) and have them processed in that priority, but I have not tried, maybe will. I don't think it would change much though.
 

Dualzz_

Feedback score
0
Posts
4
Reactions
2
Resources
0
Well, what you could do is have packets handled on a different thread and then sort the packet by your priority (for pvp you'd want entity location updates then hit packets then everything else) and have them processed in that priority, but I have not tried, maybe will. I don't think it would change much though.
It will not make a noticable difference if any at all
 

kampai

Feedback score
8
Posts
361
Reactions
187
Resources
0
I am aware you can tick the entity tracker on a seperate thread and I agree that it improves server peformance. I have seen people tick entities asynchronously using a worker thread pooling system, spreading the load over multiple threads.

The 'async hit detection' is not going to make anything 'smoother' though. You are always going to have to tick it one way or another, async or not. If you update the position just after the start of a tick, you need to wait until the next tick for it to actually do the calculations. Regardless of on what thread the entity is ticked or the tracked is ticked.

Ticking all entity position calculations and tracker on a different thread faster than 20tps might make the server side send the packets faster to the client, but the client still has to process positions and so at it's 20tps so the difference will be unnoticable.

I do not think you sell fake products because they actually improve performance, but 'async hit detection' does not mske anything smoother clientside
Yeah I understand what you mean but the point isn't to create "faster hits" its to make sure hits arent delayed, or slowed down which is what happened on a lot of large servers like kohi or minehq
 
Status
This thread has been locked.
Top