Skip to main content

Set up AMS configuration - Dedicated servers with AccelByte Multiplayer Servers (AMS) - (Unity module)

Last updated on June 12, 2024

About

IAM clients are used to give permissions to certain resources in AccelByte Gaming Services (AGS). In order for your game's dedicated server to be able to communicate with AccelByte Multiplayer Servers (AMS), you will need to set up the correct IAM client permissions, and also config the installed AGS Game SDK in your project to enable the AMS features for your game.

Create a server IAM client

The server identity and access management (IAM) client is an IAM client that gives permissions for your game server. Sufficient permissions are needed for your game server so it can communicate with AMS.

  1. Log in to the AGS Admin Portal and go to your game namespace dashboard.

  2. Go to Game Setup > Games and Apps > IAM Clients and click Create IAM Clients.

  3. On the new page, use the configuration below to create a new server IAM client.

    • Create Options: the available options to create a new IAM client. Choose the Create from Template option to create a new IAM client from a template.
    • Select Template: the template to create a new IAM client. Select the Dedicated Server option to create a new server IAM client. This option gives the necessary permissions for your game server.
    • Client Name: the name of the IAM client. Set it to ByteWars-GameServer.
    • Client Type: the confidentiality of the IAM client. Since the server IAM client must be secret, set it to Confidential.
    • Secret: the secret or password for the IAM client. You can use your own secret or click the Generate button to generate a random one. Be sure to copy this.
    • Redirect URI: the URI used to redirect once the IAM client authorization is successful. Set it to http://127.0.0.1.
    warning

    The Secret will not be shown again after you create the IAM client. Be sure to copy and save it before proceeding to the next step.

  4. Click Create to create your server IAM client. Once you're done with the creation, the setup is complete.

Create an AMS CLI IAM client

The AMS command line interface (CLI) IAM client is an IAM client that gives permission for you to upload your server to AMS.

  1. Log in to the AGS Admin Portal and go to your game namespace dashboard.

  2. Go to Game Setup > Games and Apps > IAM Clients and click Create IAM Clients.

  3. On the new page, use the configuration below to create a new AMS CLI IAM client.

    • Create Options: the available options to create a new IAM client. Choose the Create from Template option to create a new IAM client from a template.
    • Select Template: the template to create a new IAM client. Select the Dedicated Server Tools option to create a new AMS CLI IAM client. This option gives the necessary permissions to run AMS CLI.
    • Client Name: the name of the IAM client. Set it to ByteWars-AMSCLI.
    • Client Type: the confidentiality of the IAM client. Since the AMS CLI IAM client must be secret, set it to Confidential.
    • Secret: the secret or password for the IAM client. You can use your own secret or click the Generate button to generate a random one. Be sure to copy this.
    • Redirect URI: the URI used to redirect once the IAM client authorization is successful. Set it to http://127.0.0.1.
    warning

    The Secret will not be shown again after you create the IAM client. Be sure to copy and save it before proceeding to the next step.

  4. Click Create to create your AMS CLI IAM client. Once you're done with the creation, the setup is complete.

Configure the Server SDK

Once your server IAM client is configured in the AGS Admin Portal, you'll need to configure the Server SDK in your game project.

  1. Open Byte Wars in Unity.

  2. In the Resources folder, create a new JSON file named AccelByteServerSDKConfig.json. Copy the code below and paste it into the file. Then, replace the values with your credentials.

    {
    "Default": {
    "Namespace": "<game_namespace_id>",
    "PublisherNamespace": "",
    "BaseUrl": "https://<game_namespace_id>.dev.gamingservices.accelbyte.io",
    "RedirectUri": "http://127.0.0.1"
    }
    }
    info
    • Namespace is the namespace ID of your game namespace.
    • BaseUrl is the base URL made out of your game namespace ID combined with your AGS Admin Portal environment.
    tip
    • To find your game namespace ID, go to your Admin Portal and navigate to the Namespace page where your game namespaces are listed. Then, locate your game namespace under the GAMES section and click on the gear icon. On the new page, locate the Namespace ID property and there you can find your game namespace ID value.

    • Similarly, to find your publisher namespace ID, go to your Admin Portal and navigate to the Namespace page where your game namespaces are listed. Then, locate your publisher namespace under the PUBLISHER section and click on the gear icon. On the new page, locate the Namespace ID property and there you can find your publisher namespace ID value.

  3. Create another JSON file in the Resources folder named AccelByteServerSDKOAuthConfig.json. Then, copy the code below and paste it into the file, replacing the values with your credentials.

    {
    "Default": {
    "ClientId": "<server_iam_client_id>",
    "ClientSecret": "<server_iam_client_secret>"
    }
    }
    info
    • ClientId is randomly generated and used to uniquely identify your server IAM client.
    • ClientSecret is the secret (password) for your server IAM client.
  4. Save the files and your server SDK configuration is complete.

Enable AMS in Installed AGS SDK

In this section, you will enable AMS in the installed AGS Game SDK in your project so your game server will able to use AMS functionalities and be authorized to communicate with the AMS service.

  1. Open the Byte Wars in Unity.

  2. Go to AccelByte > Edit Settings. The AccelByte Configuration window will appear.

  3. Expand Service Url Configs and enable Use AMS QoS Server Url. Click Save.

    Enable AMS in AccelByte Configuration Unity Byte Wars dedicated servers with AMS

Enable Starter Mode

To follow the rest of the module, you need to enable a Starter Mode. To do this, open your project in Unity. From the Project window, open Assets\Resources\Modules\MultiplayerDSEssentials\MultiplayerDSEssentialsAssetConfig.asset and enable the Is Starter Active setting in the Inspector. This setting will enable the starter files you will use to follow the tutorials.