Skip to main content

Introduction to Customization

Last updated on 3/16/2023, 1:53:46 AM
note

Customization is not available on AGS Starter tier yet. It's coming soon!

Overview

AGS provides out-of-the-box services that cover most of the common features required by most online games. However, there might be some situations where you need to customize or extend AGS functionalities.

There are two ways to extend AGS:

  1. If you want to create new service endpoints, then you will need to create a Custom Service.

    For example: you might want to create a service that calculates player's skill and ranking, based on match results, but using your own algorithm, and then write the values back as Statistics items; or to fetch player data from external sources.

  2. If you want to override existing AGS service behavior, then you want to create a _gRPC Plugin, that registers itself to the appropriate AGS service.

    For example: you might want to register a new custom Matchmaking implementation, or custom profanity filtering for text chat, or customize how the odds for loot boxes are computed.

In both cases, you will need to use the Extend SDK in order to interact with AGS services, and to use the features such as validating user tokens and retrieving a user ID.

Extend SDK

The Extend SDK supports multiple programming languages including Golang, Java, Python and C#. The popular Golang Extend SDK is used in the documentation examples.

The key differences between the AGS Extend SDK and the AGS Game SDK are:

  • The Game SDK is used by the Game Client, or Dedicated Server, to interact with AGS, and comes in Unity and Unreal variants.

  • The Extend SDK is used to build Custom Backend Services, or Custom Toolings.

Cloud Hosting

After you have built your custom service using the Extend SDK, and tested it on your local machine, then you are ready to get it hosted in the cloud.

You can host and operate your custom service in your own AWS account. See an example in how to implement custom service using AWS Lambda Function

We are currently working on a managed hosting solution (Extend Platform) that lets you upload your containerized custom service, and have AccelByte host it securely. Contact us (hello@accelbyte.com) if this is something that you are interested in.

Customization Guides

TopicsDescription
Extend SDKGetting Started with the Extend SDKProvided to help you to extend AGS. It provides functions to invoke the AccelByte Gaming Services (AGS) endpoints from your code. This guide will show you the basics, when using the popular Go language with our Go Extend SDK.
Extend SDKValidating a User TokenWhen you are extending AGS, you will probably need to validate user tokens. This guide will show you how to do this using the Go Extend SDK.
SampleCreating a Simple Custom Service using AWS LambdaCreating a custom service is one way to extend AGS. This guide will show you how to create a simple custom service, which is able to add, get, and delete user stats.
SampleImplementing a Custom Chat FilterWith AGS, you can plug-in your custom functions that are hosted in a gRPC server. This guide will show you how to create a custom chat filter function gRPC server, and use it with AGS.

References