Flexmatch making, SNS notification for pc/console game

it seems SNS notification only support mobile? how can PC and console game use the SNS notification to get message for matchmaking status? pulling DescribeMatchmaking every 10 second is way to slow.

Thanks

Sorry that the documentation does not offer a recommended solution here. As you point an SNS topic can have many subscribers, one of which is the application type which interfaces with mobile push notification systems.

Unfortunately there is some work todo for PC clients because theres no direct way to wire your clients to the SNS topic (plus your clients only care about a tiny % of the traffic here so it would not be beneficial to wire them up directly) and theres no clear path to use the mobile sdks etc required to interface with push notifications.

Basically you need an intermediate processor here that can consume the events and provide a mechanism for clients to check / be notified of changes.

You could:

  • Provide your own polling mechanisms for clients by recording the SNS updates to a central data store / service
    • ie SNS -> Lambda -> Writes tickets to data store like DynamoDB (with some limited TLS setting to auto expire tickets)
    • Clients then poll on data store/service for ticket state
  • Provide your own push notifications ie some service that knows about your clients subscribes to the topic (ie SNS/SQS -> Game Services -> push notifications to Clients). IoT offers one potential path to achieve this but lots of solutions that could be used here.
    • A lot depends on if you have anything set-up wrt to services for your game.
      Am trying to find out what approaches have been recommended in the past and ensure they get added to the documentation.

Once again, apologies for the missing documentation / guidance here. Hopefully the GameLift team can provide an update shortly.

Quoting from this thread

https://forums.awsgametech.com/t/unable-to-compile-gamelift-3-2-0-ue4-4-18/4815/1

"

  1. The client could
    just poll, but we don’t recommend this for when your game launches. There are throttling limits that GameLift will enforce on your game if across all clients they are polling at too high a TPS. For large games that could have hundreds or thousands of clients in matchmaking simultaneously, you could exceed your polling limits quickly. Hence why
    we don’t recommend you launch with this set up."

(thread actually has a bunch of useful information - but it links to this great blog post which I had forget about):

https://aws.amazon.com/blogs/gametech/fitting-the-pattern-serverless-custom-matchmaking-with-amazon-gamelift/

Hi, what would happen if I have all my PC clients call DescribeMatchmaking every 3 seconds?

Note: GameLift can raise your requests per second limits (sometimes called TPS limits). If you start seeing throttling, you can cut an AWS support ticket describing your use case and GameLift may be able to raise your requests per second limits to meet your needs.