You should really read the source multiplayer networking link I posted. You’ll probably need to read it over a dozen times to fully get all the concepts but it’s all layed out quite nicely in there.
I’m not sure I totally understand what you mean by ‘sever delta’, but if you go back to the outline I gave above, you’ll remember that the server is sending the client snapshots of world data. This is typically done every 50 ms. So imagine you’re a client and you’ve just received a snapshot. It contains two things: world data and a timestamp of the server at the time it was created. You now have a snapshot of the world as it was at the time given in the snapshot.
For now I would just assume that both client and server are synced on the same clock. This is absolutely untrue but just getting started it won’t be helpful trying to also work in clock syncing. And for now since you’re developing locally you can put off worrying about ping, since it will be close to 0. These two things you will later need to work into your system as ping and clock deltas obviously do exist, but for the time being assume the server time of your snapshot is also local client time.
public class Snapshot
{
public long time;
public WorldData worldData;
}
Just starting out to make sure everything is working you could immediately update your local client version of the world to this snapshot. It will be synced but since you’re only receiving updates every 50ms, it’ll be very, very choppy. How do we solve this? We need a way to get the snapshot of the future state. This is done by moving the client view of the world back in time. If we did so by say 50ms (we’ll call this view lerp) then we’d usually have one snapshot to move forward to (assuming the snapshot packet isn’t delayed or dropped on its way to us). So now you have version of the game world as it will be 0-50 ms from now. Every client update loop you can calculate how close you are to that upcoming snapshot and move everything towards their final authoritative positions (this is called interpolation).
I think that should be enough to get you started, but there is obviously more to it. Most games move their view lerp back 100ms in case a snapshot is dropped, they’ll always have another one to move forward to. Again, read that link, it has all these details and much more.