Add configurable ping-flood speedhack detection (PingFloodMax)#1589
Add configurable ping-flood speedhack detection (PingFloodMax)#1589canerksk wants to merge 1 commit into
Conversation
Adds a 30-second sliding window detector on packet 0x73 (ping) to catch clients running at abnormal speeds. ClassicUO sends one ping per second (~30/window); exceeding PingFloodMax triggers a warning log and kicks the client. Fixes a unit mismatch from the original port: the old sphere used tick- based time (GetTimeRaw = ticks), while Source-X returns milliseconds, so the 30s window was actually 300 ms. Now uses MSECS_PER_SEC correctly. New sphere.ini option: PingFloodMax=50 (0 = disabled).
|
Interresting feature! It should prevent crappy player of flooding the server. Why you talk about speedhack detection on the comment? Using speedhack send extra ping request? |
Yes, ClassicUO's game loop is built on XNA/FNA. Time.Ticks = (uint)gameTime.TotalGameTime.TotalMilliseconds; Cheat Engine: 2x speed Please also try Default ClassicUO and Sphere-X; |
|
Good to know thx! What I noticed when implemented speedhack detection on sphere was the difficulty to detect speedhack 1.1 or 1.2. the problem is we aleays get false positive when a player have a shitty ping/ingernet connection. By the way I like this new feature because it can permit admin to be more agile. |

Adds a 30-second sliding window detector on packet 0x73 (ping) to catch clients running at abnormal speeds. ClassicUO sends one ping per second (~30/window); exceeding PingFloodMax triggers a warning log and kicks the client.
New sphere.ini option: PingFloodMax=50 (0 = disabled).