C++ utilities for game clients integrating with Amazon GameLift Servers features.
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.
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 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
gamelift-client-sdk/ # SDK source code (copy this to your project)
docs/ # Integration guides
sample-app/ # Complete sample application demonstrating both features
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.
See gamelift-client-sdk/README.md for instructions on integrating the SDK into your project.
See sample-app/README.md for build instructions and usage.
| Feature | Documentation |
|---|---|
| Player gateway | Integration guide · Algorithm selection · Validation · Code examples |
| Ping beacons | Integration guide |
| Sample app | Build & run |
See CONTRIBUTING for information on reporting security issues.
This project is licensed under the Apache-2.0 License.