sdk

package
v1.39.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2024 License: Apache-2.0 Imports: 12 Imported by: 23

Documentation

Overview

Package sdk is the Go game server sdk.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Alpha added in v1.5.0

type Alpha struct {
	// contains filtered or unexported fields
}

Alpha is the struct for Alpha SDK functionality.

func (*Alpha) AppendListValue added in v1.36.0

func (a *Alpha) AppendListValue(key, value string) (bool, error)

AppendListValue appends a string to a List's values list, given the List's key (name) and the string value. Will error if the string already exists in the list. Will error if the key was not predefined in the GameServer resource on creation.

func (*Alpha) DecrementCounter added in v1.35.0

func (a *Alpha) DecrementCounter(key string, amount int64) (bool, error)

DecrementCounter decreases the current count by the given nonnegative integer amount. The Counter Will not go below 0. Will execute the decrement operation against the current CRD value. Returns false if the count is at 0 (to the latest knowledge of the SDK), and no decrement will occur.

func (*Alpha) DeleteListValue added in v1.36.0

func (a *Alpha) DeleteListValue(key, value string) (bool, error)

DeleteListValue removes a string from a List's values list, given the List's key (name) and the string value. Will error if the string does not exist in the list. Will error if the key was not predefined in the GameServer resource on creation.

func (*Alpha) GetConnectedPlayers added in v1.6.0

func (a *Alpha) GetConnectedPlayers() ([]string, error)

GetConnectedPlayers returns the list of the currently connected player ids. This is always accurate, even if the value hasn’t been updated to the GameServer status yet.

func (*Alpha) GetCounterCapacity added in v1.35.0

func (a *Alpha) GetCounterCapacity(key string) (int64, error)

GetCounterCapacity returns the Capacity for a Counter, given the Counter's key (name). Will error if the key was not predefined in the GameServer resource on creation.

func (*Alpha) GetCounterCount added in v1.35.0

func (a *Alpha) GetCounterCount(key string) (int64, error)

GetCounterCount returns the Count for a Counter, given the Counter's key (name). Will error if the key was not predefined in the GameServer resource on creation.

func (*Alpha) GetListCapacity added in v1.36.0

func (a *Alpha) GetListCapacity(key string) (int64, error)

GetListCapacity returns the Capacity for a List, given the List's key (name). Will error if the key was not predefined in the GameServer resource on creation.

func (*Alpha) GetListLength added in v1.36.0

func (a *Alpha) GetListLength(key string) (int, error)

GetListLength returns the length of the Values list for a List, given the List's key (name). Will error if the key was not predefined in the GameServer resource on creation.

func (*Alpha) GetListValues added in v1.36.0

func (a *Alpha) GetListValues(key string) ([]string, error)

GetListValues returns the Values for a List, given the List's key (name). Will error if the key was not predefined in the GameServer resource on creation.

func (*Alpha) GetPlayerCapacity added in v1.5.0

func (a *Alpha) GetPlayerCapacity() (int64, error)

GetPlayerCapacity gets the last player capacity that was set through the SDK. If the player capacity is set from outside the SDK, use SDK.GameServer() instead.

func (*Alpha) GetPlayerCount added in v1.6.0

func (a *Alpha) GetPlayerCount() (int64, error)

GetPlayerCount returns the current player count.

func (*Alpha) IncrementCounter added in v1.35.0

func (a *Alpha) IncrementCounter(key string, amount int64) (bool, error)

IncrementCounter increases a counter by the given nonnegative integer amount. Will execute the increment operation against the current CRD value. Will max at max(int64). Will error if the key was not predefined in the GameServer resource on creation. Returns false if the count is at the current capacity (to the latest knowledge of the SDK), and no increment will occur.

Note: A potential race condition here is that if count values are set from both the SDK and through the K8s API (Allocation or otherwise), since the SDK append operation back to the CRD value is batched asynchronous any value incremented past the capacity will be silently truncated.

func (*Alpha) IsPlayerConnected added in v1.6.0

func (a *Alpha) IsPlayerConnected(id string) (bool, error)

IsPlayerConnected returns if the playerID is currently connected to the GameServer. This is always accurate, even if the value hasn’t been updated to the GameServer status yet.

func (*Alpha) ListContains added in v1.36.0

func (a *Alpha) ListContains(key, value string) (bool, error)

ListContains returns if a string exists in a List's values list, given the List's key (name) and the string value. Search is case-sensitive. Will error if the key was not predefined in the GameServer resource on creation.

func (*Alpha) PlayerConnect added in v1.6.0

func (a *Alpha) PlayerConnect(id string) (bool, error)

PlayerConnect increases the SDK’s stored player count by one, and appends this playerID to status.players.id. Will return true and add the playerID to the list of playerIDs if the playerIDs was not already in the list of connected playerIDs.

func (*Alpha) PlayerDisconnect added in v1.6.0

func (a *Alpha) PlayerDisconnect(id string) (bool, error)

PlayerDisconnect Decreases the SDK’s stored player count by one, and removes the playerID from status.players.id. Will return true and remove the supplied playerID from the list of connected playerIDs if the playerID value exists within the list.

func (*Alpha) SetCounterCapacity added in v1.35.0

func (a *Alpha) SetCounterCapacity(key string, amount int64) (bool, error)

SetCounterCapacity sets the capacity for the given Counter. A capacity of 0 is no capacity.

func (*Alpha) SetCounterCount added in v1.35.0

func (a *Alpha) SetCounterCount(key string, amount int64) (bool, error)

SetCounterCount sets a count to the given value. Use with care, as this will overwrite any previous invocations’ value. Cannot be greater than Capacity.

func (*Alpha) SetListCapacity added in v1.36.0

func (a *Alpha) SetListCapacity(key string, amount int64) (bool, error)

SetListCapacity sets the capacity for a given list. Capacity must be between 0 and 1000. Will error if the key was not predefined in the GameServer resource on creation.

func (*Alpha) SetPlayerCapacity added in v1.5.0

func (a *Alpha) SetPlayerCapacity(capacity int64) error

SetPlayerCapacity changes the player capacity to a new value.

type ErrorLog added in v1.34.0

type ErrorLog func(string, error)

ErrorLog is a function to log the error.

var Logger ErrorLog = func(msg string, err error) {
	fmt.Fprintf(os.Stderr, "%s: %s\n", msg, err)
}

Logger is a pluggable function that outputs the error message to standard error.

type GameServerCallback added in v0.4.0

type GameServerCallback func(gs *sdk.GameServer)

GameServerCallback is a function definition to be called when a GameServer CRD has been changed.

type SDK

type SDK struct {
	// contains filtered or unexported fields
}

SDK is an instance of the Agones SDK.

func NewSDK

func NewSDK() (*SDK, error)

NewSDK starts a new SDK instance, defaulting to a connection at "localhost:9357" unless overridden by "AGONES_SDK_GRPC_HOST" and "AGONES_SDK_GRPC_PORT" environment variables. Blocks until connection and handshake are made. Times out after 30 seconds.

func (*SDK) Allocate added in v0.10.0

func (s *SDK) Allocate() error

Allocate self marks this gameserver as Allocated.

func (*SDK) Alpha added in v1.5.0

func (s *SDK) Alpha() *Alpha

Alpha returns the Alpha SDK.

func (*SDK) GameServer added in v0.3.0

func (s *SDK) GameServer() (*sdk.GameServer, error)

GameServer retrieve the GameServer details.

func (*SDK) Health

func (s *SDK) Health() error

Health sends a ping to the sidecar health check to indicate that this Game Server is healthy.

func (*SDK) Ready

func (s *SDK) Ready() error

Ready marks the Game Server as ready to receive connections.

func (*SDK) Reserve added in v0.12.0

func (s *SDK) Reserve(d time.Duration) error

Reserve marks the Game Server as Reserved for a given duration, at which point it will return the GameServer to a Ready state. Do note, the smallest unit available in the time.Duration argument is a second.

func (*SDK) SetAnnotation added in v0.4.0

func (s *SDK) SetAnnotation(key, value string) error

SetAnnotation sets a metadata annotation on the `GameServer` with the prefix "agones.dev/sdk-".

func (*SDK) SetLabel added in v0.4.0

func (s *SDK) SetLabel(key, value string) error

SetLabel sets a metadata label on the `GameServer` with the prefix "agones.dev/sdk-".

func (*SDK) Shutdown

func (s *SDK) Shutdown() error

Shutdown marks the Game Server as ready to shutdown.

func (*SDK) WatchGameServer added in v0.4.0

func (s *SDK) WatchGameServer(f GameServerCallback) error

WatchGameServer asynchronously calls the given GameServerCallback with the current GameServer configuration when the backing GameServer configuration is updated. This function can be called multiple times to add more than one GameServerCallback.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL