Skip to main content
Ask about your game. For existing reading, use a search engine.
Source Link
DMGregory
  • 140.8k
  • 23
  • 258
  • 401

How is a typicalcan I build an authoritative server built to handle players actions taking into consideration scalability of solution

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:

  1. Calculate if projectile shot by client A will hit client B

    Calculate if projectile shot by client A will hit client B

  2. In addition to (1), also to see if the project did hit a static object (rock, metal...)

    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.

PS: Any references to books on this topics will be highly appreciated

Regards

How is a typical authoritative server built to handle players actions taking into consideration scalability of solution

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:

  1. Calculate if projectile shot by client A will hit client B
  2. 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.

PS: Any references to books on this topics will be highly appreciated

Regards

How can I build an authoritative server to handle players actions taking into consideration scalability of solution

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:

  1. Calculate if projectile shot by client A will hit client B

  2. 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.

Source Link

How is a typical authoritative server built to handle players actions taking into consideration scalability of solution

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:

  1. Calculate if projectile shot by client A will hit client B
  2. 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.

PS: Any references to books on this topics will be highly appreciated

Regards