First time I've posted an issue in github, so I'm probably doing it all wrong. I've noticed that running the client on my Windows machine, is always resulting in a client that moves faster than on my Mac. Both devices have similar lag (between 1 and 5ms) however my Windows machine gets around double the FPS than the Mac. I dont think FPS is the issue as you dont calculate FPS in any physics code.
So I went looking and the only thing I can really tell at this stage is that the amount of input (and thus input rate) coming from the Windows PC is about double (402 vs 258) that of the Mac client for a given set time. My counter was in game_core.prototype.process_input = function( player ) and was measuring the frequency of each individual client update.
And because the code doesn't have input rate limiting, those clients effectively end up with a faster moving client, as its all based on input rate to trigger the physics world updates in the Server loop.
I suspect this is less of a problem over real life scenarios that have at least a lag of 10-50ms, but even for a simple LAN game, there is unfair advantage here in the code.
I have ideas how to fix this, but I'm going to struggle anytime soon.
I'd also like to support a variable amount of clients (say max 32) per game, so I'd like to attempt to author the code to support this. But again, javascript is very new to me :(