Skip to main content

Introduction to Extend

Last updated on April 17, 2024
info

Extend is in Open Beta for AGS Premium Clients! This means that the Extend add-on is available for you to try in your development environment. You can submit your feedback via our Extend Open Beta feedback form.

Overview

AccelByte Gaming Services (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.

Extend is the end-to-end solution to let you customize AGS to fit into your games' needs. Extend lets you:

  1. Write server-side code in the language of your choice.
  2. Have it hosted and operated by AccelByte.
  3. Customize while still having access to the full picture of the server health via AccelByte Observability.

Customize AGS with Extend

There are three ways to customize AGS with Extend:

Override

With the Extend Override, you can override existing overridable AGS service behavior with your own custom logic. For example, you might want to register a new custom Matchmaking implementation or customize how the odds for loot boxes are computed.

Service Extension

With Extend Service Extension, you can create your own new custom service hosted in AccelByte. The Extend Service Extension provides service endpoints that are callable by your game via a REST call. For example, you might want to create a service that calculates a player's skill and ranking based on match results using your own algorithm, and then write the values back as a Statistics item. Another example is to fetch player data from external sources.

Events Handler

With Extend Events Handler, you can listen to AGS events and execute custom logic whenever the events are triggered. For example, you can grant in-game entitlement whenever the season ends.

In all of these ways, you will be able to leverage the Extend SDK in order to interact with AGS services, and use the features such as validating user tokens and retrieving a user ID.