I've started with Unity3D to develop a multiplayer game similar to world of tanks, it's using authoritative server and I was able to sync movements between several clients. I'm using c# and on the networking part using sockets directly.
Currently, I have a hard time understanding how can the server perform operations such as:
Calculate if projectile shot by client A will hit client B
In addition to (1), also to see if the project did hit a static object (rock, metal...)
If we take into consideration that there could be hundred of player simultaneously, how can I approach this on the server side ? I'm looking to build myself from scratch everything in order to have a strong understanding of each puzzle piece.
On the other hand, I understood that there's the concept of headless server which is just the physics engine without rendering, however, this doesn't seem to be a scalable solution.