Simple tutorial on how to deploy a Unreal Engine server to GameLift for beginners

Hey everyone, in my journey to integrating Unreal and GameLift, I stumbled across roadblocks that I hope no one else has to. So to make the process easier for people just getting into gamelift, I made a tutorial on the simplest use-case for the service. Here’s a link to the tutorial:

Hi Ravishing, you are right about searchgamesessions. It doesn’t seem to work, I may consider working on a client SDK myself in the future. I never got into the player sessions because that was more work that I would leave for a future tutorial but for the player sessions to be accepted, you have to do something in the prelogin function of your gamemode class. If you did call terminaregamesession in your unreal project then I would recommend just terminating the fleet to terminate the game session. Also, thank you for your kind words I really appreciate it.

Exactly what I’ve been looking for here for months now. I was close to cracking the code myself but your vids got me through it finally. I was contemplating doing a walk-through like this as soon as I had it figured out.

Main problem you helped me with was setting up a correct .bat file and the IAM policy.

A couple loose ends I’m battling with:

1.) The YetiTech SearchGameSessions calls seem broken, did you try these and get them working? They are passing all variables (and seem to require it in Blueprints) but Gamelift only wants 1. (Fleet ID OR Alias ID OR GameSession ID).

2.) I’ve connected up to 2 characters and ran around successfully for a few minutes yet the Gamelift Dashboard consistently says my players “Timed Out” at the 1 minute mark. (looking at the GameSession details). However the metrics correctly show 1-2 characters were active. Odd bug?

3.) I do not know how to Terminate a GameSession and if I do NOT terminate it, will I be charged for it? Terminating seems to be exclusively a C++ API call ? Documentation here stinks.

Great job and thanks!

Nice tutorial, I was wondering, when changing maps seamlessly, do you need to call InitSDK again on the new GameMode? (So I have Map1GameMode and Map2GameMode, how do you keep Amazon notified if you put your code in Map1GameMode?)

Hi Tom, this is a good question. I haven’t tried this myself but my guess is that you don’t have to call InitSDK again, but dont quote me on this.

Hi Tom, I know it’s been a while, but I have confirmed when changing maps seamlessly that you do not need to call InitSDK again.

Hey @chrisgong @Ravishing,
Did you ever find out what exactly we have to do with the prelogin function to prevent the 1 min timeout?

Didn’t mean to respond so late, but basically, you have to call AcceptPlayerSession from the PreLogin function in the server’s game mode. And when you call AcceptPlayerSession, you have to pass in a valid player session id, preferably passed to the server by the client through the Options parameter.

Thanks, Chris.

I did figure it out eventually. But appreciate you following up anyway!