o3de / o3de-multiplayersample

Multiplayer sample project for the Open 3D Engine
https://o3de.org
Other
78 stars 56 forks source link

GameLift: Connect button does not become active after entering the requested Player Session Token #428

Open LB-KacperKapusta opened 1 year ago

LB-KacperKapusta commented 1 year ago

Describe the bug This issue should be considered as Blocker.

Entering the requested Player Session Token in JSON format inside the MultiplayerSample.GameLauncher connecting to the GameLift (with --loadlevel="mpsgamelift/prefabs/GameLiftConnectJsonMenu.spawnable" argument) does not make the "Connect" button active, effectively blocking from testing GameLift Anywhere and GameLift.

Prerequisites

Steps to reproduce

  1. Run the Client with: <path-to-multiplayer-sample>\build\windows_mono\bin\profile\MultiplayerSample.GameLauncher.exe -bg_ConnectToAssetProcessor=0 --loadlevel="mpsgamelift/prefabs/GameLiftConnectJsonMenu.spawnable"
  2. Enter the required Player Session Token in JSON format.

Expected behavior Connect button becomes green and clickable. User can join the GameLift Game session.

Actual behavior Connect button stays gray and unclickable. User cannot join the GameLift Game session.

Screenshots/Video image (3) image

Found in Branch O3DE: Development - (925172c) MultiplayerSample: Development (07ea3d0) MultiplayerSample-Assets: (c6f23db)

Desktop/Device

AMZN-Gene commented 1 year ago

I think there's a bug with newlines? Could you try entering the Json all in one line? { "GameSessionId": "arn:aws:gamelift:us-west-2::gamesession/fleet-651fc984-3904-4767-83c3-fe970073c0e7/gsess-df11326d-7cb8-4481-bca9-6f4dc69af780", "PlayerId": "Player1", "PlayerSessionId": "psess-7b28c6b5-632c-4a43-a0c8-e75129894e60" }

drakeredwind01 commented 1 year ago

+1

LB-KacperBieniek commented 1 year ago

Unfortunately providing Player Session Token in one line does not solve the issue. The Connect button remains unresponsive. GameLift

AMZN-Gene commented 1 year ago

Could you paste the string here? The Ui is claiming it’s not a valid json format

LB-KacperBieniek commented 1 year ago

Sure thing. Here is the entire string which was used in the picture above: { "GameSessionId": "arn:aws:gamelift:us-west-2::gamesession/fleet-c657b473-a34b-41ff-99ba-e4e3dcaa76b3/custom-location-1-KB/gsess-4b4f1d34-acae-4da3-8d57-8f1a6418f0c6", "PlayerId": "Player1", "PlayerSessionId": "psess-89be0141-0dfe-41cc-823a-3869c8ca33ef" }

AMZN-daimini commented 1 year ago

I had the same issue, and it was due to the MPSGameLift Gem not being enabled in project.json. Make sure MPSGameLift is in the gem_names list in project.json for o3de-multiplayersample (it's not enabled by default), then re-configure and re-build. (Thank Gene :D)

LB-KacperBieniek commented 1 year ago

I can confirm that enabling the MPSGameLift Gem for the project solved the issue. Also, the updated MultiplayerSample Project with Amazon GameLift README now asks the user to provide a player session JSON table when connecting instead.

I believe it would be a good idea to mention the requirement of enabling the MPSGameLift Gem at the beginning of the MultiplayerSample Project with Amazon GameLift README, or the option to enable it either at the beginning of Step 3. Configure and build, or before 3rd step of Build Using the Project Manager.