Oh god
this
the reason blockland runs so smoothly despite pings of 100-200 on servers for most players is because some things are calculated on client side, and sent to the server, or calculated on both ends using the exact same data, with safeguards to make sure the client isn't passing over bogus data. with this framework literally every server that's not your own will feel laggy. there's better ways to prevent bogus data from being sent to the server.
one idea that comes to mind (and is likely implemented in blockland already) is sending (possibly empty) packets at regular intervals to judge ping, and to prevent players from moving at all (both server and client side) if the ping is above a certain value. its why you can still move and look around mostly smoothly when ping is under 300-350. using this system its not too hard to check if there's some serious discrepancies between client and server data when approximating where players should be, and of course you'd rule in the server's favor. its (probably) why speedhacks exist in blockland, but they don't boost speed excessively because otherwise the server would detect it and override the client data.
holy stuff 20 new replies