Jump to content

WHY SKILLS ARE CLIENT SIDED?


Justsomeone

Recommended Posts

1 minute ago, Justsomeone said:

so they can make hacks to reduce cooldown in arena? sometimes you just waste your skill and it goes on cool down even if the skill didn't worked

Pretty sure skills are server-sided. Walking works when you DC, using skills doesn't.

Link to comment
Share on other sites

1 minute ago, Enhance said:

Pretty sure skills are server-sided. Walking works when you DC, using skills doesn't.

examples: FM S S with ice stance, sometimes you use it, it goes on cool down but you stay at the same place and your stance don't change to ice and die because you wasted your last escape, frost tornado you use it it goes on cool down but the tornado don't hit the enemy.

Sin you are invisible but you hit with the *cricket*ing rmb and  you get out of invisibility for nothing even when you don't get hit, tab+1 you use tab+1 too fast you are not going to get invisibility

Link to comment
Share on other sites

3 minutes ago, Justsomeone said:

examples: FM S S with ice stance, sometimes you use it, it goes on cool down but you stay at the same place and your stance don't change to ice and die because you wasted your last escape, frost tornado you use it it goes on cool down but the tornado don't hit the enemy.

Sin you are invisible but you hit with the *cricket*ing rmb and  you get out of invisibility for nothing even when you don't get hit, tab+1 you use tab+1 too fast you are not going to get invisibility

I imagine there would be a client-side cooldown timer so you don't spam server with the skill request before your client thinks it's ok, but I imagine the server must have a timer for it as well (other game servers I was working on had that mechanic and it seems most rational).

As for what you're talking about, seems like packet loss, never happened to me so far.

Link to comment
Share on other sites

2 minutes ago, Enhance said:

I imagine there would be a client-side cooldown timer so you don't spam server with the skill request before your client thinks it's ok, but I imagine the server must have a timer for it as well (other game servers I was working on had that mechanic and it seems most rational).

As for what you're talking about, seems like packet loss, never happened to me so far.

well maybe but if things like this can happen they can hack to reduce the cooldowns since the server aren't checking  your real skills and you can't use after that

Link to comment
Share on other sites

3 minutes ago, Justsomeone said:

well maybe but if things like this can happen they can hack to reduce the cooldowns since the server aren't checking  your real skills and you can't use after that

I just explained why it wouldn't work. If the server has their own timers for your skills and you attempt to use the skill before its time, you'd likely get denied/have your timer invalidated and refreshed. All you can "hack" on clientside are your client cooldowns, and all that will let you do is spam the server with meaningless requests.

 

*if it's implemented that way. F if I know.

Link to comment
Share on other sites

11 minutes ago, Enhance said:

I just explained why it wouldn't work. If the server has their own timers for your skills and you attempt to use the skill before its time, you'd likely get denied/have your timer invalidated and refreshed. All you can "hack" on clientside are your client cooldowns, and all that will let you do is spam the server with meaningless requests.

 

*if it's implemented that way. F if I know.

like you said "IF" the server has a timer checker but don't look like, since that's explain why you can ani-cancel based on  your ping

Link to comment
Share on other sites

1 minute ago, Justsomeone said:

like you said "IF" the server has a timer checker but don't look like

It does look that way to me. What you described looks exactly that way (desync of server cooldowns and client cooldowns). And I can't imagine any self-respecting game having no server skill cast validation, that's plain stupid. As a (kinda) proof that it's not the case, you never see people double-casting inferno or some other skill with high cooldown because they're lagging. If there were no server timers, you'd see that a lot.

Link to comment
Share on other sites

5 minutes ago, Enhance said:

It does look that way to me. What you described looks exactly that way (desync of server cooldowns and client cooldowns). And I can't imagine any self-respecting game having no server skill cast validation, that's plain stupid. As a (kinda) proof that it's not the case, you never see people double-casting inferno or some other skill with high cooldown because they're lagging. If there were no server timers, you'd see that a lot.

well the server will "check sometimes"(not working) if you used your skill or not, but i doubt they are checking if you used it like 2 times in a row a skill with high cd

Link to comment
Share on other sites

Just now, Justsomeone said:

well the server will "check sometimes"(not working) if you used your skill or not, but i doubt they are checking if you used it like 2 times in a row a skill with high cd

Again, your situation as you described it perfectly falls under your client just derping. Your client thought it casted the skill, but it didn't. Doesn't affect the actual game from anyone else's perspective, and provides no way to exploit server-side skill cast check.

Link to comment
Share on other sites

2 minutes ago, Enhance said:

Again, your situation as you described it perfectly falls under your client just derping. Your client thought it casted the skill, but it didn't. Doesn't affect the actual game from anyone else's perspective, and provides no way to exploit server-side skill cast check.

yes i understand what are you saying but it's not working this way, like you said if i'm losing packets and wasting my cd, means that the server is not checking my cooldowns and it's client sided, the server is just checking if i'm hitting or not, not checking if the skills are on cooldown, so if someone discover how to reduce the cooldown they will reduce their cooldown and hit 2 times or more skills with high cd

Link to comment
Share on other sites

46 minutes ago, Justsomeone said:

yes i understand what are you saying but it's not working this way, like you said if i'm losing packets and wasting my cd, means that the server is not checking my cooldowns and it's client sided, the server is just checking if i'm hitting or not, not checking if the skills are on cooldown, so if someone discover how to reduce the cooldown they will reduce their cooldown and hit 2 times or more skills with high cd

Let me describe to you how it works in your case:

You cast a skill -> Client sends the packet and starts the cooldown in your client

-> packet is lost -> server doesn't know about that. 

Your client, however, says the skill is on cooldown, perhaps throws some fancy animation and doesn't let you send the same skill info again.

That's how I see it.

 

In server's eyes, you didn't do anything. You cannot bypass the timers on server even if you remove the timers from client. If that were possible through a packet loss, you'd see hundreds of cases of people double-casting things.

Link to comment
Share on other sites

Just now, Enhance said:

Let me describe to you how it works in your case:

You cast a skill -> Client sends the packet and starts the cooldown in your client

-> packet is lost -> server doesn't know about that.

 

In server's eyes, you didn't do anything. You cannot bypass the timers on server even if you remove the timers from client. If that were possible through a packet loss, you'd see hundreds of cases of people double-casting things.

lets see how this game really works

i cast a skill -> Cooldown in my client and send a packet to the server -> packet is lost -> skill goes on cooldown because the server DON'T CHECK COOLDOWNS.

now someone hacking

cast a skill -> NO cooldown on client and send a packet to server - > packet is not lost - > skill don't go on cooldown because the server DON'T CHECK COOLDOWNS.

 

you don't see hundred of cases because not everyone want to hack and get banned, not everyone want to cheat and even cheater will not share it easy

 

 

Link to comment
Share on other sites

I'm saying there'll be hundreds of cases because people would do that unknowingly, as packet loss is a common issue.

 

1 minute ago, Justsomeone said:

 

i cast a skill -> Cooldown in my client and send a packet to the server -> packet is lost -> skill goes on cooldown because the server DON'T CHECK COOLDOWNS.

Wrong. Skill goes on cooldown in your client only, the server assumes you never cast the skill. You get a local cooldown, but your skill does not affect anyone.

Link to comment
Share on other sites

Just now, Enhance said:

I'm saying there'll be hundreds of cases because people would do that unknowingly, as packet loss is a common issue.

 

Wrong. Skill goes on cooldown in your client only, the server assumes you never cast the skill. You get a local cooldown, but your skill does not affect anyone.

what is so hard to understand? if you can lose your cd without a server check that's mean it's client sided, only the packet to hit someone is server sided, so if someone reduce it to 0 it's going to send packet again and again to hit the person or mob.

the cd should work this way

you use the skill ->send the packet to hit-> if hit server send packet back -> skill goes on cooldown

but it's working this way

you use the skill -> send the packet to hit

there's no check on cooldowns!!

 

Link to comment
Share on other sites

Just now, Justsomeone said:

 

but it's working this way

you use the skill -> send the packet to hit

there's no check on cooldowns!!

 

And I'm saying you're mistaken in assuming it so. It's optimized in a way that client starts the cooldown BEFORE server can check whether or not you can use the skill (perhaps it is after some acknowledgement). If your packets got corrupted and you got false confirmation your cooldowns would start on client without triggering a skill on server.

 

If it worked the way you SAID it worked, then, as I said like 3 times already, you'd see people with random network issues go around double/triple casting spells, because their client wouldn't wouldn't receive the server reply about skill use and they'd continue mashing the skill to send skill usage packets.

 

I believe you just jumped to wrong conclusions.

 

Link to comment
Share on other sites

8 minutes ago, Enhance said:

And I'm saying you're mistaken in assuming it so. It's optimized in a way that client starts the cooldown BEFORE server can check whether or not you can use the skill (perhaps it is after some acknowledgement). If your packets got corrupted and you got false confirmation your cooldowns would start on client without triggering a skill on server.

 

If it worked the way you SAID it worked, then, as I said like 3 times already, you'd see people with random network issues go around double/triple casting spells, because their client wouldn't wouldn't receive the server reply about skill use and they'd continue mashing the skill to send skill usage packets.

 

I believe you just jumped to wrong conclusions.

 

let me be more clear

you use the skill->goes on cooldown-> send HIT packet to server-> if you lose the hit packet you wasted your cd, if not it's going to work normal, but there's not cooldown checkers

so people with random network issues can't cast a lot of times spells.

 

the way that works now is bug, like happen to me sometimes and can cause hack issues

Link to comment
Share on other sites

I think what Enhance is trying to say is the following:

 

skill -> cool-down client -> Hit packet to server -> server registers hit and -also- registers cool-down -> hacker sends another hit before server-side cool-down is over -> rejected

 

This would also explain your observation. If the hit gets lost, the server registers neither damage nor cool-down, but your client still shows its own cool-down.

 

It would only make sense to do it like that, since everyone who ever did anything with server-client programming knows that you don't skip server-side validation. The client always can be compromised. To only do the cool-down server-side would mean you'd have a noticeable delay between pressing your skill and seeing it on cool-down. So it's just done on both sides.

Link to comment
Share on other sites

17 minutes ago, Riyria said:

I think what Enhance is trying to say is the following:

 

skill -> cool-down client -> Hit packet to server -> server registers hit and -also- registers cool-down -> hacker sends another hit before server-side cool-down is over -> rejected

 

This would also explain your observation. If the hit gets lost, the server registers neither damage nor cool-down, but your client still shows its own cool-down.

 

It would only make sense to do it like that, since everyone who ever did anything with server-client programming knows that you don't skip server-side validation. The client always can be compromised. To only do the cool-down server-side would mean you'd have a noticeable delay between pressing your skill and seeing it on cool-down. So it's just done on both sides.

yes i get what he said but like i said it's not working this way, servers are not registering cooldowns for some reason it's only client sided, i have searched on forums and you can see people complaining about bots using cd hack on arena.

they should fix it by the way cd should only be wasted if the server registered it, it's annoying to waste your skill for nothing and lose a match

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...