So I’ve already got a functional multiplayer system. Currently it works by connecting directly to the hosting IP - I would however like to expand this to include a server browser, and things such as account registration but I haven’t seen much information dealing with that.
My initial instinct is to use something like MySQL to handle registration on a central server to verify the user/account has access. Clients would contact the server, and the server would then make a sql call to check the account and respond to the client telling it if it is able to connect and if there are any updates to be downloaded. Correct me if I’m wrong, but I’m pretty sure this can be handled with a light-weight server application with game clients using C++ code to just send and parse the queries and responses.
For server browsers - the only solution I’ve really come up with is something similar. Run a master server list on the main server. Each server being hosted first sends a message to the application which would update it’s local list with the IP for the server, and would be updated any time server status (map, # of clients, etc) changes. When a client goes to connect it queries the master server (or downloads a copy of the list), then proceeds to connect without the user needing to know the specific IP of the server in advance.
Is there already some built-in functionality in UE4 for this type of behavior, or are people generally rolling their own solutions? If the server browser type of functionality isn’t built in, is there an easier way to approach it that I’m not seeing? I know there is some built-in functionality tied to Steamworks, but I’d like to keep the game independent so it can be run with or without Steam.