I chatted briefly with cliffe yesterday about the speed cheat (and I do mean briefly), and here's what he had to say:
Seriously, though, there's a more verbose explanation of what's going on, straight from Yahn @ Valve (thanks LittleBoy):They're working on it.
The fix is coming "real soon now." Be patient and check below for more on the cheat.The way it works is that your computer reports more ticks ( GetTickCount,timeGetTime, and QueryPerformanceCounter are all affected ) have passed than have actually passed. Programs don't run any faster, but time on your PC runs faster. This is a problem in most games, including HL, because we need to know your frame rate to determine how to sample your input/movement commands. Determining your frame rate requires us to read the clock using some method ( such as the above functions ). The server and client then run the simulation ( the server is authoritative but the client runs it for prediction purposes ). The solution is for the server to make sure the client isn't trying to simulate for more time than has actually passed on the server ( with a small margin of error ).
We're testing that fix and it seems to work; it should go live "real soon now".