Download

Advice on server design

Hey guys,

I am fairly experienced developer with C++, Node.js, and PostgreSQL from other unrelated projects. I have been doing tutorials for unreal engine for a little while but have not undergone a major project of any kind yet. I have been spending some time thinking of a design plan for a possible game I wanted to create. However, with my inexperience with unreal engine I wanted to see if anyone could give me the pros and cons of part of my plan that I am pretty unsure about. I am trying to make it as professional and scalable as possible.

Here is my plan for a multiplayer fps:
Have a Client(s) connected to a Authoritative server. When a client connects to the server for the first time it will send a request to the authoritative server. The authoritative server will be securely connected to a Node.js server that will do user authentication with the details fetched from a PostgreSQL database. This will be done with VaRest or something similar. After done with authentication it will send back a verified or unverified response and the player will be allowed to connect to a world where again Node.js will fetch player and map data in the form of JSON from the database. This will be sent back to the client and authoritative server.

The Idea being that Postgres stores the large amount of data for players and some simple world data such as positioning of objects.
Node.js handles the authentication and connection between game server and data.
Game server sending data to Node.js at start and end. (possibly some data in between as well) the idea being to limit input/output to database/Node.js as often as possible.

I am more specifically looking to see if the connection between postgres, node.js and game server is a good or bad Idea. I know I can get it working but want to know if it is a scalable and professional method of doing things. Any input good or bad would be appreciated.

Thank you