It’s always great to read your posts about the upcoming server tech. :slightly_smiling_face:
But there are still few things that i’m scared about.
1. Let’s say i’m in a spacestation with about 50 other players wich would be serverinstance1 for example. Then there is a Spaceship near the spacestation with 50 other players in it wich would be serverinstance2. Everyone can see each other. That means i’ll get all the state updates from all players from 2 different servers at the same time?!
2. Now a battle between the players on serverinstance1 and serverinstance2 brakes out and everyone is shooting each other (from the cargo doors of the ship and a landing pad from the spacestation for example.). How will the servers be able to handle 100+ projectiles per second to transfer between each other without a noticeable delay?
3. And when there are actions on 2 different servers overlapping or interacting with each other. Can they get desync like players in every game can get? Of cause not because of the network connection but because of different simulation speeds and calculation stalls etc.
(And I’m still not tired of asking about this exciting area of the game.) :stuck_out_tongue:
4. How comes server ocs along? It’s not a part of the roadmap atm. so we can not see if there is any progress. Or you guys busy working on the Actor Networking Rework and the persistence sytem?
5. Would not it be better to calculate the AI by headless clients (server instances wich just calculate the AI) or players clients wich are nearby with ‘a bit’ of server conformation to prevent hacking?
I’m pretty sure the AI is the biggest resource-eater atm for the server. so it would be better to outsource the AI path and state calculation to at least another “headless client” or a real client. (That’s how the original dayZ mod of Arma2 done it with all the zombies)
Because even when server OCS comes online in it’s first version it wouldn’t be make such a big difference because i’m pretty sure there is always at least one player in every big landing zone with all the AI. So the server never comes in a state to fully unload any Landing Zones with all it’s AI.
But sure. Server ocs is a important step for server meshing.
Ok i think that are enough questions for now. :stuck_out_tongue:
Thank you for your time Clive!
2. Projectiles such as bullets, lasers and plasma bolts aren’t networked, since they fire in straight lines. Only the fire event that creates the projectile needs to be networked. There was a clip in a recent ATV (don’t have the link to hand, sorry) talking about the projectile manager and some significant optimisations made in that area.
3. Yes, desyncs are a very real possibility. Ideally we’ll migrate players that are interacting together into the same server to reduce this problem. In your 50 vs 50 scenario it’s likely that the battle will break up into smaller groups of, say, 10 vs 10. Even if all those smaller groups are in close physical proximity, you only really care about avoiding desyncs with the players you are currently engaged with. When we can’t co-locate interacting players on the same server, we’ll fudge it with typical networking smoke-and-mirrors. That shouldn’t really be any worse than players interacting in a peer-to-per game. Once server meshing is implented I think a lot of the network team’s time will be spent on making the networked experience feel as good as possible.
4. The network team (my team) aren’t working on any of those. Each of them is being handled by different teams and they are all being worked on in parallel. Server OCS and server meshing aren’t on the roadmap yet because they both touch a lot of systems and need time from other teams to make make them work. The directors are reviewing the plans for both and trying to work them in with the plans for these other teams, deciding what might need to change on the roadmap to make room. I’m sure the roadmap will be updated once they’re figured out all the details. Work on both server OCS and server meshing is underway while they do that.
5. Offloading processing for certain systems onto different servers is something that server meshing could do. It is an option being considered but nothing has been decided yet.
Phew! We got there :slightly_smiling_face: