SphereCommunity
Ideas for Change Speed Control - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: General Discussion (/Forum-General-Discussion)
+--- Forum: UO/Sphere Discussion (/Forum-UO-Sphere-Discussion)
+--- Thread: Ideas for Change Speed Control (/Thread-Ideas-for-Change-Speed-Control)



Ideas for Change Speed Control - deco - 01-08-2013 08:37 AM

Hello PPl,

what do you use to control/block fast walking?

I had a script that counts the number of steps one player can do in a tick. It didn't works fine, so i've done the same thing by filtering the packet 0x2 (movement request). Actually a player can do 19 steps (mouted) per tick. Sometimes the players with good conexions make 20-23 steps.

The problem is that sometimes some players can reach 28-29 steps (valid steps) in one tick, without Change Speed.

I've tried to do this procedure (that i've found at pol documentation) but i've never an invalid key

Fastwalk prevention notes: each 0x02 pops the top element from fastwalk key stack. (0xbf sub1 init. fastwalk stack, 0xbf sub2 pushes an element to stack)
If stack is empty key value is 0. (-> never set keys to 0 in 0xbf sub 1/2)
Because client sometimes sends bursts of 0x02's DON'T check for a certain top stack value.
The only safe way to detect fastwalk: push a key after EACH 0x21, 0x22, (=send 0xbf sub 2) check in 0x02 for stack emptyness.

If empty -> fastwalk alert.
Note that actual key values are irrelevant. (just don't use 0)
Of course without perfect 0x02/0x21/0x22 synch (serverside) it's useless to use fastwalk detection.
Last but not least: fastwalk detection adds 9 bytes per step and player !


What do you do to block change speed?
Why some players can reach 29 steps per tick without CS?

Example:
-
Relatorio de 2013/01/06 18:50:25
20 steps: 12 times.
21 steps: 7 times.
22 steps: 5 times.
23 steps: 1 times.
-
Relatorio de 2013/01/06 18:51:25
20 steps: 7 vezes.
21 steps: 1 vezes.
-
Relatorio de 2013/01/06 18:52:26
20 steps: 5 vezes.
21 steps: 3 vezes.
-
Relatorio de 2013/01/06 18:53:27
20 steps: 8 vezes.
21 steps: 2 vezes.
22 steps: 2 vezes.
-
Relatorio de 2013/01/05 18:18:38
20 passos: 3 vezes.
21 passos: 3 vezes.
22 passos: 3 vezes.
23 passos: 3 vezes.
24 passos: 3 vezes.
25 passos: 3 vezes.
26 passos: 2 vezes.
27 passos: 1 vezes.

I also realized that when someone uses change speed the client is desynchronized so many times, with this method i could detect 1.1 CS, but the problem is when the player uses some command to resyncronize like ,resend (injection). I can't detect when the player use this command (it dont send 0x22) =(


RE: Ideas for Change Speed Control - Wap - 01-08-2013 10:38 AM

Quote:Why some players can reach 29 steps per tick without CS?
29 steps per tick? LOL. Smile May be, this is not the steps, but direction changes(it is not limited in time), may be world save or the another reason of lag...
Also, may be, something with the test... The real step count in a second is <=10(10 then char ride on a horse), in a Sphere you can get results 12-13, but not 20+


RE: Ideas for Change Speed Control - deco - 01-08-2013 10:49 AM

i'm working with rticks... normally we have 19 steps/rtick (mounted)
good connections reach 20-21= 4 or 5 times.

But i've this cases like this player that reaches 29 without CS, and my friend have done so many tests with smoth walk (injection) or low cpu usage, and reach 29 without change speed (in a tick)

with only just 3c client we can reach 25 steps (i ignore no valid steps) in a tick ... (sometimes)


RE: Ideas for Change Speed Control - Wap - 01-08-2013 01:35 PM

normally should be 0-10-12(14) steps/rtick (mounted)


RE: Ideas for Change Speed Control - evening - 01-10-2013 01:11 PM

-_-!!


RE: Ideas for Change Speed Control - ChaveS - 01-14-2013 04:33 AM

On my tests is 9 10, sometimes 11 and rare 12 each second.
Which makes a good anti-cs impossible
And more, if the guy is lagged it can get more steps for a second, which make even more impossible!

what is good? = get at least people using 110% of normal speed in less then 3 seconds and WITHOUT false alarms

You guys need make a new project to stop CS using a anticheat program talking directly with sphere!!
Or make sphere more stable on his rticks, or rtime,
Or make rtime using cents of seconds


RE: Ideas for Change Speed Control - Wap - 01-14-2013 06:36 AM

About a year ago I also tested this... Really, you can catch permanent SH, also you can catch temporary, but impudent SH.
How is possible to catch every small acceleration, I don't know. And the reason there is not Sphere, but UO packet exchange system(some normal things, like resend and dclick also can cause the small acceleration).
Also, it is better to count packets for 2-3 seconds, not one.


RE: Ideas for Change Speed Control - RanXerox - 01-14-2013 02:48 PM

If your script determines a character is moving too fast, send a message to them like "you are moving so fast that some of your gold falls to the ground", then drop a pile of gold from their pack/bank/house onto the ground where they were standing...


RE: Ideas for Change Speed Control - Rizz - 01-15-2013 08:35 PM

Maybe a tag.override.Walkregen could help to define a better way to block some players.
Anyway, like someone said to you already, movement packet also check the direction change; you need to filter it.

We just can try to make a script together to block the speed hack (i don't know CS, what's the name?).
On my server, default Sphere system makes different situations:

1) prevents speed hack
2) blocks speed hack at the second abuse and slow down player speed
3) does not block anything: player can use speed hack, i don't know if just for a while or severe time.
4) slow down speed of players that are experiencing lag