What I’m thinking is that the roblox engine has a feature that measures the ping of every player.
It uses the ping of every player to send the ‘compensated’ dimensions properly
For example, in a game I may not hit a rock but the server sees me hit a rock and that’s latency.
What should happen is that the server should try to guess where I’ll be (for other clients) based on the current physical or dimensional attributes like (velocity) and then replicate that information to other clients.
This information will improve the player experience a lot too.
The server will handle any logic too. the server is where everything happens
For example, in a race game.
My car will appear in front of the other player cars, the server however will see that all cars are beside each other at the same speed.
What should happen is, for every physical item controlled by a player then this physical item is rendered differently or with a compensation of lag or ping yknow?
In the case of this race game.
If my ping is 50ms and my opponents ping is 100 ms then.
The server will get the opponents physical position and other attributes ACCORDING TO THE SERVER and send a version of that players cart with the added velocity to my server and multiplied by 50 milliseconds of my ping right?
(we will also use an average ping)
Now my opponent is recieving information with a 100 millisecond delay, so the server has to compensate by sending updated information about my position + velocity multiplied by the 100 millisecond delay.
Essentially that opponent will render my position accurately because my position is lagged 100 milliseconds behind the server will send a ‘corrected’ version to each client so I will appear beside the player’s car.
Meanwhile the server will know which cars are in contact at all times.
If I decide to crash my car into my opponents car as they are beside me, the physics version on my side won’t be able to move the local version or the version rendered on my screen of the players car.
The server will handle collisions between players and make the movement adjustments there.
A summary attempt
The server handles player to player collisions and sends ‘predicted’ information to each player about the dimensions or positions of the other players. This ‘predicted’ information will be useful.