View Full Version : Skills getting errors and resetting cooldown
ProfessorCat
04-06-2019, 10:57 AM
Hello! I would like to talk about the 3 types of in game "errors" that can occur when in combat that result in your skills not getting used, but the cool down still triggers.
The main Issue:
These errors cause a cool down of a skill you have not used. The longer the cool down, the more this hurts the player.
1. Target is too far away error. This happens when a monster is walking away as I'm trying to attack it, or when another player knocks back a target while i am trying to hit it. Shouldn't this be fixed with auto targeting/ or just not letting the ability go off?
2. Error and Accusation of third party accelerator, because I tried to use a skill as soon as it became available. If the game isn't ready for me to use the ability, why in the world does it allow me to click the skill, or use a key bind? (it should go without saying, but I have never used a third party accelerator, and I don't even know what that is.)
3. You don't have enough power error. This one most notably occurs when you get a lock out status from GK tacticians, or a golem, etc at the same time you are trying to perform an attack. This is impossible to predict in a group, and results in the whole party wasting cool downs.
Each one of these errors takes place when you try to use a skill, and the client doesn't like one of these statuses. That's fine, but why does it trigger the cool down of that skill on top of preventing the skill form taking place.
I play a build that has LONG cool downs, and these errors quite literally kill me. It hurts the most when I have wasted a Res, or even guild res (hour long cool down) because it said I was using a third party accelerator. Phoenix strike, Cosmic strike, and most sidebar skills take up to a minute cool down. When this happens, I either Die, or have to wait a full minute to enter the next round of combat. It has added up to hours of unnecessary cool downs over the years.
Proposed Solution:
I understand there is coding and reworking to be made for this. In the mean time, is it possible to keep the error message, keep the skill from being used, but PLEASE remove the cool down trigger for skills when this happens.
I have to believe there is intention to fix this eventually, as a full released game cant be expected to yield error messages during every play session.
If there is anything I can do on the player end to help, let me know. I can record instances of this happening if needed, or take screen shots.
Each one of these errors takes place when you try to use a skill, and the client doesn't like one of these statuses. That's fine, but why does it trigger the cool down of that skill on top of preventing the skill form taking place.
I think it's not the client that doesn't like it, but the server. When you try to use the ability, the client is happy and let you do it, but the server knows better and rejects the request. The client is just lagging behind and does not have all up-to-date info instantly.
From the client perspective, you used the ability, so it should be on cooldown.
Possible solutions:
For the distance issue, save the mob's position in the last few milliseconds server-side, and add a timestamp to the request sent from the client. This way the server knows the client had a valid distance when you tried to use the ability.
For the third party accelerator, a customizable delay of a few milliseconds added to all your cooldowns. It'd slow you down a bit, but would ensure you're not too fast. Default to zero delay of course.
For the power issue, it could be handled he same way as the distance issue, I guess.
Another solution would be the server telling the client "this ability failed, you can reset the cooldown", but it might open some exploit. I'm not too sure about that.
ProfessorCat
04-06-2019, 11:35 AM
Possible solutions:
For the distance issue, save the mob's position in the last few milliseconds server-side, and add a timestamp to the request sent from the client. This way the server knows the client had a valid distance when you tried to use the ability.
For the third party accelerator, a customizable delay of a few milliseconds added to all your cooldowns. It'd slow you down a bit, but would ensure you're not too fast. Default to zero delay of course.
For the power issue, it could be handled he same way as the distance issue, I guess.
Please disregard my gut reaction to your post! I appreciate your input, Niph! I thought you were recommending me to make those changes at first XD. Shows how much I know about all this programming stuff! Thank you for adding a real solution, as opposed to my fantasy fix.
Funny enough, I'm now playing on a new TV as a monitor, and it has a slight delay on the picture. I was hoping this would help me "slow down", but unfortunately the display lag on my end isn't enough to save me, or I'm smashing my attacks too quickly in a frantic haste.
Yaffy
04-06-2019, 12:15 PM
Hello! I would like to talk about the 3 types of in game "errors" that can occur when in combat that result in your skills not getting used, but the cool down still triggers.
The main Issue:
These errors cause a cool down of a skill you have not used. The longer the cool down, the more this hurts the player.
1. Target is too far away error. This happens when a monster is walking away as I'm trying to attack it, or when another player knocks back a target while i am trying to hit it. Shouldn't this be fixed with auto targeting/ or just not letting the ability go off?
2. Error and Accusation of third party accelerator, because I tried to use a skill as soon as it became available. If the game isn't ready for me to use the ability, why in the world does it allow me to click the skill, or use a key bind? (it should go without saying, but I have never used a third party accelerator, and I don't even know what that is.)
3. You don't have enough power error. This one most notably occurs when you get a lock out status from GK tacticians, or a golem, etc at the same time you are trying to perform an attack. This is impossible to predict in a group, and results in the whole party wasting cool downs.
Each one of these errors takes place when you try to use a skill, and the client doesn't like one of these statuses. That's fine, but why does it trigger the cool down of that skill on top of preventing the skill form taking place.
I play a build that has LONG cool downs, and these errors quite literally kill me. I cannot count the times that I have wasted a Res, or even guild res (hour long cool down) because it said I was using a third party accelerator. Phoenix strike, Cosmic strike, and most sidebar skills take up to a minute cool down. When this happens, I either Die, or have to wait a full minute to enter the next round of combat. It has added up to hours of unnecessary cool downs over the years.
Proposed Solution:
I understand there is coding and reworking to be made for this. In the mean time, is it possible to keep the error message, keep the skill from being used, but PLEASE remove the cool down trigger for skills when this happens.
I have to believe there is intention to fix this eventually, as a full released game cant be expected to yield error messages every 5 minutes of game-play.
If there is anything I can do on the player end to help, let me know. I can record instances of this happening if needed, or take screen shots.
Errors 1 and 3 are caused because every ability has a "Start up time". When you use an ability, your character checks if it's in the correct location and such and then begins using the ability. After your character starts the attack, they go into a "Start up animation", which is the time when your character begins the attack animation, but the target has not been hit yet. At this time, your character has already "Used" the ability, but it hasn't connected with the target yet. It's possible within this time for your attack to fail, such as the target moving too far away, or your power being reduced too low.
For these two errors, I would consider them part of the game. They're predictable outside of your party members messing you up. For example, if you see a tactician's rage meter get close to full, you should expect them to disable and be careful using any big cool down attacks. I do believe that the error messages make them seem like bugs instead of something intentional however. In the first case, I would see it more like your move missing due to distance (Which makes logical sense) and in the other case being interrupted by an enemy (Although running out of power mid swing can be self inflicted).
I am personally ok with their existence, although I think the error messages should be changed to make it seem more like an in-game mechanic. Whether it is actually supposed to be an in-game mechanic or a real error is up to the devs though.
Error number 2 though, the "Game accelerator" error, is something that really needs to be brought up. I am under the impression that Citan isn't really aware of how much of a problem its existence is because the last time a thread was brought up about it, he didn't really seem to know what people were talking about.
Basically I believe it works like this. When you use an ability, a cooldown timer for the ability starts on both your client and the server. However, the cooldown timer for your client is actually slightly faster than the one on the server, for me it's 1/60th faster. I believe this issue is because the game is assuming my client is locked to 60fps, where in reality it usually bounces between 60fps and 62fps. What ends up happening is that your client believes the ability is off-cooldown and lets you attempt to use it. When you attempt using the ability however, it checks with the server to see if your ability is actually off cooldown. If the server finds that your ability isn't off cooldown yet, then it returns the error message and prevents your ability from being used.
For shorter cooldown abilities, you shouldn't see this error message because the difference in cool down between your client and the server is too small. The server will still let your attack come out (Although it will briefly delay it in order to keep everyone's attack rate the same). If the discrepancy is too large though (Probably at least one second) then it will give you the error. Hence why you might only see it on skills with at least a one minute cooldown. Presumably due to the error message, having a much higher frame rate, such as with "Accelerator programs" will cause this error to appear more easily.
https://i.imgur.com/lhnEmfb.gif
You can actually see this issue with the cooldown here in this gif. As you can see, the game correctly has a timer based on minutes and seconds which tells me how long the skill is going to take before it comes off cooldown. However, my client actually lets me use the ability when the timer says I have 3 seconds left (It switches to 2 before resetting due to animation time), which causes the error. This is because the timer is based on real time, but the cooldown on my client is presumably based on my fps. You can see this more dramatically on skills with larger cooldowns. For example, on a 15 minute cooldown rez skill, my client says I can use it even when the timer says I have to wait 15 more seconds.
Essentially the problem is that our clients are telling us the skill is available for use, which misleads us into using it too early. Then the game punishes the player for trying to use the skill too early by placing it on cooldown. This problem has persisted for quite a long time, and I hope it gets fixed eventually. If my guess about the cooldown being tied to the client's FPS is correct, then presumably it could be solved by locking the client's fps. Not having the cooldown reset would definitely help though if the issue can't be solved too easily. I understand all this is to prevent cheating, but just preventing the skill from coming out should be good enough to avoid harming normal players. At least until a better solution is found.
Yaffy I thought those 2-3 sec that you get was actually intentional, i love using that system to line up my hits and watch them fire off clockwork, i do sometimes get that 3rd party accelerator but usually i get it when i'm running fast from place to place, very seldom during combat.
Yaffy
04-06-2019, 07:44 PM
Yaffy I thought those 2-3 sec that you get was actually intentional, i love using that system to line up my hits and watch them fire off clockwork, i do sometimes get that 3rd party accelerator but usually i get it when i'm running fast from place to place, very seldom during combat.
Queuing up actions to use them in combat is a different thing. That relates to using things off of global cooldown so after you finish one ability your character will use the next as soon as possible, or allowing you to use an ability just as it comes off cooldown. The bug I'm talking about is related to the individual cool down on each skill and using them earlier than the server will allow you to, which causes the error.
Queuing up actions shouldn't last longer than a bit over a second and a half, that is if you select an ability to queue it, it shouldn't come out much later. This bug allows you to incorrectly attempt to use abilities earlier for a much longer time period, with the time period changing depending on the original cool down of the move.
spider91301
04-06-2019, 10:19 PM
Hello! I would like to talk about the 3 types of in game "errors" that can occur when in combat that result in your skills not getting used, but the cool down still triggers.
The main Issue:
These errors cause a cool down of a skill you have not used. The longer the cool down, the more this hurts the player.
1. Target is too far away error. This happens when a monster is walking away as I'm trying to attack it, or when another player knocks back a target while i am trying to hit it. Shouldn't this be fixed with auto targeting/ or just not letting the ability go off?
2. Error and Accusation of third party accelerator, because I tried to use a skill as soon as it became available. If the game isn't ready for me to use the ability, why in the world does it allow me to click the skill, or use a key bind? (it should go without saying, but I have never used a third party accelerator, and I don't even know what that is.)
3. You don't have enough power error. This one most notably occurs when you get a lock out status from GK tacticians, or a golem, etc at the same time you are trying to perform an attack. This is impossible to predict in a group, and results in the whole party wasting cool downs.
Each one of these errors takes place when you try to use a skill, and the client doesn't like one of these statuses. That's fine, but why does it trigger the cool down of that skill on top of preventing the skill form taking place.
I play a build that has LONG cool downs, and these errors quite literally kill me. It hurts the most when I have wasted a Res, or even guild res (hour long cool down) because it said I was using a third party accelerator. Phoenix strike, Cosmic strike, and most sidebar skills take up to a minute cool down. When this happens, I either Die, or have to wait a full minute to enter the next round of combat. It has added up to hours of unnecessary cool downs over the years.
Proposed Solution:
I understand there is coding and reworking to be made for this. In the mean time, is it possible to keep the error message, keep the skill from being used, but PLEASE remove the cool down trigger for skills when this happens.
I have to believe there is intention to fix this eventually, as a full released game cant be expected to yield error messages during every play session.
If there is anything I can do on the player end to help, let me know. I can record instances of this happening if needed, or take screen shots.
#Justify (https://forum.projectgorgon.com/usertag.php?do=list&action=hash&hash=Justify) error cool downs but on a serous note they suck ass your better off waiting/adapting that these bugs are still a thing like the mouse getting stuck in the center of the screen
Yaffy
04-07-2019, 10:48 AM
So I've done a bit more testing in regards to the "Accelerator" error, and it seems like my guess about the client estimating cool downs on your FPS is incorrect. I first believed this because during my testing, I was testing in an environment where my FPS was averaging 61, and my game was consistently estimating my cool downs were 1/60th faster. Therefore I expected it was estimating based on my FPS being 60 when it was averaging 61. Also Unity having weird problems related to FPS is pretty common, so that also gave me a bit of bias.
I did some additional testing in 30fps and my client still estimated 1/60th too quickly. Then I did tests where I would purposely change my FPS by changing areas, or forcing lag and my client still estimated 1/60th too quickly. It seems like no matter what I do, my client is always letting me use skills 1 second earlier per minute of cooldown. I'm not really sure if the problem is really just as simple as the client's cooldowns being 1/60th faster, but that seems to be what it is.
Because of the error message talking about "Accelerator programs" (Which I now realize is probably talking about ping boosters) and network latency, this error probably has to deal with ping to the server, not FPS. The issue is that my ping during testing was around 50-60 which shouldn't result in errors since that's a very stable ping, but over a long period of time it could cause this cooldown issue. I'll throw out another guess and say that the reason for the inaccuracy is because the client's cooldown assumes you have 0 ping. This would make sense if the testing servers for the devs are locally hosted, since they would have 0 ping.
If anyone else would like to test and give their feedback, please do. Try using a skill that has a cool down of at least 2 minutes, and when it's close to coming off cool down try mashing the key to see if the game will let you use it early and give you the error. According to my situation, your skill should come out 1 second earlier per minute of cooldown compared to what the timer says. So for example if you use dig deep, it should let you use it when the timer says you have two seconds left.
Tagamogi
04-08-2019, 09:12 AM
Because of the error message talking about "Accelerator programs" (Which I now realize is probably talking about ping boosters) and network latency, this error probably has to deal with ping to the server, not FPS. The issue is that my ping during testing was around 50-60 which shouldn't result in errors since that's a very stable ping, but over a long period of time it could cause this cooldown issue. I'll throw out another guess and say that the reason for the inaccuracy is because the client's cooldown assumes you have 0 ping. This would make sense if the testing servers for the devs are locally hosted, since they would have 0 ping.
If that assumption is correct, then it seems abilities should come off cooldown even earlier for people with a slower network connection? I feel I don't know enough about the underlying code to even speculate... A higher ping is quite easy to simulate though: Just download something large from the internet while playing PG and watch your ping shoot up to crazy levels. I'm not sure about my playing time over the next few days but I can give it a try sometime this week.
Yaffy
04-08-2019, 11:56 AM
If that assumption is correct, then it seems abilities should come off cooldown even earlier for people with a slower network connection? I feel I don't know enough about the underlying code to even speculate... A higher ping is quite easy to simulate though: Just download something large from the internet while playing PG and watch your ping shoot up to crazy levels. I'm not sure about my playing time over the next few days but I can give it a try sometime this week.
My line of thinking was that ping would cause a desync between the client's cooldown timer and the servers. So for example when I use an ability, my client starts the cooldown timer immediately because there's no delay, but the server would receive the command to start the cooldown slightly later due to latency. That could explain the client's cooldown being faster, although one whole second of latency is actually a huge amount of delay and then the offset would be a fixed amount of time, not something that scales with the length of the cooldown.
However I've done some more testing and as ridiculously simple as it is, I think it's literally just the client's cooldowns being 1/60th faster than they should be. I tried testing using a horrible proxy that gave me 1000-1700 ping to the server, and the issue is still the exact same. My client allows me to use skills 1/60th faster than I should be able to.
Since all my tests seem to give me the exact same error, I would once again like to ask if anyone else could try doing what I did and see if they get the same results. The issue seems too simple to be true, but maybe that's why it still exists.
Silvonis
04-08-2019, 11:57 AM
I just wanted to touch on the 'Third Party Accelerator' issue. This can be caused by a couple of things, but it is likely the after effects of a previous fix to an issue where the animation would fail but still start the skills cool down. It could also be a lag issue, related to your specific connection to the server. Another specific workaround, if you have an AMD system, is to ensure that AMD Overdrive is not enabled in your BIOS and that it's not active via their software. You'll also want to disable CPU Clock Speed Up in the BIOS, if that's present.
That said, if you can submit very detailed reports of what you were doing when it happened - including what skill you used, current fps, current ping, etc. - that would be fantastic. Please use the in game reporting tool to do so.
Thanks.
Yaffy
04-08-2019, 03:45 PM
I just wanted to touch on the 'Third Party Accelerator' issue. This can be caused by a couple things, but is a likely the after effects of a previous fix to an issue where the animation would fail but still start the skills cool down. It could also be a lag issue, related to your specific connection to the server. Another specific workaround, if you have an AMD system, is to ensure that AMD Overdrive is not enabled in your BIOS and that it's not active via their software. You'll also want to disable CPU Clock Speed Up in the BIOS, if that's present.
That said, if you can submit very detailed reports of what you were doing when it happened - including what skill you used, current fps, current ping, etc. - that would be fantastic. Please use the in game reporting tool to do so.
Thanks.
Thanks for the response Silvonis. I sent in a bug report through game (I apologize in advance for its length) and hopefully it helps. I spent a while testing out some more skills so I could collect some very obvious proof of the bug in action.
It ends up that the client is 1% faster than it should be, so I was off with my original approximation. I figured it out by sitting around waiting for a one hour cooldown just so I could record myself using it 36 seconds too early. Also staring at recorded footage so I could see the millisecond I could use abilities, rather than relying on the in game timer since that only shows seconds (Hence why my estimate was 1/60th rather than 1/100th)
https://webmshare.com/play/qv8gQ
Not the most exciting thing to do, but now I feel like I understand everything about the bug. Everything except why it's actually there.
Loggy
04-08-2019, 05:10 PM
I have had this happen a ton of times and it definitely has to do with ping to the server. I play from China and when i use my vpn ping goes up to 500 to 1400 at times. When I do not it stays around the 250s to 300s. So i get it was more often when my ping is higher.
Tagamogi
04-17-2019, 09:13 PM
Ages later, I finally got to try this: I used Familiar's Recall which is possibly not the best test since it involves zoning. I hit a stop watch at roughly the same time I used the ability. The zoning took about 9 seconds.
The ability came off cooldown when my stopwatch said 29:44 minutes had elapsed, which matched the approximately 16 seconds remaining on my cooldown counter. (This is approximate because I'm apparently not good at triple-tasking hitting ability + hitting stopwatch + watching timer. It should all be within a couple seconds though. Throughout the test, it seemed my stopwatch was a second or a bit less faster than the cooldown counter.)
My ping throughout should have been in the low 40s. My framerate varied from 30 - 45 fps. (I just sat and stared at Cinnamon, but at some point I moved a bit closer to him to avoid the afk timeout and that closer position apparently drops my fps by 10.)
Edit: So, I just logged back into the game to actually submit this as an in-game bug report, and when I logged back in, Familiar's Recall was up even though I'm 95% sure less than 30 minutes had elapsed. I want to say it was 10-20 minutes. I may try re-testing this sometime.
Citan
04-17-2019, 09:40 PM
(Edited to fix a duplicate posting, then a bit more detail)
I think for most people, these errors are due to network synchronization issues -- the first two are due to ordinary network lag that happens in in a very particular form. The third is a more complex timing issue. Anyway, I need some fancier heuristics to prevent those false-positives, and those will happen over time. But I do think the first priority is to prevent those errors from putting the ability on cooldown.
For the next update I've changed the error code to resync the client's timer (and refresh the Power meter, since the client would temporarily think the Power cost was still spent). There actually was code to do this already for most errors, but it was buggy -- it only worked for the first tier of each ability (e.g. it would work on Punch 1 but not Punch 2). Should work better soon!
ProfessorCat
04-17-2019, 09:45 PM
Some Good Shit
I really appreciate all of your hard work! Can't wait for this next update, even if its coming after the full moon :P
Yaffy
04-18-2019, 08:39 AM
(Edited to fix a duplicate posting, then a bit more detail)
I think for most people, these errors are due to network synchronization issues -- the first two are due to ordinary network lag that happens in in a very particular form. The third is a more complex timing issue. Anyway, I need some fancier heuristics to prevent those false-positives, and those will happen over time. But I do think the first priority is to prevent those errors from putting the ability on cooldown.
For the next update I've changed the error code to resync the client's timer (and refresh the Power meter, since the client would temporarily think the Power cost was still spent). There actually was code to do this already for most errors, but it was buggy -- it only worked for the first tier of each ability (e.g. it would work on Punch 1 but not Punch 2). Should work better soon!
Thanks for the help looking into this Citan. I hope my rambling was at least minimally useful.
Tagamogi
04-18-2019, 10:32 AM
Awesome, thanks Citan!!!
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.