• Guest, we are doing a new map (refresh) for Herocraft. Gather your friends and get ready! Coming next Friday, 06/28/24 @ 7PM CT play.hc.to
    Read up on the guides and new systems! Here.
    View the LIVE Map here @ hc.to/map
    Stuck or have a problem? use "/pe create" to to open a ticket with staff (There are some known issues and other hotfixes we will be pushing asap)
  • Guest, Make sure to use our LAUNCHER! Read more here!

Bug Movement Abilities Affected by Lag Spikes

Delfofthebla

Legacy Supporter 4
Retired Staff
Joined
Nov 25, 2012
Location
United States
This isn't exactly a new issue, but I figured I'd try my hand at making a post about it to see if anything can be done.

I love playing Dragoon. I'd say it's definitely my favorite class right now. However, pvping when the server is experiencing lag spikes is practically suicidal. (Read: Every day for the past 2 weeks)

If the server experiences a spike at the exact same time you use Jump, SuperJump, or even Ninja's Backflip, absolutely nothing will happen 90% of the time. This wastes your stamina, and often even rubberbands you to make things worse.

I've noticed the lag can do several different things to these abilities.

1. Absolutely nothing will happen. The only indication you will even have that you used the skill is the fact that your stamina is missing and the chat claims to have made you use the skill.

2. Delay the activation until the lag spike has ended. After which it will sometimes jump as normal, however usually it is not as "powerful" as a normal jump/backflip would be.

3. No-cheat will disagree with your action, and rubberband you. It's funny because this is clearly visible to other players too. I've jumped over a persons head, and then immediately got rubberbanded back to where I was before. I would stare as the person was scrambling around, looking where he thinks I should be.


Honestly I feel this is really class-breaking for the dragoon at times. I've been in several teamfights (or other stick situations) and had my superjump place me no higher than 2 blocks above where I was when I used it. Sometimes I'm lucky enough to even get 2 blocks. SuperJump requires about half of my stamina bar to cast too, so when it fails, I am guaranteed to die within the next few seconds.
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
Not fixable - all velocity based skills are done via the timer and I havent found a way to change this in over a year.
 

Delfofthebla

Legacy Supporter 4
Retired Staff
Joined
Nov 25, 2012
Location
United States
Not fixable - all velocity based skills are done via the timer and I havent found a way to change this in over a year.
I think there is definitely a way around this. It's possible that the way Minecraft handles netcode is interfering with Herocraft skills, but I still think you can code it in a way to still function properly, even during lag spikes.


What is the code difference between blink and jump?
 

EvilThor

Legacy Supporter 3
Joined
Oct 31, 2011
Location
Internett
I think there is definitely a way around this. It's possible that the way Minecraft handles netcode is interfering with Herocraft skills, but I still think you can code it in a way to still function properly, even during lag spikes.


What is the code difference between blink and jump?
If I may have a guess:

jump make you jump/lunches the player into the air.

Blink teleports the player forwards directly, without any movement.
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
Velocity based movement is handled by the scheduler/ticks - there is no way around this. I would love to be proven wrong but Sleaker has stated this numerous times.

Coders and andrew2060 can confirm.
 

andrew2060

Retired Staff
Joined
Sep 20, 2012
Not sure what you'
Velocity based movement is handled by the scheduler/ticks - there is no way around this. I would love to be proven wrong but Sleaker has stated this numerous times.

Coders and andrew2060 can confirm.
Not sure what you're saying here:
Velocity based movement is completely independent of server ticks afaik.
Nocheat checks for whether a velocity based movement is valid on the other hand, are server tick dependent.

Assuming the above two statements are true (which I believe they are)
one possible solution to this is to use the nocheat api to temporarily disable a check on a player when he uses a skill that might cause problems with nocheat, then schedule a separate task to reenable said task after ~half a second. Because of the nature of the way nocheat performs checks, this will solve the issue of being rubberbanded, even if the check is reenabled mid-movement
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
Not sure what you'
Not sure what you're saying here:
Velocity based movement is completely independent of server ticks afaik.
Nocheat checks for whether a velocity based movement is valid on the other hand, are server tick dependent.

Assuming the above two statements are true (which I believe they are)
one possible solution to this is to use the nocheat api to temporarily disable a check on a player when he uses a skill that might cause problems with nocheat, then schedule a separate task to reenable said task after ~half a second. Because of the nature of the way nocheat performs checks, this will solve the issue of being rubberbanded, even if the check is reenabled mid-movement
Velocity as in Forcepush / Jump skill. They are dependant on the server TPS in their current implementation - I can show you the source, not sure if you've seen.
 

STDs4YouAnd4Me

Legacy Supporter 8
Joined
Sep 11, 2012
Velocity as in Forcepush / Jump skill. They are dependant on the server TPS in their current implementation - I can show you the source, not sure if you've seen.

If velocity isn't effected by Tremor, would it be possible that Forcepush gets replaced by a carbon-copy of Tremor? Maybe give it a little higher mana or stamina cost considering it's an AOE. It would be really nice if Disciple had a CC that worked 100% of the time.
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
If velocity isn't effected by Tremor, would it be possible that Forcepush gets replaced by a carbon-copy of Tremor? Maybe give it a little higher mana or stamina cost considering it's an AOE. It would be really nice if Disciple had a CC that worked 100% of the time.
It has to do with how the math is done and when it is calculated on the CPU.

It is not possible to fix this in its current state. The skill-charge is using the method that shouldn't be affected by the TPS - but is most certainly is.
 

Sleaker

Retired Staff
Joined
Jul 24, 2011
Location
Portland, Oregon
This is not an issue in Heroes, it's an issue with MC/Server technology and there is nothing we can do about it. Teleport skills work fine because they don't adjust velocities, or change anything, they simply translate the player.
 
Top