R
R
ryzhak2015-10-22 19:06:54
Game development
ryzhak, 2015-10-22 19:06:54

Is such a game server architecture possible?

Hello. Suppose we have the following game server architecture for a turn based multiplayer game like Heroes of Might and Magic.
3c8381f6a79649ccbbe27111205c40fc.png
A few questions:
1. Does each client establish a socket connection with the load balancer on the same shared port? For example, all clients cling to the address and port 198.1.1.1:3566 load balacner and send packets there
2. For example, a request is received via a socket from the client to the load balancer. Load balancer, in turn, looks at which of the game servers is the least loaded and redirects the request. In order for the load balancer to redirect this request to the server, does it also need to establish a socket connection with the game server?
3. Is the game server a regular vps? Or is it more common to use a physical server?
4. Do you need a separate server for load balancer? VPS not suitable?
Thanks in advance

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alexander Lozovyuk, 2015-10-22
@ryzhak

In general, yes.
1 - yes. Though there can be systems with balancing on DNS. For example, at startup, the client receives a list of game servers or even one, and goes directly to it, periodically updating the list. If the server goes down, the client can go to another one by itself.
2 - Yes, the balancer supports connection with backends. However, there are many nuances, depending on the protocol used.
3 - in the general case, this is a service or a set of services (instances). How it is organized at the physical level - a docker instance or a VPS or an iron machine or several - is very specific to the project and its requirements and capabilities. In the general case - a separate VPS
4 instance. This is a regular server (instance / VPS), mainly loaded in the network part (by the way, it would be nice to reserve balancers too).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question