D
D
Dmitry Kuznetsov2021-06-30 09:37:12
Game development
Dmitry Kuznetsov, 2021-06-30 09:37:12

What is the best way to create the structure of game servers?

Good afternoon. I am developing a game project - a complex of game servers (one game each). And I don't know how best to implement the "platform", so that there would be easy access to data, everything worked correctly and smartly ...

What is / is planned :
1. Website + forum. Includes a database for the site. The main site where there will be news, publications, etc. As well as API for authorization (login-server) from game servers.
2. Game server. There is all the logic, data processing, etc.). All requests from the database go through the website API.

And now the problem is this: If these 2 points are easily implemented and there are no particular problems with integration between them, then when adding more servers, the site database will become too crowded. And the response will only grow, and everything should fly on game servers.

Therefore, there is an idea to divide into the following structure:

  1. Website/forum, API (login-server) + database.
  2. game server
    1. DB



And thus there will be access to server data through the site (something like admin / logging will be on the site).

And after that, more questions appeared:
1. Am I doing the division correctly? Maybe there are options for improvement?
2. What database is better to use then? For a Mysql site, but for game servers? Should I take Mysql for this or is it better to use some MongoDB?

Just in case, my stack is:
Website, Forum, API - Laravel, Mysql, VueJS
Game Servers - NodeJS

I would like to hear your opinion. Thanks in advance.

UPD: I just came up with this scheme: https://drive.google.com/file/d/13QlG9TALJecnlBIki...

Answer the question

In order to leave comments, you need to log in

2 answer(s)
E
Erik Mironov, 2021-06-30
@Erik_Mironov

I recommend reading. The article is rather contradictory and after reading some questions arise, but in general it describes the architecture of many MMOs well using the example of the java - Lineage 2 emulator. Translating to your realities will not be a problem, I think.
https://habr.com/ru/post/550424/

S
Stalker_RED, 2021-06-30
@Stalker_RED

If the project is large, then it makes sense to divide it not into two, but into 4+. Login server, website, forum and some game servers.
Even if they are physically in you on two computers, so that you can quickly spread them.
The choice of a database - either what you know, or what you want to study, play around, or, if you run into arbitrariness - according to tests. Take real data, real queries, and try with different settings and databases. It is difficult and time consuming, but maximum performance can only be obtained through experimentation.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question