Skip to content

Amazon GameLift Servers Client SDK for C++

C++ utilities for game clients integrating with Amazon GameLift Servers features.

Unreal Engine

A plugin for Unreal Engine is available at Amazon GameLift Servers Client SDK for Unreal Engine. Access requires membership in the Epic Games organization on GitHub. See UE on GitHub for details.

Features

Player gateway

Player gateway uses a relay network to route UDP traffic between game clients and game servers. This protects against DDoS attacks by validating traffic before it reaches game servers, hiding game server IP addresses from the public, and providing updated endpoints when relay endpoints become unhealthy. The client SDK provides the following to simplify using the player gateway feature:

  • PlayerGatewayManager - Manages relay endpoints, player gateway tokens, and endpoint health tracking
  • Built-in algorithms - Fallback and predictive rotation algorithms for endpoint selection
  • Custom algorithms - Extensible base class for game-specific requirements

Player gateway integration guide

Ping beacons

Ping beacons enable clients to measure UDP latency to Amazon GameLift Servers locations. That latency data can be used with Amazon GameLift Servers to place players in the lowest-latency region. The client SDK provides the following to simplify using the ping beacons feature:

  • PingBeacons - Standalone utility for measuring latency to Amazon GameLift Servers ping endpoints
  • Parallel measurements - Measures all locations concurrently for fast results

Ping beacons integration guide

Repository structure

gamelift-client-sdk/     # SDK source code (copy this to your project)
docs/                    # Integration guides
sample-app/              # Complete sample application demonstrating both features

Requirements

The following are the dependency requirements when using the client SDK source:

  • C++17 compatible compiler
  • Threading library (pthread on Linux/macOS, native threads on Windows)

See sample-app/README.md for additional dependency requirements when building the sample application.

Getting started

Using the SDK in your game

See gamelift-client-sdk/README.md for instructions on integrating the SDK into your project.

Running the sample application

See sample-app/README.md for build instructions and usage.

Documentation

Feature Documentation
Player gateway Integration guide · Algorithm selection · Validation · Code examples
Ping beacons Integration guide
Sample app Build & run

Security

See CONTRIBUTING for information on reporting security issues.

License

This project is licensed under the Apache-2.0 License.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages