Need help in understanding networking using dedicated server.

Hey Everyone! I’m just starting out with networking in Unreal Engine 4. So please help me out in understanding a few concepts in the pipeline. Consider I’m creating an online multiplayer game of Texas Hold’em Poker and want a dedicated server using Amazon gamelift and my backend is in PHP, then:

1 - Who handles the server code. UE4 or Gamelift?
2 - Do I need to handle networking inside UE4 while using gamelift?
3 - Do I need to use onlineSubSystems?


Hi Amaresh,

In my opinion, the most straight forward way to implement your architecture, is to build your dedicated server with Unreal, then use GameLift to host and scale instances of it. Your gameplay related networking can be between the Unreal client and Unreal dedicated server and just handled through OnlineSubsystemNull and the built-in networking features of UE4. GameLift hosts your unreal servers and acts as a master server so you’re Unreal client can retrieve a list of available servers and the ip/port connection information for a choosen server so it can connect your client to a game session.

Gamelift also has some basic match making features and some other API functions you’ll need to handle for your game. Since you mentioned PHP for your back-end, you can use the AWS PHP SDK to integrate GameLift into your PHP back-end API. You could then keep things fairly simple on the Unreal-side and just use a plug-in like VARest from to consume ( call ) your PHP API and let your PHP back-end handle the various API calls to GameLift for server registration, health updates, etc… It’s been a bit since I last checked in on GameLift, so there may be new features that might make integrating their SDK’s into Unreal more compelling so make sure you check out the docs and look at your integration options to get things up and running.

So something along those lines makes sense I think if you’d like to use GameLift… Hopefully this gives you some insight.