Its still in question. When we make it server side authoritative it works, but you for sure feel the lag at speed. When you make it client authoritative (hack-able) its super smooth. So the right answer seems like a hybrid. We’ll probably end up letting the client tell the server the cars location, but then the server will validate that against where the car is on the server. So both clients and our servers will be running their own physics for the same car, but if the client tries to say its at a location too far off from what the server’s physics thinks, the server will override the client. As long as we interp it it shouldn’t be too noticeable. But were still brain storming this. Its either develop some magical physics replication pure server side, or a really tight validation framework to trust clients, or a hybrid. So well see when we get there. We’ll worry more about making it unhackable when we have something worth hacking lol.
Im not sure its possible to make it pure server side authoritative physics. The delay in pressing d to turn right -> request to turn right -> server-side turning validation -> movement of it turning right replication is just too slow. To make it feel good driving well have to probably trust clients a little while validating what we can
Also note the servers are instanced. We could probably build a super computer like EVE online did to host tons in the same server, but were going for max 100 ppl on the same server. Youll auto join servers with your friends when signing in. But the chat and the player markets are across all instances. Our game servers are actually ignorant to player inventories. Thats all done though our DB and APIs, We might go for a super computer one day and support tons on 1 map, but since were balling on a budget we need the ability to scale up and down with player volume. Being able to turn of instances saves us money VS a huge server hosting just 3 ppl