Documentation ¶
Index ¶
- Constants
- Variables
- func AddFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) error
- func AddGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) error
- func AuthenticateApple(ctx context.Context, logger *zap.Logger, db *sql.DB, client *social.Client, ...) (string, string, bool, error)
- func AuthenticateCustom(ctx context.Context, logger *zap.Logger, db *sql.DB, customID, username string, ...) (string, string, bool, error)
- func AuthenticateDevice(ctx context.Context, logger *zap.Logger, db *sql.DB, deviceID, username string, ...) (string, string, bool, error)
- func AuthenticateEmail(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (string, string, bool, error)
- func AuthenticateFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, client *social.Client, ...) (string, string, bool, error)
- func AuthenticateFacebookInstantGame(ctx context.Context, logger *zap.Logger, db *sql.DB, client *social.Client, ...) (string, string, bool, error)
- func AuthenticateGameCenter(ctx context.Context, logger *zap.Logger, db *sql.DB, client *social.Client, ...) (string, string, bool, error)
- func AuthenticateGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, client *social.Client, ...) (string, string, bool, error)
- func AuthenticateSteam(ctx context.Context, logger *zap.Logger, db *sql.DB, client *social.Client, ...) (string, string, string, bool, error)
- func AuthenticateUsername(ctx context.Context, logger *zap.Logger, db *sql.DB, username, password string) (string, error)
- func BanGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) error
- func BanUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, config Config, ...) error
- func BlockFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) error
- func BlugeInMemoryConfig() bluge.Config
- func BlugeWalkDocument(data interface{}, path []string, sortablePaths map[string]bool, ...)
- func ChannelMessageRemove(ctx context.Context, logger *zap.Logger, db *sql.DB, router MessageRouter, ...) (*rtapi.ChannelMessageAck, error)
- func ChannelMessageSend(ctx context.Context, logger *zap.Logger, db *sql.DB, router MessageRouter, ...) (*rtapi.ChannelMessageAck, error)
- func ChannelMessageUpdate(ctx context.Context, logger *zap.Logger, db *sql.DB, router MessageRouter, ...) (*rtapi.ChannelMessageAck, error)
- func ChannelMessagesList(ctx context.Context, logger *zap.Logger, db *sql.DB, caller uuid.UUID, ...) (*api.ChannelMessageList, error)
- func CheckRuntime(logger *zap.Logger, config Config, version string) error
- func CheckRuntimeProviderGo(logger *zap.Logger, rootPath string, paths []string) error
- func CheckRuntimeProviderJavascript(logger *zap.Logger, config Config, version string) error
- func CheckRuntimeProviderLua(logger *zap.Logger, config Config, version string, paths []string) error
- func CreateGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.Group, error)
- func DbConnect(ctx context.Context, logger *zap.Logger, config Config, create bool) *sql.DB
- func DeleteAccount(ctx context.Context, logger *zap.Logger, db *sql.DB, config Config, ...) error
- func DeleteFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, currentUser uuid.UUID, ...) error
- func DeleteGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) error
- func DeleteUser(ctx context.Context, tx *sql.Tx, userID uuid.UUID) (int64, error)
- func DemoteGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, router MessageRouter, ...) error
- func DisableTournamentRanks(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func ExecuteInTx(ctx context.Context, db *sql.DB, fn func(*sql.Tx) error) error
- func ExecuteInTxPgx(ctx context.Context, db *sql.DB, fn func(pgx.Tx) error) error
- func ExecuteRetryable(fn func() error) error
- func ExecuteRetryablePgx(ctx context.Context, db *sql.DB, fn func(conn *pgx.Conn) error) error
- func ExportAccount(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) (*console.AccountExport, error)
- func FileRead(rootPath, relPath string) (*os.File, error)
- func GetAccount(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.Account, error)
- func GetAccounts(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) ([]*api.Account, error)
- func GetChannelMessages(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) ([]*api.ChannelMessage, error)
- func GetFriendIDs(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) (*api.FriendList, error)
- func GetFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) ([]*api.Friend, error)
- func GetGroups(ctx context.Context, logger *zap.Logger, db *sql.DB, ids []string) ([]*api.Group, error)
- func GetPurchaseByTransactionId(ctx context.Context, logger *zap.Logger, db *sql.DB, transactionID string) (*api.ValidatedPurchase, error)
- func GetRandomGroups(ctx context.Context, logger *zap.Logger, db *sql.DB, count int) ([]*api.Group, error)
- func GetRandomUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) ([]*api.User, error)
- func GetRuntimePaths(logger *zap.Logger, rootPath string) ([]string, error)
- func GetSubscriptionByProductId(ctx context.Context, logger *zap.Logger, db *sql.DB, userID, productID string) (*api.ValidatedSubscription, error)
- func GetUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.Users, error)
- func GroupDeleteAll(ctx context.Context, logger *zap.Logger, tx *sql.Tx, userID uuid.UUID) error
- func HandleShutdown(ctx context.Context, logger *zap.Logger, matchRegistry MatchRegistry, ...)
- func HashFromId(id uuid.UUID) [6]byte
- func JoinGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) error
- func KickGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) error
- func LeaderboardList(logger *zap.Logger, leaderboardCache LeaderboardCache, limit int, ...) (*api.LeaderboardList, error)
- func LeaderboardRecordDelete(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func LeaderboardRecordReadAll(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) ([]*api.LeaderboardRecord, error)
- func LeaderboardRecordWrite(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.LeaderboardRecord, error)
- func LeaderboardRecordsDeleteAll(ctx context.Context, logger *zap.Logger, leaderboardCache LeaderboardCache, ...) error
- func LeaderboardRecordsHaystack(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.LeaderboardRecordList, error)
- func LeaderboardRecordsList(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.LeaderboardRecordList, error)
- func LeaderboardsGet(leaderboardCache LeaderboardCache, leaderboardIDs []string) []*api.Leaderboard
- func LeaveGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) error
- func LinkApple(ctx context.Context, logger *zap.Logger, db *sql.DB, config Config, ...) error
- func LinkCustom(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) error
- func LinkDevice(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) error
- func LinkEmail(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) error
- func LinkFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func LinkFacebookInstantGame(ctx context.Context, logger *zap.Logger, db *sql.DB, config Config, ...) error
- func LinkGameCenter(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func LinkGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func LinkSteam(ctx context.Context, logger *zap.Logger, db *sql.DB, config Config, ...) error
- func ListFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.FriendList, error)
- func ListFriendsOfFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.FriendsOfFriendsList, error)
- func ListGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.GroupUserList, error)
- func ListGroups(ctx context.Context, logger *zap.Logger, db *sql.DB, name, langTag string, ...) (*api.GroupList, error)
- func ListPurchases(ctx context.Context, logger *zap.Logger, db *sql.DB, userID string, limit int, ...) (*api.PurchaseList, error)
- func ListSubscriptions(ctx context.Context, logger *zap.Logger, db *sql.DB, userID string, limit int, ...) (*api.SubscriptionList, error)
- func ListUserGroups(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.UserGroupList, error)
- func ListWalletLedger(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) ([]*walletLedger, string, string, error)
- func MapMatchIndexEntry(id string, in *MatchIndexEntry) (*bluge.Document, error)
- func MapMatchmakerIndex(id string, in *MatchmakerIndex) (*bluge.Document, error)
- func MultiUpdate(ctx context.Context, logger *zap.Logger, db *sql.DB, metrics Metrics, ...) ([]*api.StorageObjectAck, []*runtime.WalletUpdateResult, error)
- func NewConfig(logger *zap.Logger) *config
- func NewGrpcCustomLogger(logger *zap.Logger) (grpcCustomLogger, error)
- func NewJSONFileLogger(consoleLogger *zap.Logger, fileName string, level zapcore.Level, ...) *zap.Logger
- func NewJSONLogger(output *os.File, level zapcore.Level, format LoggingFormat) *zap.Logger
- func NewJsLogger(r *goja.Runtime, logger *zap.Logger, fields ...zap.Field) (goja.Value, error)
- func NewLocalFmCallbackHandler(config Config) runtime.FmCallbackHandler
- func NewMultiLogger(loggers ...*zap.Logger) *zap.Logger
- func NewRotatingJSONFileLogger(consoleLogger *zap.Logger, config Config, level zapcore.Level, ...) *zap.Logger
- func NewRuntime(ctx context.Context, logger, startupLogger *zap.Logger, db *sql.DB, ...) (*Runtime, *RuntimeInfo, error)
- func NewRuntimeGoContext(ctx context.Context, node, version string, env map[string]string, ...) context.Context
- func NewRuntimeGoLogger(logger *zap.Logger) nkruntime.Logger
- func NewRuntimeJsContext(r *goja.Runtime, node, version string, env goja.Value, ...) *goja.Object
- func NewRuntimeJsInitContext(r *goja.Runtime, node, version string, env map[string]string) *goja.Object
- func NewRuntimeLuaContext(l *lua.LState, node, version string, env *lua.LTable, ...) *lua.LTable
- func NewRuntimeProviderGo(ctx context.Context, logger, startupLogger *zap.Logger, db *sql.DB, ...) ([]string, map[string]RuntimeRpcFunction, map[string]RuntimeBeforeRtFunction, ...)
- func NewRuntimeProviderJS(ctx context.Context, logger, startupLogger *zap.Logger, db *sql.DB, ...) ([]string, map[string]RuntimeRpcFunction, map[string]RuntimeBeforeRtFunction, ...)
- func NewRuntimeProviderLua(ctx context.Context, logger, startupLogger *zap.Logger, db *sql.DB, ...) ([]string, map[string]RuntimeRpcFunction, map[string]RuntimeBeforeRtFunction, ...)
- func NewSocketWsAcceptor(logger *zap.Logger, config Config, sessionRegistry SessionRegistry, ...) func(http.ResponseWriter, *http.Request)
- func NodeToHash(node string) [6]byte
- func NotificationDelete(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) error
- func NotificationList(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.NotificationList, error)
- func NotificationSave(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func NotificationSend(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, ...) error
- func NotificationSendAll(ctx context.Context, logger *zap.Logger, db *sql.DB, gotracker Tracker, ...) error
- func NotificationsDeleteId(ctx context.Context, logger *zap.Logger, db *sql.DB, userID string, ...) error
- func NotificationsGetId(ctx context.Context, logger *zap.Logger, db *sql.DB, userID string, ...) ([]*runtime.Notification, error)
- func NotificationsUpdate(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func OpenBit32(l *lua.LState) int
- func OpenOs(L *lua.LState) int
- func OpenPackage(moduleCache *RuntimeLuaModuleCache) func(L *lua.LState) int
- func ParseQueryString(query string) (bluge.Query, error)
- func ProfileGoja(w http.ResponseWriter, r *http.Request)
- func PromoteGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, router MessageRouter, ...) error
- func RedirectStdLog(logger *zap.Logger)
- func RemapGoogleId(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func RuntimeJsConvertJsValue(jv interface{}) interface{}
- func RuntimeLuaConvertLuaTable(lv *lua.LTable) map[string]interface{}
- func RuntimeLuaConvertLuaTableString(vars *lua.LTable) (map[string]string, error)
- func RuntimeLuaConvertLuaValue(lv lua.LValue) interface{}
- func RuntimeLuaConvertMap(l *lua.LState, data map[string]interface{}) *lua.LTable
- func RuntimeLuaConvertMapInt64(l *lua.LState, data map[string]int64) *lua.LTable
- func RuntimeLuaConvertMapString(l *lua.LState, data map[string]string) *lua.LTable
- func RuntimeLuaConvertValue(l *lua.LState, val interface{}) lua.LValue
- func SessionLogout(config Config, sessionCache SessionCache, userID uuid.UUID, ...) error
- func SessionRefresh(ctx context.Context, logger *zap.Logger, db *sql.DB, config Config, ...) (uuid.UUID, string, map[string]string, string, int64, error)
- func SetupLogging(tmpLogger *zap.Logger, config Config) (*zap.Logger, *zap.Logger)
- func StackdriverLevelEncoder(l zapcore.Level, enc zapcore.PrimitiveArrayEncoder)
- func StatusError(code codes.Code, msg string, cause error) error
- func StorageDeleteObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, storageIndex StorageIndex, ...) (codes.Code, error)
- func StorageListObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, caller uuid.UUID, ...) (*api.StorageObjectList, codes.Code, error)
- func StorageListObjectsAll(ctx context.Context, logger *zap.Logger, db *sql.DB, authoritative bool, ...) (*api.StorageObjectList, error)
- func StorageListObjectsPublicReadUser(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.StorageObjectList, error)
- func StorageListObjectsUser(ctx context.Context, logger *zap.Logger, db *sql.DB, authoritative bool, ...) (*api.StorageObjectList, error)
- func StorageReadAllUserObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) ([]*api.StorageObject, error)
- func StorageReadObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, caller uuid.UUID, ...) (*api.StorageObjects, error)
- func StorageWriteObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, metrics Metrics, ...) (*api.StorageObjectAcks, codes.Code, error)
- func StreamToChannelId(stream PresenceStream) (string, error)
- func TournamentAddAttempt(ctx context.Context, logger *zap.Logger, db *sql.DB, cache LeaderboardCache, ...) error
- func TournamentCreate(ctx context.Context, logger *zap.Logger, cache LeaderboardCache, ...) error
- func TournamentDelete(ctx context.Context, cache LeaderboardCache, rankCache LeaderboardRankCache, ...) error
- func TournamentJoin(ctx context.Context, logger *zap.Logger, db *sql.DB, cache LeaderboardCache, ...) error
- func TournamentList(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.TournamentList, error)
- func TournamentRecordDelete(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func TournamentRecordWrite(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.LeaderboardRecord, error)
- func TournamentRecordsHaystack(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.TournamentRecordList, error)
- func TournamentRecordsList(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) (*api.TournamentRecordList, error)
- func TournamentsGet(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) ([]*api.Tournament, error)
- func UnbanUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, sessionCache SessionCache, ...) error
- func UnlinkApple(ctx context.Context, logger *zap.Logger, db *sql.DB, config Config, ...) error
- func UnlinkCustom(ctx context.Context, logger *zap.Logger, db *sql.DB, id uuid.UUID, ...) error
- func UnlinkDevice(ctx context.Context, logger *zap.Logger, db *sql.DB, id uuid.UUID, ...) error
- func UnlinkEmail(ctx context.Context, logger *zap.Logger, db *sql.DB, id uuid.UUID, ...) error
- func UnlinkFacebook(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func UnlinkFacebookInstantGame(ctx context.Context, logger *zap.Logger, db *sql.DB, config Config, ...) error
- func UnlinkGameCenter(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func UnlinkGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, ...) error
- func UnlinkSteam(ctx context.Context, logger *zap.Logger, db *sql.DB, config Config, ...) error
- func UpdateAccounts(ctx context.Context, logger *zap.Logger, db *sql.DB, updates []*accountUpdate) error
- func UpdateGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, groupID uuid.UUID, ...) error
- func UpdateWalletLedger(ctx context.Context, logger *zap.Logger, db *sql.DB, id uuid.UUID, ...) (*walletLedger, error)
- func UpdateWallets(ctx context.Context, logger *zap.Logger, db *sql.DB, updates []*walletUpdate, ...) ([]*runtime.WalletUpdateResult, error)
- func UserExistsAndDoesNotBlock(ctx context.Context, db *sql.DB, checkUserID, blocksUserID uuid.UUID) (bool, error)
- func ValidateConfig(logger *zap.Logger, c Config) map[string]string
- func ValidateConfigDatabase(logger *zap.Logger, c Config)
- func ValidatePurchaseFacebookInstant(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.ValidatePurchaseResponse, error)
- func ValidatePurchaseGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.ValidatePurchaseResponse, error)
- func ValidatePurchaseHuawei(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.ValidatePurchaseResponse, error)
- func ValidatePurchasesApple(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.ValidatePurchaseResponse, error)
- func ValidateSubscriptionApple(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.ValidateSubscriptionResponse, error)
- func ValidateSubscriptionGoogle(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, ...) (*api.ValidateSubscriptionResponse, error)
- type AmbiguousCommitError
- type ApiServer
- func (s *ApiServer) AddFriends(ctx context.Context, in *api.AddFriendsRequest) (*emptypb.Empty, error)
- func (s *ApiServer) AddGroupUsers(ctx context.Context, in *api.AddGroupUsersRequest) (*emptypb.Empty, error)
- func (s *ApiServer) AuthenticateApple(ctx context.Context, in *api.AuthenticateAppleRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateCustom(ctx context.Context, in *api.AuthenticateCustomRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateDevice(ctx context.Context, in *api.AuthenticateDeviceRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateEmail(ctx context.Context, in *api.AuthenticateEmailRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateFacebook(ctx context.Context, in *api.AuthenticateFacebookRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateFacebookInstantGame(ctx context.Context, in *api.AuthenticateFacebookInstantGameRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateGameCenter(ctx context.Context, in *api.AuthenticateGameCenterRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateGoogle(ctx context.Context, in *api.AuthenticateGoogleRequest) (*api.Session, error)
- func (s *ApiServer) AuthenticateSteam(ctx context.Context, in *api.AuthenticateSteamRequest) (*api.Session, error)
- func (s *ApiServer) BanGroupUsers(ctx context.Context, in *api.BanGroupUsersRequest) (*emptypb.Empty, error)
- func (s *ApiServer) BlockFriends(ctx context.Context, in *api.BlockFriendsRequest) (*emptypb.Empty, error)
- func (s *ApiServer) CreateGroup(ctx context.Context, in *api.CreateGroupRequest) (*api.Group, error)
- func (s *ApiServer) DeleteAccount(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error)
- func (s *ApiServer) DeleteFriends(ctx context.Context, in *api.DeleteFriendsRequest) (*emptypb.Empty, error)
- func (s *ApiServer) DeleteGroup(ctx context.Context, in *api.DeleteGroupRequest) (*emptypb.Empty, error)
- func (s *ApiServer) DeleteLeaderboardRecord(ctx context.Context, in *api.DeleteLeaderboardRecordRequest) (*emptypb.Empty, error)
- func (s *ApiServer) DeleteNotifications(ctx context.Context, in *api.DeleteNotificationsRequest) (*emptypb.Empty, error)
- func (s *ApiServer) DeleteStorageObjects(ctx context.Context, in *api.DeleteStorageObjectsRequest) (*emptypb.Empty, error)
- func (s *ApiServer) DeleteTournamentRecord(ctx context.Context, in *api.DeleteTournamentRecordRequest) (*emptypb.Empty, error)
- func (s *ApiServer) DemoteGroupUsers(ctx context.Context, in *api.DemoteGroupUsersRequest) (*emptypb.Empty, error)
- func (s *ApiServer) Event(ctx context.Context, in *api.Event) (*emptypb.Empty, error)
- func (s *ApiServer) GetAccount(ctx context.Context, in *emptypb.Empty) (*api.Account, error)
- func (s *ApiServer) GetMatchmakerStats(ctx context.Context, in *emptypb.Empty) (*api.MatchmakerStats, error)
- func (s *ApiServer) GetSubscription(ctx context.Context, in *api.GetSubscriptionRequest) (*api.ValidatedSubscription, error)
- func (s *ApiServer) GetUsers(ctx context.Context, in *api.GetUsersRequest) (*api.Users, error)
- func (s *ApiServer) Healthcheck(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error)
- func (s *ApiServer) ImportFacebookFriends(ctx context.Context, in *api.ImportFacebookFriendsRequest) (*emptypb.Empty, error)
- func (s *ApiServer) ImportSteamFriends(ctx context.Context, in *api.ImportSteamFriendsRequest) (*emptypb.Empty, error)
- func (s *ApiServer) JoinGroup(ctx context.Context, in *api.JoinGroupRequest) (*emptypb.Empty, error)
- func (s *ApiServer) JoinTournament(ctx context.Context, in *api.JoinTournamentRequest) (*emptypb.Empty, error)
- func (s *ApiServer) KickGroupUsers(ctx context.Context, in *api.KickGroupUsersRequest) (*emptypb.Empty, error)
- func (s *ApiServer) LeaveGroup(ctx context.Context, in *api.LeaveGroupRequest) (*emptypb.Empty, error)
- func (s *ApiServer) LinkApple(ctx context.Context, in *api.AccountApple) (*emptypb.Empty, error)
- func (s *ApiServer) LinkCustom(ctx context.Context, in *api.AccountCustom) (*emptypb.Empty, error)
- func (s *ApiServer) LinkDevice(ctx context.Context, in *api.AccountDevice) (*emptypb.Empty, error)
- func (s *ApiServer) LinkEmail(ctx context.Context, in *api.AccountEmail) (*emptypb.Empty, error)
- func (s *ApiServer) LinkFacebook(ctx context.Context, in *api.LinkFacebookRequest) (*emptypb.Empty, error)
- func (s *ApiServer) LinkFacebookInstantGame(ctx context.Context, in *api.AccountFacebookInstantGame) (*emptypb.Empty, error)
- func (s *ApiServer) LinkGameCenter(ctx context.Context, in *api.AccountGameCenter) (*emptypb.Empty, error)
- func (s *ApiServer) LinkGoogle(ctx context.Context, in *api.AccountGoogle) (*emptypb.Empty, error)
- func (s *ApiServer) LinkSteam(ctx context.Context, in *api.LinkSteamRequest) (*emptypb.Empty, error)
- func (s *ApiServer) ListChannelMessages(ctx context.Context, in *api.ListChannelMessagesRequest) (*api.ChannelMessageList, error)
- func (s *ApiServer) ListFriends(ctx context.Context, in *api.ListFriendsRequest) (*api.FriendList, error)
- func (s *ApiServer) ListFriendsOfFriends(ctx context.Context, in *api.ListFriendsOfFriendsRequest) (*api.FriendsOfFriendsList, error)
- func (s *ApiServer) ListGroupUsers(ctx context.Context, in *api.ListGroupUsersRequest) (*api.GroupUserList, error)
- func (s *ApiServer) ListGroups(ctx context.Context, in *api.ListGroupsRequest) (*api.GroupList, error)
- func (s *ApiServer) ListLeaderboardRecords(ctx context.Context, in *api.ListLeaderboardRecordsRequest) (*api.LeaderboardRecordList, error)
- func (s *ApiServer) ListLeaderboardRecordsAroundOwner(ctx context.Context, in *api.ListLeaderboardRecordsAroundOwnerRequest) (*api.LeaderboardRecordList, error)
- func (s *ApiServer) ListMatches(ctx context.Context, in *api.ListMatchesRequest) (*api.MatchList, error)
- func (s *ApiServer) ListNotifications(ctx context.Context, in *api.ListNotificationsRequest) (*api.NotificationList, error)
- func (s *ApiServer) ListStorageObjects(ctx context.Context, in *api.ListStorageObjectsRequest) (*api.StorageObjectList, error)
- func (s *ApiServer) ListSubscriptions(ctx context.Context, in *api.ListSubscriptionsRequest) (*api.SubscriptionList, error)
- func (s *ApiServer) ListTournamentRecords(ctx context.Context, in *api.ListTournamentRecordsRequest) (*api.TournamentRecordList, error)
- func (s *ApiServer) ListTournamentRecordsAroundOwner(ctx context.Context, in *api.ListTournamentRecordsAroundOwnerRequest) (*api.TournamentRecordList, error)
- func (s *ApiServer) ListTournaments(ctx context.Context, in *api.ListTournamentsRequest) (*api.TournamentList, error)
- func (s *ApiServer) ListUserGroups(ctx context.Context, in *api.ListUserGroupsRequest) (*api.UserGroupList, error)
- func (s *ApiServer) PromoteGroupUsers(ctx context.Context, in *api.PromoteGroupUsersRequest) (*emptypb.Empty, error)
- func (s *ApiServer) ReadStorageObjects(ctx context.Context, in *api.ReadStorageObjectsRequest) (*api.StorageObjects, error)
- func (s *ApiServer) RpcFunc(ctx context.Context, in *api.Rpc) (*api.Rpc, error)
- func (s *ApiServer) RpcFuncHttp(w http.ResponseWriter, r *http.Request)
- func (s *ApiServer) SessionLogout(ctx context.Context, in *api.SessionLogoutRequest) (*emptypb.Empty, error)
- func (s *ApiServer) SessionRefresh(ctx context.Context, in *api.SessionRefreshRequest) (*api.Session, error)
- func (s *ApiServer) Stop()
- func (s *ApiServer) UnlinkApple(ctx context.Context, in *api.AccountApple) (*emptypb.Empty, error)
- func (s *ApiServer) UnlinkCustom(ctx context.Context, in *api.AccountCustom) (*emptypb.Empty, error)
- func (s *ApiServer) UnlinkDevice(ctx context.Context, in *api.AccountDevice) (*emptypb.Empty, error)
- func (s *ApiServer) UnlinkEmail(ctx context.Context, in *api.AccountEmail) (*emptypb.Empty, error)
- func (s *ApiServer) UnlinkFacebook(ctx context.Context, in *api.AccountFacebook) (*emptypb.Empty, error)
- func (s *ApiServer) UnlinkFacebookInstantGame(ctx context.Context, in *api.AccountFacebookInstantGame) (*emptypb.Empty, error)
- func (s *ApiServer) UnlinkGameCenter(ctx context.Context, in *api.AccountGameCenter) (*emptypb.Empty, error)
- func (s *ApiServer) UnlinkGoogle(ctx context.Context, in *api.AccountGoogle) (*emptypb.Empty, error)
- func (s *ApiServer) UnlinkSteam(ctx context.Context, in *api.AccountSteam) (*emptypb.Empty, error)
- func (s *ApiServer) UpdateAccount(ctx context.Context, in *api.UpdateAccountRequest) (*emptypb.Empty, error)
- func (s *ApiServer) UpdateGroup(ctx context.Context, in *api.UpdateGroupRequest) (*emptypb.Empty, error)
- func (s *ApiServer) ValidatePurchaseApple(ctx context.Context, in *api.ValidatePurchaseAppleRequest) (*api.ValidatePurchaseResponse, error)
- func (s *ApiServer) ValidatePurchaseFacebookInstant(ctx context.Context, in *api.ValidatePurchaseFacebookInstantRequest) (*api.ValidatePurchaseResponse, error)
- func (s *ApiServer) ValidatePurchaseGoogle(ctx context.Context, in *api.ValidatePurchaseGoogleRequest) (*api.ValidatePurchaseResponse, error)
- func (s *ApiServer) ValidatePurchaseHuawei(ctx context.Context, in *api.ValidatePurchaseHuaweiRequest) (*api.ValidatePurchaseResponse, error)
- func (s *ApiServer) ValidateSubscriptionApple(ctx context.Context, in *api.ValidateSubscriptionAppleRequest) (*api.ValidateSubscriptionResponse, error)
- func (s *ApiServer) ValidateSubscriptionGoogle(ctx context.Context, in *api.ValidateSubscriptionGoogleRequest) (*api.ValidateSubscriptionResponse, error)
- func (s *ApiServer) WriteLeaderboardRecord(ctx context.Context, in *api.WriteLeaderboardRecordRequest) (*api.LeaderboardRecord, error)
- func (s *ApiServer) WriteStorageObjects(ctx context.Context, in *api.WriteStorageObjectsRequest) (*api.StorageObjectAcks, error)
- func (s *ApiServer) WriteTournamentRecord(ctx context.Context, in *api.WriteTournamentRecordRequest) (*api.LeaderboardRecord, error)
- type BlugeResult
- type Buffer
- type ChannelIdToStreamResult
- type Config
- type ConsoleConfig
- type ConsoleServer
- func (s *ConsoleServer) AddGroupUsers(ctx context.Context, in *console.AddGroupUsersRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) AddUser(ctx context.Context, in *console.AddUserRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) Authenticate(ctx context.Context, in *console.AuthenticateRequest) (*console.ConsoleSession, error)
- func (s *ConsoleServer) AuthenticateLogout(ctx context.Context, in *console.AuthenticateLogoutRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) AuthenticateMFASetup(ctx context.Context, in *console.AuthenticateMFASetupRequest) (*console.AuthenticateMFASetupResponse, error)
- func (s *ConsoleServer) BanAccount(ctx context.Context, in *console.AccountId) (*emptypb.Empty, error)
- func (s *ConsoleServer) CallApiEndpoint(ctx context.Context, in *console.CallApiEndpointRequest) (*console.CallApiEndpointResponse, error)
- func (s *ConsoleServer) CallRpcEndpoint(ctx context.Context, in *console.CallApiEndpointRequest) (*console.CallApiEndpointResponse, error)
- func (s *ConsoleServer) DeleteAccount(ctx context.Context, in *console.AccountDeleteRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteAccounts(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error)deprecated
- func (s *ConsoleServer) DeleteAllData(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteChannelMessages(ctx context.Context, in *console.DeleteChannelMessagesRequest) (*console.DeleteChannelMessagesResponse, error)
- func (s *ConsoleServer) DeleteFriend(ctx context.Context, in *console.DeleteFriendRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteGroup(ctx context.Context, in *console.DeleteGroupRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteGroupUser(ctx context.Context, in *console.DeleteGroupUserRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteLeaderboard(ctx context.Context, in *console.LeaderboardRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteLeaderboardRecord(ctx context.Context, in *console.DeleteLeaderboardRecordRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteNotification(ctx context.Context, in *console.DeleteNotificationRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteStorage(ctx context.Context, in *emptypb.Empty) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteStorageObject(ctx context.Context, in *console.DeleteStorageObjectRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteUser(ctx context.Context, in *console.Username) (*emptypb.Empty, error)
- func (s *ConsoleServer) DeleteWalletLedger(ctx context.Context, in *console.DeleteWalletLedgerRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) DemoteGroupMember(ctx context.Context, in *console.UpdateGroupUserStateRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) ExportAccount(ctx context.Context, in *console.AccountId) (*console.AccountExport, error)
- func (s *ConsoleServer) ExportGroup(ctx context.Context, in *console.GroupId) (*console.GroupExport, error)
- func (s *ConsoleServer) GetAccount(ctx context.Context, in *console.AccountId) (*console.Account, error)
- func (s *ConsoleServer) GetConfig(ctx context.Context, in *emptypb.Empty) (*console.Config, error)
- func (s *ConsoleServer) GetFriends(ctx context.Context, in *console.AccountId) (*api.FriendList, error)
- func (s *ConsoleServer) GetGroup(ctx context.Context, in *console.GroupId) (*api.Group, error)
- func (s *ConsoleServer) GetGroups(ctx context.Context, in *console.AccountId) (*api.UserGroupList, error)
- func (s *ConsoleServer) GetLeaderboard(ctx context.Context, in *console.LeaderboardRequest) (*console.Leaderboard, error)
- func (s *ConsoleServer) GetMatchState(ctx context.Context, in *console.MatchStateRequest) (*console.MatchState, error)
- func (s *ConsoleServer) GetMembers(ctx context.Context, in *console.GroupId) (*api.GroupUserList, error)
- func (s *ConsoleServer) GetNotification(ctx context.Context, in *console.GetNotificationRequest) (*console.Notification, error)
- func (s *ConsoleServer) GetPurchase(ctx context.Context, in *console.GetPurchaseRequest) (*api.ValidatedPurchase, error)
- func (s *ConsoleServer) GetRuntime(ctx context.Context, in *emptypb.Empty) (*console.RuntimeInfo, error)
- func (s *ConsoleServer) GetStatus(ctx context.Context, in *emptypb.Empty) (*console.StatusList, error)
- func (s *ConsoleServer) GetStorage(ctx context.Context, in *api.ReadStorageObjectId) (*api.StorageObject, error)
- func (s *ConsoleServer) GetSubscription(ctx context.Context, in *console.GetSubscriptionRequest) (*api.ValidatedSubscription, error)
- func (s *ConsoleServer) GetWalletLedger(ctx context.Context, in *console.GetWalletLedgerRequest) (*console.WalletLedgerList, error)
- func (s *ConsoleServer) ListAccounts(ctx context.Context, in *console.ListAccountsRequest) (*console.AccountList, error)
- func (s *ConsoleServer) ListApiEndpoints(ctx context.Context, _ *emptypb.Empty) (*console.ApiEndpointList, error)
- func (s *ConsoleServer) ListChannelMessages(ctx context.Context, in *console.ListChannelMessagesRequest) (*api.ChannelMessageList, error)
- func (s *ConsoleServer) ListGroups(ctx context.Context, in *console.ListGroupsRequest) (*console.GroupList, error)
- func (s *ConsoleServer) ListLeaderboardRecords(ctx context.Context, in *api.ListLeaderboardRecordsRequest) (*api.LeaderboardRecordList, error)
- func (s *ConsoleServer) ListLeaderboards(ctx context.Context, in *console.LeaderboardListRequest) (*console.LeaderboardList, error)
- func (s *ConsoleServer) ListMatches(ctx context.Context, in *console.ListMatchesRequest) (*console.MatchList, error)
- func (s *ConsoleServer) ListNotifications(ctx context.Context, in *console.ListNotificationsRequest) (*console.NotificationList, error)
- func (s *ConsoleServer) ListPurchases(ctx context.Context, in *console.ListPurchasesRequest) (*api.PurchaseList, error)
- func (s *ConsoleServer) ListStorage(ctx context.Context, in *console.ListStorageRequest) (*console.StorageList, error)
- func (s *ConsoleServer) ListStorageCollections(ctx context.Context, in *emptypb.Empty) (*console.StorageCollectionsList, error)
- func (s *ConsoleServer) ListSubscriptions(ctx context.Context, in *console.ListSubscriptionsRequest) (*api.SubscriptionList, error)
- func (s *ConsoleServer) ListUsers(ctx context.Context, in *emptypb.Empty) (*console.UserList, error)
- func (s *ConsoleServer) PromoteGroupMember(ctx context.Context, in *console.UpdateGroupUserStateRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) RequireUserMfa(ctx context.Context, in *console.RequireUserMfaRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) ResetUserMfa(ctx context.Context, in *console.ResetUserMfaRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) Stop()
- func (s *ConsoleServer) UnbanAccount(ctx context.Context, in *console.AccountId) (*emptypb.Empty, error)
- func (s *ConsoleServer) UnlinkApple(ctx context.Context, in *console.AccountId) (*emptypb.Empty, error)
- func (s *ConsoleServer) UnlinkCustom(ctx context.Context, in *console.AccountId) (*emptypb.Empty, error)
- func (s *ConsoleServer) UnlinkDevice(ctx context.Context, in *console.UnlinkDeviceRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) UnlinkEmail(ctx context.Context, in *console.AccountId) (*emptypb.Empty, error)
- func (s *ConsoleServer) UnlinkFacebook(ctx context.Context, in *console.AccountId) (*emptypb.Empty, error)
- func (s *ConsoleServer) UnlinkFacebookInstantGame(ctx context.Context, in *console.AccountId) (*emptypb.Empty, error)
- func (s *ConsoleServer) UnlinkGameCenter(ctx context.Context, in *console.AccountId) (*emptypb.Empty, error)
- func (s *ConsoleServer) UnlinkGoogle(ctx context.Context, in *console.AccountId) (*emptypb.Empty, error)
- func (s *ConsoleServer) UnlinkSteam(ctx context.Context, in *console.AccountId) (*emptypb.Empty, error)
- func (s *ConsoleServer) UpdateAccount(ctx context.Context, in *console.UpdateAccountRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) UpdateGroup(ctx context.Context, in *console.UpdateGroupRequest) (*emptypb.Empty, error)
- func (s *ConsoleServer) WriteStorageObject(ctx context.Context, in *console.WriteStorageObjectRequest) (*api.StorageObjectAck, error)
- type ConsoleTokenClaims
- type DatabaseConfig
- type DeferredMessage
- type ErrorCauser
- type FifoQueue
- type GoogleAuthConfig
- type GoogleRefundScheduler
- type IAPAppleConfig
- type IAPConfig
- type IAPFacebookInstantConfig
- type IAPGoogleConfig
- func (iapg *IAPGoogleConfig) Enabled() bool
- func (iapg *IAPGoogleConfig) GetClientEmail() string
- func (iapg *IAPGoogleConfig) GetNotificationsEndpointId() string
- func (iapg *IAPGoogleConfig) GetPackageName() string
- func (iapg *IAPGoogleConfig) GetPrivateKey() string
- func (iapg *IAPGoogleConfig) GetRefundCheckPeriodMin() int
- type IAPHuaweiConfig
- type LSentinelType
- type Leaderboard
- func (l *Leaderboard) GetAuthoritative() bool
- func (l *Leaderboard) GetCreateTime() int64
- func (l *Leaderboard) GetId() string
- func (l *Leaderboard) GetMetadata() map[string]interface{}
- func (l *Leaderboard) GetOperator() string
- func (l *Leaderboard) GetReset() string
- func (l *Leaderboard) GetSortOrder() string
- func (l *Leaderboard) HasMaxSize() bool
- func (l *Leaderboard) IsTournament() bool
- type LeaderboardAllCursor
- type LeaderboardCache
- type LeaderboardConfig
- type LeaderboardListCursor
- type LeaderboardRankCache
- type LeaderboardScheduler
- type LeaderboardSchedulerCallback
- type LeaderboardWithExpiry
- type LocalFmCallbackHandler
- type LocalGoogleRefundScheduler
- type LocalLeaderboardCache
- func (l *LocalLeaderboardCache) Create(ctx context.Context, id string, authoritative bool, sortOrder, operator int, ...) (*Leaderboard, bool, error)
- func (l *LocalLeaderboardCache) CreateTournament(ctx context.Context, id string, authoritative bool, sortOrder, operator int, ...) (*Leaderboard, bool, error)
- func (l *LocalLeaderboardCache) Delete(ctx context.Context, rankCache LeaderboardRankCache, ...) (bool, error)
- func (l *LocalLeaderboardCache) Get(id string) *Leaderboard
- func (l *LocalLeaderboardCache) Insert(id string, authoritative bool, sortOrder, operator int, ...)
- func (l *LocalLeaderboardCache) InsertTournament(id string, authoritative bool, sortOrder, operator int, ...)
- func (l *LocalLeaderboardCache) List(limit int, cursor *LeaderboardListCursor) ([]*Leaderboard, *LeaderboardListCursor, error)
- func (l *LocalLeaderboardCache) ListAll(limit int, reverse bool, cursor *LeaderboardAllCursor) ([]*Leaderboard, int, *LeaderboardAllCursor)
- func (l *LocalLeaderboardCache) ListTournaments(now int64, categoryStart, categoryEnd int, startTime, endTime int64, limit int, ...) ([]*Leaderboard, *TournamentListCursor, error)
- func (l *LocalLeaderboardCache) RefreshAllLeaderboards(ctx context.Context) error
- func (l *LocalLeaderboardCache) Remove(id string)
- type LocalLeaderboardRankCache
- func (l *LocalLeaderboardRankCache) Delete(leaderboardId string, expiryUnix int64, ownerID uuid.UUID) bool
- func (l *LocalLeaderboardRankCache) DeleteLeaderboard(leaderboardId string, expiryUnix int64) bool
- func (l *LocalLeaderboardRankCache) Fill(leaderboardId string, expiryUnix int64, records []*api.LeaderboardRecord, ...) int64
- func (l *LocalLeaderboardRankCache) Get(leaderboardId string, expiryUnix int64, ownerID uuid.UUID) int64
- func (l *LocalLeaderboardRankCache) GetDataByRank(leaderboardId string, expiryUnix int64, sortOrder int, rank int64) (ownerID uuid.UUID, score, subscore int64, err error)
- func (l *LocalLeaderboardRankCache) Insert(leaderboardId string, sortOrder int, score, subscore int64, generation int32, ...) int64
- func (l *LocalLeaderboardRankCache) TrimExpired(nowUnix int64) bool
- type LocalLeaderboardScheduler
- type LocalLoginAttemptCache
- type LocalMatchRegistry
- func (r *LocalMatchRegistry) Count() int
- func (r *LocalMatchRegistry) CreateMatch(ctx context.Context, createFn RuntimeMatchCreateFunction, module string, ...) (string, error)
- func (r *LocalMatchRegistry) GetMatch(ctx context.Context, id string) (*api.Match, string, error)
- func (r *LocalMatchRegistry) GetState(ctx context.Context, id uuid.UUID, node string) ([]*rtapi.UserPresence, int64, string, error)
- func (r *LocalMatchRegistry) Join(id uuid.UUID, presences []*MatchPresence)
- func (r *LocalMatchRegistry) JoinAttempt(ctx context.Context, id uuid.UUID, node string, userID, sessionID uuid.UUID, ...) (bool, bool, bool, string, string, []*MatchPresence)
- func (r *LocalMatchRegistry) Kick(stream PresenceStream, presences []*MatchPresence)
- func (r *LocalMatchRegistry) Leave(id uuid.UUID, presences []*MatchPresence)
- func (r *LocalMatchRegistry) ListMatches(ctx context.Context, limit int, authoritative *wrapperspb.BoolValue, ...) ([]*api.Match, []string, error)
- func (r *LocalMatchRegistry) NewMatch(logger *zap.Logger, id uuid.UUID, core RuntimeMatchCore, stopped *atomic.Bool, ...) (*MatchHandler, error)
- func (r *LocalMatchRegistry) RemoveMatch(id uuid.UUID, stream PresenceStream)
- func (r *LocalMatchRegistry) SendData(id uuid.UUID, node string, userID, sessionID uuid.UUID, ...)
- func (r *LocalMatchRegistry) Signal(ctx context.Context, id, data string) (string, error)
- func (r *LocalMatchRegistry) Stop(graceSeconds int) chan struct{}
- func (r *LocalMatchRegistry) UpdateMatchLabel(id uuid.UUID, tickRate int, handlerName, label string, createTime int64) error
- type LocalMatchmaker
- func (m *LocalMatchmaker) Add(ctx context.Context, presences []*MatchmakerPresence, ...) (string, int64, error)
- func (m *LocalMatchmaker) Extract() []*MatchmakerExtract
- func (m *LocalMatchmaker) GetStats() *api.MatchmakerStats
- func (m *LocalMatchmaker) Insert(extracts []*MatchmakerExtract) error
- func (m *LocalMatchmaker) OnMatchedEntries(fn func(entries [][]*MatchmakerEntry))
- func (m *LocalMatchmaker) OnStatsUpdate(fn func(*api.MatchmakerStats))
- func (m *LocalMatchmaker) Pause()
- func (m *LocalMatchmaker) Process()
- func (m *LocalMatchmaker) Remove(tickets []string)
- func (m *LocalMatchmaker) RemoveAll(node string)
- func (m *LocalMatchmaker) RemoveParty(partyID, ticket string) error
- func (m *LocalMatchmaker) RemovePartyAll(partyID string) error
- func (m *LocalMatchmaker) RemoveSession(sessionID, ticket string) error
- func (m *LocalMatchmaker) RemoveSessionAll(sessionID string) error
- func (m *LocalMatchmaker) Resume()
- func (m *LocalMatchmaker) SetStats(stats *api.MatchmakerStats)
- func (m *LocalMatchmaker) Stop()
- type LocalMessageRouter
- func (r *LocalMessageRouter) SendDeferred(logger *zap.Logger, messages []*DeferredMessage)
- func (r *LocalMessageRouter) SendToAll(logger *zap.Logger, envelope *rtapi.Envelope, reliable bool)
- func (r *LocalMessageRouter) SendToPresenceIDs(logger *zap.Logger, presenceIDs []*PresenceID, envelope *rtapi.Envelope, ...)
- func (r *LocalMessageRouter) SendToStream(logger *zap.Logger, stream PresenceStream, envelope *rtapi.Envelope, ...)
- type LocalMetrics
- func (m *LocalMetrics) Api(name string, elapsed time.Duration, recvBytes, sentBytes int64, isErr bool)
- func (m *LocalMetrics) ApiAfter(name string, elapsed time.Duration, isErr bool)
- func (m *LocalMetrics) ApiBefore(name string, elapsed time.Duration, isErr bool)
- func (m *LocalMetrics) ApiRpc(id string, elapsed time.Duration, recvBytes, sentBytes int64, isErr bool)
- func (m *LocalMetrics) CountDroppedEvents(delta int64)
- func (m *LocalMetrics) CountUntaggedGrpcStatsCalls(delta int64)
- func (m *LocalMetrics) CountWebsocketClosed(delta int64)
- func (m *LocalMetrics) CountWebsocketOpened(delta int64)
- func (m *LocalMetrics) CustomCounter(name string, tags map[string]string, delta int64)
- func (m *LocalMetrics) CustomGauge(name string, tags map[string]string, value float64)
- func (m *LocalMetrics) CustomTimer(name string, tags map[string]string, value time.Duration)
- func (m *LocalMetrics) GaugeAuthoritativeMatches(value float64)
- func (m *LocalMetrics) GaugeJsRuntimes(value float64)
- func (m *LocalMetrics) GaugeLuaRuntimes(value float64)
- func (m *LocalMetrics) GaugePresences(value float64)
- func (m *LocalMetrics) GaugeRuntimes(value float64)
- func (m *LocalMetrics) GaugeSessions(value float64)
- func (m *LocalMetrics) GaugeStorageIndexEntries(indexName string, value float64)
- func (m *LocalMetrics) Matchmaker(tickets, activeTickets float64, processTime time.Duration)
- func (m *LocalMetrics) Message(recvBytes int64, isErr bool)
- func (m *LocalMetrics) MessageBytesSent(sentBytes int64)
- func (m *LocalMetrics) PresenceEvent(dequeueElapsed, processElapsed time.Duration)
- func (m *LocalMetrics) SnapshotLatencyMs() float64
- func (m *LocalMetrics) SnapshotRateSec() float64
- func (m *LocalMetrics) SnapshotRecvKbSec() float64
- func (m *LocalMetrics) SnapshotSentKbSec() float64
- func (m *LocalMetrics) Stop(logger *zap.Logger)
- func (m *LocalMetrics) StorageWriteRejectCount(tags map[string]string, delta int64)
- type LocalPartyRegistry
- func (p *LocalPartyRegistry) Create(open bool, maxSize int, presence *rtapi.UserPresence) *PartyHandler
- func (p *LocalPartyRegistry) Delete(id uuid.UUID)
- func (p *LocalPartyRegistry) Join(id uuid.UUID, presences []*Presence)
- func (p *LocalPartyRegistry) Leave(id uuid.UUID, presences []*Presence)
- func (p *LocalPartyRegistry) PartyAccept(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, ...) error
- func (p *LocalPartyRegistry) PartyClose(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string) error
- func (p *LocalPartyRegistry) PartyDataSend(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, ...) error
- func (p *LocalPartyRegistry) PartyJoinRequest(ctx context.Context, id uuid.UUID, node string, presence *Presence) (bool, error)
- func (p *LocalPartyRegistry) PartyJoinRequestList(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string) ([]*rtapi.UserPresence, error)
- func (p *LocalPartyRegistry) PartyMatchmakerAdd(ctx context.Context, id uuid.UUID, node, sessionID, fromNode, query string, ...) (string, []*PresenceID, error)
- func (p *LocalPartyRegistry) PartyMatchmakerRemove(ctx context.Context, id uuid.UUID, node, sessionID, fromNode, ticket string) error
- func (p *LocalPartyRegistry) PartyPromote(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, ...) error
- func (p *LocalPartyRegistry) PartyRemove(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, ...) error
- type LocalSessionCache
- func (s *LocalSessionCache) Add(userID uuid.UUID, sessionExp int64, tokenId string, refreshExp int64, ...)
- func (s *LocalSessionCache) Ban(userIDs []uuid.UUID)
- func (s *LocalSessionCache) IsValidRefresh(userID uuid.UUID, exp int64, tokenId string) bool
- func (s *LocalSessionCache) IsValidSession(userID uuid.UUID, exp int64, tokenId string) bool
- func (s *LocalSessionCache) Remove(userID uuid.UUID, sessionExp int64, sessionTokenId string, refreshExp int64, ...)
- func (s *LocalSessionCache) RemoveAll(userID uuid.UUID)
- func (s *LocalSessionCache) Stop()
- func (s *LocalSessionCache) Unban(userIDs []uuid.UUID)
- type LocalSessionRegistry
- func (r *LocalSessionRegistry) Add(session Session)
- func (r *LocalSessionRegistry) Count() int
- func (r *LocalSessionRegistry) Disconnect(ctx context.Context, sessionID uuid.UUID, ban bool, ...) error
- func (r *LocalSessionRegistry) Get(sessionID uuid.UUID) Session
- func (r *LocalSessionRegistry) Range(fn func(Session) bool)
- func (r *LocalSessionRegistry) Remove(sessionID uuid.UUID)
- func (r *LocalSessionRegistry) SingleSession(ctx context.Context, tracker Tracker, userID, sessionID uuid.UUID)
- func (r *LocalSessionRegistry) Stop()
- type LocalStatusHandler
- type LocalStatusRegistry
- func (s *LocalStatusRegistry) FillOnlineAccounts(accounts []*api.Account)
- func (s *LocalStatusRegistry) FillOnlineFriends(friends []*api.Friend)
- func (s *LocalStatusRegistry) FillOnlineGroupUsers(groupUsers []*api.GroupUserList_GroupUser)
- func (s *LocalStatusRegistry) FillOnlineUsers(users []*api.User)
- func (s *LocalStatusRegistry) Follow(sessionID uuid.UUID, userIDs map[uuid.UUID]struct{})
- func (s *LocalStatusRegistry) IsOnline(userID uuid.UUID) bool
- func (s *LocalStatusRegistry) Queue(userID uuid.UUID, joins, leaves []*rtapi.UserPresence)
- func (s *LocalStatusRegistry) Stop()
- func (s *LocalStatusRegistry) Unfollow(sessionID uuid.UUID, userIDs []uuid.UUID)
- func (s *LocalStatusRegistry) UnfollowAll(sessionID uuid.UUID)
- type LocalStorageIndex
- func (si *LocalStorageIndex) CreateIndex(ctx context.Context, name, collection, key string, fields []string, ...) error
- func (si *LocalStorageIndex) Delete(ctx context.Context, objects StorageOpDeletes) (deletes int)
- func (si *LocalStorageIndex) List(ctx context.Context, callerID uuid.UUID, indexName, query string, limit int, ...) (*api.StorageObjects, string, error)
- func (si *LocalStorageIndex) Load(ctx context.Context) error
- func (si *LocalStorageIndex) RegisterFilters(runtime *Runtime)
- func (si *LocalStorageIndex) Write(ctx context.Context, objects []*api.StorageObject) (updates int, deletes int)
- type LocalStreamManager
- func (m *LocalStreamManager) UserJoin(stream PresenceStream, userID, sessionID uuid.UUID, hidden, persistence bool, ...) (bool, bool, error)
- func (m *LocalStreamManager) UserLeave(stream PresenceStream, userID, sessionID uuid.UUID) error
- func (m *LocalStreamManager) UserUpdate(stream PresenceStream, userID, sessionID uuid.UUID, hidden, persistence bool, ...) (bool, error)
- type LocalTracker
- func (t *LocalTracker) Count() int
- func (t *LocalTracker) CountByStream(stream PresenceStream) int
- func (t *LocalTracker) CountByStreamModeFilter(modes map[uint8]*uint8) map[*PresenceStream]int32
- func (t *LocalTracker) GetLocalBySessionIDStreamUserID(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) *PresenceMeta
- func (t *LocalTracker) ListByStream(stream PresenceStream, includeHidden bool, includeNotHidden bool) []*Presence
- func (t *LocalTracker) ListLocalSessionIDByStream(stream PresenceStream) []uuid.UUID
- func (t *LocalTracker) ListNodesForStream(stream PresenceStream) map[string]struct{}
- func (t *LocalTracker) ListPresenceIDByStream(stream PresenceStream) []*PresenceID
- func (t *LocalTracker) ListPresenceIDByStreams(fill map[PresenceStream][]*PresenceID)
- func (t *LocalTracker) SetMatchJoinListener(f func(id uuid.UUID, joins []*MatchPresence))
- func (t *LocalTracker) SetMatchLeaveListener(f func(id uuid.UUID, leaves []*MatchPresence))
- func (t *LocalTracker) SetPartyJoinListener(f func(id uuid.UUID, joins []*Presence))
- func (t *LocalTracker) SetPartyLeaveListener(f func(id uuid.UUID, leaves []*Presence))
- func (t *LocalTracker) Stop()
- func (t *LocalTracker) StreamExists(stream PresenceStream) bool
- func (t *LocalTracker) Track(ctx context.Context, sessionID uuid.UUID, stream PresenceStream, ...) (bool, bool)
- func (t *LocalTracker) TrackMulti(ctx context.Context, sessionID uuid.UUID, ops []*TrackerOp, userID uuid.UUID) bool
- func (t *LocalTracker) Untrack(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID)
- func (t *LocalTracker) UntrackAll(sessionID uuid.UUID, reason runtime.PresenceReason)
- func (t *LocalTracker) UntrackByStream(stream PresenceStream)
- func (t *LocalTracker) UntrackLocalByModes(sessionID uuid.UUID, modes map[uint8]struct{}, skipStream PresenceStream)
- func (t *LocalTracker) UntrackLocalByStream(stream PresenceStream)
- func (t *LocalTracker) UntrackMulti(sessionID uuid.UUID, streams []*PresenceStream, userID uuid.UUID)
- func (t *LocalTracker) Update(ctx context.Context, sessionID uuid.UUID, stream PresenceStream, ...) bool
- type LockoutType
- type LoggerConfig
- type LoggingFormat
- type LoginAttemptCache
- type MFAConfig
- type MapOf
- func (m *MapOf[K, V]) Delete(key K)
- func (m *MapOf[K, V]) Load(key K) (value V, ok bool)
- func (m *MapOf[K, V]) LoadAndDelete(key K) (value V, loaded bool)
- func (m *MapOf[K, V]) LoadOrStore(key K, value V) (actual V, loaded bool)
- func (m *MapOf[K, V]) Range(f func(key K, value V) bool)
- func (m *MapOf[K, V]) Store(key K, value V)
- type MatchConfig
- type MatchDataMessage
- func (m *MatchDataMessage) GetData() []byte
- func (m *MatchDataMessage) GetHidden() bool
- func (m *MatchDataMessage) GetNodeId() string
- func (m *MatchDataMessage) GetOpCode() int64
- func (m *MatchDataMessage) GetPersistence() bool
- func (m *MatchDataMessage) GetReason() runtime.PresenceReason
- func (m *MatchDataMessage) GetReceiveTime() int64
- func (m *MatchDataMessage) GetReliable() bool
- func (m *MatchDataMessage) GetSessionId() string
- func (m *MatchDataMessage) GetStatus() string
- func (m *MatchDataMessage) GetUserId() string
- func (m *MatchDataMessage) GetUsername() string
- type MatchFnId
- type MatchGetStateResult
- type MatchHandler
- func (mh *MatchHandler) CreateTime() int64
- func (mh *MatchHandler) HandlerName() string
- func (mh *MatchHandler) Label() string
- func (mh *MatchHandler) QueueData(m *MatchDataMessage)
- func (mh *MatchHandler) QueueGetState(ctx context.Context, resultCh chan<- *MatchGetStateResult) bool
- func (mh *MatchHandler) QueueJoin(joins []*MatchPresence, mark bool) bool
- func (mh *MatchHandler) QueueJoinAttempt(ctx context.Context, resultCh chan<- *MatchJoinAttemptResult, ...) bool
- func (mh *MatchHandler) QueueLeave(leaves []*MatchPresence) bool
- func (mh *MatchHandler) QueueSignal(ctx context.Context, resultCh chan<- *MatchSignalResult, data string) bool
- func (mh *MatchHandler) QueueTerminate(graceSeconds int) bool
- func (mh *MatchHandler) Stop()
- func (mh *MatchHandler) TickRate() int
- type MatchIndexEntry
- type MatchJoinAttemptResult
- type MatchJoinMarker
- type MatchJoinMarkerList
- type MatchNamesListFunction
- type MatchPresence
- func (p *MatchPresence) GetHidden() bool
- func (p *MatchPresence) GetNodeId() string
- func (p *MatchPresence) GetPersistence() bool
- func (p *MatchPresence) GetReason() runtime.PresenceReason
- func (p *MatchPresence) GetSessionId() string
- func (p *MatchPresence) GetStatus() string
- func (p *MatchPresence) GetUserId() string
- func (p *MatchPresence) GetUsername() string
- type MatchPresenceList
- func (m *MatchPresenceList) Contains(presence *PresenceID) bool
- func (m *MatchPresenceList) FilterPresenceIDs(ids []*PresenceID) []*PresenceID
- func (m *MatchPresenceList) Join(joins []*MatchPresence) []*MatchPresence
- func (m *MatchPresenceList) Leave(leaves []*MatchPresence) []*MatchPresence
- func (m *MatchPresenceList) ListPresenceIDs() []*PresenceID
- func (m *MatchPresenceList) ListPresences() []*MatchPresence
- func (m *MatchPresenceList) Size() int
- type MatchPresenceListItem
- type MatchProvider
- type MatchRegistry
- type MatchSignalResult
- type Matchmaker
- type MatchmakerConfig
- type MatchmakerEntry
- type MatchmakerExtract
- type MatchmakerIndex
- type MatchmakerIndexGroup
- type MatchmakerPresence
- func (p *MatchmakerPresence) GetHidden() bool
- func (p *MatchmakerPresence) GetNodeId() string
- func (p *MatchmakerPresence) GetPersistence() bool
- func (p *MatchmakerPresence) GetReason() runtime.PresenceReason
- func (p *MatchmakerPresence) GetSessionId() string
- func (p *MatchmakerPresence) GetStatus() string
- func (p *MatchmakerPresence) GetUserId() string
- func (p *MatchmakerPresence) GetUsername() string
- type MatchmakerStatsEntry
- type MessageRouter
- type MethodName
- type Metrics
- type MetricsConfig
- type MetricsGrpcHandler
- func (m *MetricsGrpcHandler) HandleConn(context.Context, stats.ConnStats)
- func (m *MetricsGrpcHandler) HandleRPC(ctx context.Context, rs stats.RPCStats)
- func (m *MetricsGrpcHandler) TagConn(ctx context.Context, _ *stats.ConnTagInfo) context.Context
- func (m *MetricsGrpcHandler) TagRPC(ctx context.Context, info *stats.RPCTagInfo) context.Context
- type OrderedTournaments
- type PartyHandler
- func (p *PartyHandler) Accept(sessionID, node string, presence *rtapi.UserPresence, singleParty bool) error
- func (p *PartyHandler) Close(sessionID, node string) error
- func (p *PartyHandler) DataSend(sessionID, node string, opCode int64, data []byte) error
- func (p *PartyHandler) Join(presences []*Presence)
- func (p *PartyHandler) JoinRequest(presence *Presence) (bool, error)
- func (p *PartyHandler) JoinRequestList(sessionID, node string) ([]*rtapi.UserPresence, error)
- func (p *PartyHandler) Leave(presences []*Presence)
- func (p *PartyHandler) MatchmakerAdd(sessionID, node, query string, minCount, maxCount, countMultiple int, ...) (string, []*PresenceID, error)
- func (p *PartyHandler) MatchmakerRemove(sessionID, node, ticket string) error
- func (p *PartyHandler) Promote(sessionID, node string, presence *rtapi.UserPresence) error
- func (p *PartyHandler) Remove(sessionID, node string, presence *rtapi.UserPresence) error
- type PartyJoinRequest
- type PartyLeader
- type PartyPresenceList
- func (m *PartyPresenceList) Join(joins []*Presence) ([]*Presence, error)
- func (m *PartyPresenceList) Leave(leaves []*Presence) ([]*Presence, []*Presence)
- func (m *PartyPresenceList) List() []*PartyPresenceListItem
- func (m *PartyPresenceList) Oldest() (*PresenceID, *rtapi.UserPresence)
- func (m *PartyPresenceList) Release(presence *Presence)
- func (m *PartyPresenceList) Reserve(presence *Presence) error
- func (m *PartyPresenceList) Size() int
- type PartyPresenceListItem
- type PartyRegistry
- type Pipeline
- type Presence
- func (p *Presence) GetHidden() bool
- func (p *Presence) GetNodeId() string
- func (p *Presence) GetPersistence() bool
- func (p *Presence) GetReason() runtime.PresenceReason
- func (p *Presence) GetSessionId() string
- func (p *Presence) GetStatus() string
- func (p *Presence) GetUserId() string
- func (p *Presence) GetUsername() string
- type PresenceEvent
- type PresenceID
- type PresenceMeta
- type PresenceStream
- type RankAsc
- type RankCache
- type RankDesc
- type RedirectStdLogWriter
- type Runtime
- func (r *Runtime) AfterAddFriends() RuntimeAfterAddFriendsFunction
- func (r *Runtime) AfterAddGroupUsers() RuntimeAfterAddGroupUsersFunction
- func (r *Runtime) AfterAuthenticateApple() RuntimeAfterAuthenticateAppleFunction
- func (r *Runtime) AfterAuthenticateCustom() RuntimeAfterAuthenticateCustomFunction
- func (r *Runtime) AfterAuthenticateDevice() RuntimeAfterAuthenticateDeviceFunction
- func (r *Runtime) AfterAuthenticateEmail() RuntimeAfterAuthenticateEmailFunction
- func (r *Runtime) AfterAuthenticateFacebook() RuntimeAfterAuthenticateFacebookFunction
- func (r *Runtime) AfterAuthenticateFacebookInstantGame() RuntimeAfterAuthenticateFacebookInstantGameFunction
- func (r *Runtime) AfterAuthenticateGameCenter() RuntimeAfterAuthenticateGameCenterFunction
- func (r *Runtime) AfterAuthenticateGoogle() RuntimeAfterAuthenticateGoogleFunction
- func (r *Runtime) AfterAuthenticateSteam() RuntimeAfterAuthenticateSteamFunction
- func (r *Runtime) AfterBanGroupUsers() RuntimeAfterBanGroupUsersFunction
- func (r *Runtime) AfterBlockFriends() RuntimeAfterBlockFriendsFunction
- func (r *Runtime) AfterCreateGroup() RuntimeAfterCreateGroupFunction
- func (r *Runtime) AfterDeleteAccount() RuntimeAfterDeleteAccountFunction
- func (r *Runtime) AfterDeleteFriends() RuntimeAfterDeleteFriendsFunction
- func (r *Runtime) AfterDeleteGroup() RuntimeAfterDeleteGroupFunction
- func (r *Runtime) AfterDeleteLeaderboardRecord() RuntimeAfterDeleteLeaderboardRecordFunction
- func (r *Runtime) AfterDeleteNotifications() RuntimeAfterDeleteNotificationsFunction
- func (r *Runtime) AfterDeleteStorageObjects() RuntimeAfterDeleteStorageObjectsFunction
- func (r *Runtime) AfterDeleteTournamentRecord() RuntimeAfterDeleteTournamentRecordFunction
- func (r *Runtime) AfterDemoteGroupUsers() RuntimeAfterDemoteGroupUsersFunction
- func (r *Runtime) AfterEvent() RuntimeAfterEventFunction
- func (r *Runtime) AfterGetAccount() RuntimeAfterGetAccountFunction
- func (r *Runtime) AfterGetMatchmakerStats() RuntimeAfterGetMatchmakerStatsFunction
- func (r *Runtime) AfterGetSubscription() RuntimeAfterGetSubscriptionFunction
- func (r *Runtime) AfterGetUsers() RuntimeAfterGetUsersFunction
- func (r *Runtime) AfterImportFacebookFriends() RuntimeAfterImportFacebookFriendsFunction
- func (r *Runtime) AfterImportSteamFriends() RuntimeAfterImportSteamFriendsFunction
- func (r *Runtime) AfterJoinGroup() RuntimeAfterJoinGroupFunction
- func (r *Runtime) AfterJoinTournament() RuntimeAfterJoinTournamentFunction
- func (r *Runtime) AfterKickGroupUsers() RuntimeAfterKickGroupUsersFunction
- func (r *Runtime) AfterLeaveGroup() RuntimeAfterLeaveGroupFunction
- func (r *Runtime) AfterLinkApple() RuntimeAfterLinkAppleFunction
- func (r *Runtime) AfterLinkCustom() RuntimeAfterLinkCustomFunction
- func (r *Runtime) AfterLinkDevice() RuntimeAfterLinkDeviceFunction
- func (r *Runtime) AfterLinkEmail() RuntimeAfterLinkEmailFunction
- func (r *Runtime) AfterLinkFacebook() RuntimeAfterLinkFacebookFunction
- func (r *Runtime) AfterLinkFacebookInstantGame() RuntimeAfterLinkFacebookInstantGameFunction
- func (r *Runtime) AfterLinkGameCenter() RuntimeAfterLinkGameCenterFunction
- func (r *Runtime) AfterLinkGoogle() RuntimeAfterLinkGoogleFunction
- func (r *Runtime) AfterLinkSteam() RuntimeAfterLinkSteamFunction
- func (r *Runtime) AfterListChannelMessages() RuntimeAfterListChannelMessagesFunction
- func (r *Runtime) AfterListFriends() RuntimeAfterListFriendsFunction
- func (r *Runtime) AfterListFriendsOfFriends() RuntimeAfterListFriendsOfFriendsFunction
- func (r *Runtime) AfterListGroupUsers() RuntimeAfterListGroupUsersFunction
- func (r *Runtime) AfterListGroups() RuntimeAfterListGroupsFunction
- func (r *Runtime) AfterListLeaderboardRecords() RuntimeAfterListLeaderboardRecordsFunction
- func (r *Runtime) AfterListLeaderboardRecordsAroundOwner() RuntimeAfterListLeaderboardRecordsAroundOwnerFunction
- func (r *Runtime) AfterListMatches() RuntimeAfterListMatchesFunction
- func (r *Runtime) AfterListNotifications() RuntimeAfterListNotificationsFunction
- func (r *Runtime) AfterListStorageObjects() RuntimeAfterListStorageObjectsFunction
- func (r *Runtime) AfterListSubscriptions() RuntimeAfterListSubscriptionsFunction
- func (r *Runtime) AfterListTournamentRecords() RuntimeAfterListTournamentRecordsFunction
- func (r *Runtime) AfterListTournamentRecordsAroundOwner() RuntimeAfterListTournamentRecordsAroundOwnerFunction
- func (r *Runtime) AfterListTournaments() RuntimeAfterListTournamentsFunction
- func (r *Runtime) AfterListUserGroups() RuntimeAfterListUserGroupsFunction
- func (r *Runtime) AfterPromoteGroupUsers() RuntimeAfterPromoteGroupUsersFunction
- func (r *Runtime) AfterReadStorageObjects() RuntimeAfterReadStorageObjectsFunction
- func (r *Runtime) AfterRt(id string) RuntimeAfterRtFunction
- func (r *Runtime) AfterSessionLogout() RuntimeAfterSessionLogoutFunction
- func (r *Runtime) AfterSessionRefresh() RuntimeAfterSessionRefreshFunction
- func (r *Runtime) AfterUnlinkApple() RuntimeAfterUnlinkAppleFunction
- func (r *Runtime) AfterUnlinkCustom() RuntimeAfterUnlinkCustomFunction
- func (r *Runtime) AfterUnlinkDevice() RuntimeAfterUnlinkDeviceFunction
- func (r *Runtime) AfterUnlinkEmail() RuntimeAfterUnlinkEmailFunction
- func (r *Runtime) AfterUnlinkFacebook() RuntimeAfterUnlinkFacebookFunction
- func (r *Runtime) AfterUnlinkFacebookInstantGame() RuntimeAfterUnlinkFacebookInstantGameFunction
- func (r *Runtime) AfterUnlinkGameCenter() RuntimeAfterUnlinkGameCenterFunction
- func (r *Runtime) AfterUnlinkGoogle() RuntimeAfterUnlinkGoogleFunction
- func (r *Runtime) AfterUnlinkSteam() RuntimeAfterUnlinkSteamFunction
- func (r *Runtime) AfterUpdateAccount() RuntimeAfterUpdateAccountFunction
- func (r *Runtime) AfterUpdateGroup() RuntimeAfterUpdateGroupFunction
- func (r *Runtime) AfterValidatePurchaseApple() RuntimeAfterValidatePurchaseAppleFunction
- func (r *Runtime) AfterValidatePurchaseFacebookInstant() RuntimeAfterValidatePurchaseFacebookInstantFunction
- func (r *Runtime) AfterValidatePurchaseGoogle() RuntimeAfterValidatePurchaseGoogleFunction
- func (r *Runtime) AfterValidatePurchaseHuawei() RuntimeAfterValidatePurchaseHuaweiFunction
- func (r *Runtime) AfterValidateSubscriptionApple() RuntimeAfterValidateSubscriptionAppleFunction
- func (r *Runtime) AfterValidateSubscriptionGoogle() RuntimeAfterValidateSubscriptionGoogleFunction
- func (r *Runtime) AfterWriteLeaderboardRecord() RuntimeAfterWriteLeaderboardRecordFunction
- func (r *Runtime) AfterWriteStorageObjects() RuntimeAfterWriteStorageObjectsFunction
- func (r *Runtime) AfterWriteTournamentRecord() RuntimeAfterWriteTournamentRecordFunction
- func (r *Runtime) BeforeAddFriends() RuntimeBeforeAddFriendsFunction
- func (r *Runtime) BeforeAddGroupUsers() RuntimeBeforeAddGroupUsersFunction
- func (r *Runtime) BeforeAuthenticateApple() RuntimeBeforeAuthenticateAppleFunction
- func (r *Runtime) BeforeAuthenticateCustom() RuntimeBeforeAuthenticateCustomFunction
- func (r *Runtime) BeforeAuthenticateDevice() RuntimeBeforeAuthenticateDeviceFunction
- func (r *Runtime) BeforeAuthenticateEmail() RuntimeBeforeAuthenticateEmailFunction
- func (r *Runtime) BeforeAuthenticateFacebook() RuntimeBeforeAuthenticateFacebookFunction
- func (r *Runtime) BeforeAuthenticateFacebookInstantGame() RuntimeBeforeAuthenticateFacebookInstantGameFunction
- func (r *Runtime) BeforeAuthenticateGameCenter() RuntimeBeforeAuthenticateGameCenterFunction
- func (r *Runtime) BeforeAuthenticateGoogle() RuntimeBeforeAuthenticateGoogleFunction
- func (r *Runtime) BeforeAuthenticateSteam() RuntimeBeforeAuthenticateSteamFunction
- func (r *Runtime) BeforeBanGroupUsers() RuntimeBeforeBanGroupUsersFunction
- func (r *Runtime) BeforeBlockFriends() RuntimeBeforeBlockFriendsFunction
- func (r *Runtime) BeforeCreateGroup() RuntimeBeforeCreateGroupFunction
- func (r *Runtime) BeforeDeleteAccount() RuntimeBeforeDeleteAccountFunction
- func (r *Runtime) BeforeDeleteFriends() RuntimeBeforeDeleteFriendsFunction
- func (r *Runtime) BeforeDeleteGroup() RuntimeBeforeDeleteGroupFunction
- func (r *Runtime) BeforeDeleteLeaderboardRecord() RuntimeBeforeDeleteLeaderboardRecordFunction
- func (r *Runtime) BeforeDeleteNotifications() RuntimeBeforeDeleteNotificationsFunction
- func (r *Runtime) BeforeDeleteStorageObjects() RuntimeBeforeDeleteStorageObjectsFunction
- func (r *Runtime) BeforeDeleteTournamentRecord() RuntimeBeforeDeleteTournamentRecordFunction
- func (r *Runtime) BeforeDemoteGroupUsers() RuntimeBeforeDemoteGroupUsersFunction
- func (r *Runtime) BeforeEvent() RuntimeBeforeEventFunction
- func (r *Runtime) BeforeGetAccount() RuntimeBeforeGetAccountFunction
- func (r *Runtime) BeforeGetMatchmakerStats() RuntimeBeforeGetMatchmakerStatsFunction
- func (r *Runtime) BeforeGetSubscription() RuntimeBeforeGetSubscriptionFunction
- func (r *Runtime) BeforeGetUsers() RuntimeBeforeGetUsersFunction
- func (r *Runtime) BeforeImportFacebookFriends() RuntimeBeforeImportFacebookFriendsFunction
- func (r *Runtime) BeforeImportSteamFriends() RuntimeBeforeImportSteamFriendsFunction
- func (r *Runtime) BeforeJoinGroup() RuntimeBeforeJoinGroupFunction
- func (r *Runtime) BeforeJoinTournament() RuntimeBeforeJoinTournamentFunction
- func (r *Runtime) BeforeKickGroupUsers() RuntimeBeforeKickGroupUsersFunction
- func (r *Runtime) BeforeLeaveGroup() RuntimeBeforeLeaveGroupFunction
- func (r *Runtime) BeforeLinkApple() RuntimeBeforeLinkAppleFunction
- func (r *Runtime) BeforeLinkCustom() RuntimeBeforeLinkCustomFunction
- func (r *Runtime) BeforeLinkDevice() RuntimeBeforeLinkDeviceFunction
- func (r *Runtime) BeforeLinkEmail() RuntimeBeforeLinkEmailFunction
- func (r *Runtime) BeforeLinkFacebook() RuntimeBeforeLinkFacebookFunction
- func (r *Runtime) BeforeLinkFacebookInstantGame() RuntimeBeforeLinkFacebookInstantGameFunction
- func (r *Runtime) BeforeLinkGameCenter() RuntimeBeforeLinkGameCenterFunction
- func (r *Runtime) BeforeLinkGoogle() RuntimeBeforeLinkGoogleFunction
- func (r *Runtime) BeforeLinkSteam() RuntimeBeforeLinkSteamFunction
- func (r *Runtime) BeforeListChannelMessages() RuntimeBeforeListChannelMessagesFunction
- func (r *Runtime) BeforeListFriends() RuntimeBeforeListFriendsFunction
- func (r *Runtime) BeforeListFriendsOfFriends() RuntimeBeforeListFriendsOfFriendsFunction
- func (r *Runtime) BeforeListGroupUsers() RuntimeBeforeListGroupUsersFunction
- func (r *Runtime) BeforeListGroups() RuntimeBeforeListGroupsFunction
- func (r *Runtime) BeforeListLeaderboardRecords() RuntimeBeforeListLeaderboardRecordsFunction
- func (r *Runtime) BeforeListLeaderboardRecordsAroundOwner() RuntimeBeforeListLeaderboardRecordsAroundOwnerFunction
- func (r *Runtime) BeforeListMatches() RuntimeBeforeListMatchesFunction
- func (r *Runtime) BeforeListNotifications() RuntimeBeforeListNotificationsFunction
- func (r *Runtime) BeforeListStorageObjects() RuntimeBeforeListStorageObjectsFunction
- func (r *Runtime) BeforeListSubscriptions() RuntimeBeforeListSubscriptionsFunction
- func (r *Runtime) BeforeListTournamentRecords() RuntimeBeforeListTournamentRecordsFunction
- func (r *Runtime) BeforeListTournamentRecordsAroundOwner() RuntimeBeforeListTournamentRecordsAroundOwnerFunction
- func (r *Runtime) BeforeListTournaments() RuntimeBeforeListTournamentsFunction
- func (r *Runtime) BeforeListUserGroups() RuntimeBeforeListUserGroupsFunction
- func (r *Runtime) BeforePromoteGroupUsers() RuntimeBeforePromoteGroupUsersFunction
- func (r *Runtime) BeforeReadStorageObjects() RuntimeBeforeReadStorageObjectsFunction
- func (r *Runtime) BeforeRt(id string) RuntimeBeforeRtFunction
- func (r *Runtime) BeforeSessionLogout() RuntimeBeforeSessionLogoutFunction
- func (r *Runtime) BeforeSessionRefresh() RuntimeBeforeSessionRefreshFunction
- func (r *Runtime) BeforeUnlinkApple() RuntimeBeforeUnlinkAppleFunction
- func (r *Runtime) BeforeUnlinkCustom() RuntimeBeforeUnlinkCustomFunction
- func (r *Runtime) BeforeUnlinkDevice() RuntimeBeforeUnlinkDeviceFunction
- func (r *Runtime) BeforeUnlinkEmail() RuntimeBeforeUnlinkEmailFunction
- func (r *Runtime) BeforeUnlinkFacebook() RuntimeBeforeUnlinkFacebookFunction
- func (r *Runtime) BeforeUnlinkFacebookInstantGame() RuntimeBeforeUnlinkFacebookInstantGameFunction
- func (r *Runtime) BeforeUnlinkGameCenter() RuntimeBeforeUnlinkGameCenterFunction
- func (r *Runtime) BeforeUnlinkGoogle() RuntimeBeforeUnlinkGoogleFunction
- func (r *Runtime) BeforeUnlinkSteam() RuntimeBeforeUnlinkSteamFunction
- func (r *Runtime) BeforeUpdateAccount() RuntimeBeforeUpdateAccountFunction
- func (r *Runtime) BeforeUpdateGroup() RuntimeBeforeUpdateGroupFunction
- func (r *Runtime) BeforeValidatePurchaseApple() RuntimeBeforeValidatePurchaseAppleFunction
- func (r *Runtime) BeforeValidatePurchaseFacebookInstant() RuntimeBeforeValidatePurchaseFacebookInstantFunction
- func (r *Runtime) BeforeValidatePurchaseGoogle() RuntimeBeforeValidatePurchaseGoogleFunction
- func (r *Runtime) BeforeValidatePurchaseHuawei() RuntimeBeforeValidatePurchaseHuaweiFunction
- func (r *Runtime) BeforeValidateSubscriptionApple() RuntimeBeforeValidateSubscriptionAppleFunction
- func (r *Runtime) BeforeValidateSubscriptionGoogle() RuntimeBeforeValidateSubscriptionGoogleFunction
- func (r *Runtime) BeforeWriteLeaderboardRecord() RuntimeBeforeWriteLeaderboardRecordFunction
- func (r *Runtime) BeforeWriteStorageObjects() RuntimeBeforeWriteStorageObjectsFunction
- func (r *Runtime) BeforeWriteTournamentRecord() RuntimeBeforeWriteTournamentRecordFunction
- func (r *Runtime) Event() RuntimeEventCustomFunction
- func (r *Runtime) EventSessionEnd() RuntimeEventSessionEndFunction
- func (r *Runtime) EventSessionStart() RuntimeEventSessionStartFunction
- func (r *Runtime) LeaderboardReset() RuntimeLeaderboardResetFunction
- func (r *Runtime) MatchCreateFunction() RuntimeMatchCreateFunction
- func (r *Runtime) MatchmakerMatched() RuntimeMatchmakerMatchedFunction
- func (r *Runtime) PurchaseNotificationApple() RuntimePurchaseNotificationAppleFunction
- func (r *Runtime) PurchaseNotificationGoogle() RuntimePurchaseNotificationGoogleFunction
- func (r *Runtime) Rpc(id string) RuntimeRpcFunction
- func (r *Runtime) Shutdown() RuntimeShutdownFunction
- func (r *Runtime) StorageIndexFilterFunction(indexName string) RuntimeStorageIndexFilterFunction
- func (r *Runtime) SubscriptionNotificationApple() RuntimeSubscriptionNotificationAppleFunction
- func (r *Runtime) SubscriptionNotificationGoogle() RuntimeSubscriptionNotificationGoogleFunction
- func (r *Runtime) TournamentEnd() RuntimeTournamentEndFunction
- func (r *Runtime) TournamentReset() RuntimeTournamentResetFunction
- type RuntimeAfterAddFriendsFunction
- type RuntimeAfterAddGroupUsersFunction
- type RuntimeAfterAuthenticateAppleFunction
- type RuntimeAfterAuthenticateCustomFunction
- type RuntimeAfterAuthenticateDeviceFunction
- type RuntimeAfterAuthenticateEmailFunction
- type RuntimeAfterAuthenticateFacebookFunction
- type RuntimeAfterAuthenticateFacebookInstantGameFunction
- type RuntimeAfterAuthenticateGameCenterFunction
- type RuntimeAfterAuthenticateGoogleFunction
- type RuntimeAfterAuthenticateSteamFunction
- type RuntimeAfterBanGroupUsersFunction
- type RuntimeAfterBlockFriendsFunction
- type RuntimeAfterCreateGroupFunction
- type RuntimeAfterDeleteAccountFunction
- type RuntimeAfterDeleteFriendsFunction
- type RuntimeAfterDeleteGroupFunction
- type RuntimeAfterDeleteLeaderboardRecordFunction
- type RuntimeAfterDeleteNotificationsFunction
- type RuntimeAfterDeleteStorageObjectsFunction
- type RuntimeAfterDeleteTournamentRecordFunction
- type RuntimeAfterDemoteGroupUsersFunction
- type RuntimeAfterEventFunction
- type RuntimeAfterGetAccountFunction
- type RuntimeAfterGetMatchmakerStatsFunction
- type RuntimeAfterGetSubscriptionFunction
- type RuntimeAfterGetUsersFunction
- type RuntimeAfterImportFacebookFriendsFunction
- type RuntimeAfterImportSteamFriendsFunction
- type RuntimeAfterJoinGroupFunction
- type RuntimeAfterJoinTournamentFunction
- type RuntimeAfterKickGroupUsersFunction
- type RuntimeAfterLeaveGroupFunction
- type RuntimeAfterLinkAppleFunction
- type RuntimeAfterLinkCustomFunction
- type RuntimeAfterLinkDeviceFunction
- type RuntimeAfterLinkEmailFunction
- type RuntimeAfterLinkFacebookFunction
- type RuntimeAfterLinkFacebookInstantGameFunction
- type RuntimeAfterLinkGameCenterFunction
- type RuntimeAfterLinkGoogleFunction
- type RuntimeAfterLinkSteamFunction
- type RuntimeAfterListChannelMessagesFunction
- type RuntimeAfterListFriendsFunction
- type RuntimeAfterListFriendsOfFriendsFunction
- type RuntimeAfterListGroupUsersFunction
- type RuntimeAfterListGroupsFunction
- type RuntimeAfterListLeaderboardRecordsAroundOwnerFunction
- type RuntimeAfterListLeaderboardRecordsFunction
- type RuntimeAfterListMatchesFunction
- type RuntimeAfterListNotificationsFunction
- type RuntimeAfterListStorageObjectsFunction
- type RuntimeAfterListSubscriptionsFunction
- type RuntimeAfterListTournamentRecordsAroundOwnerFunction
- type RuntimeAfterListTournamentRecordsFunction
- type RuntimeAfterListTournamentsFunction
- type RuntimeAfterListUserGroupsFunction
- type RuntimeAfterPromoteGroupUsersFunction
- type RuntimeAfterReadStorageObjectsFunction
- type RuntimeAfterReqFunctions
- type RuntimeAfterRtFunction
- type RuntimeAfterSessionLogoutFunction
- type RuntimeAfterSessionRefreshFunction
- type RuntimeAfterUnlinkAppleFunction
- type RuntimeAfterUnlinkCustomFunction
- type RuntimeAfterUnlinkDeviceFunction
- type RuntimeAfterUnlinkEmailFunction
- type RuntimeAfterUnlinkFacebookFunction
- type RuntimeAfterUnlinkFacebookInstantGameFunction
- type RuntimeAfterUnlinkGameCenterFunction
- type RuntimeAfterUnlinkGoogleFunction
- type RuntimeAfterUnlinkSteamFunction
- type RuntimeAfterUpdateAccountFunction
- type RuntimeAfterUpdateGroupFunction
- type RuntimeAfterValidatePurchaseAppleFunction
- type RuntimeAfterValidatePurchaseFacebookInstantFunction
- type RuntimeAfterValidatePurchaseGoogleFunction
- type RuntimeAfterValidatePurchaseHuaweiFunction
- type RuntimeAfterValidateSubscriptionAppleFunction
- type RuntimeAfterValidateSubscriptionGoogleFunction
- type RuntimeAfterWriteLeaderboardRecordFunction
- type RuntimeAfterWriteStorageObjectsFunction
- type RuntimeAfterWriteTournamentRecordFunction
- type RuntimeBeforeAddFriendsFunction
- type RuntimeBeforeAddGroupUsersFunction
- type RuntimeBeforeAuthenticateAppleFunction
- type RuntimeBeforeAuthenticateCustomFunction
- type RuntimeBeforeAuthenticateDeviceFunction
- type RuntimeBeforeAuthenticateEmailFunction
- type RuntimeBeforeAuthenticateFacebookFunction
- type RuntimeBeforeAuthenticateFacebookInstantGameFunction
- type RuntimeBeforeAuthenticateGameCenterFunction
- type RuntimeBeforeAuthenticateGoogleFunction
- type RuntimeBeforeAuthenticateSteamFunction
- type RuntimeBeforeBanGroupUsersFunction
- type RuntimeBeforeBlockFriendsFunction
- type RuntimeBeforeCreateGroupFunction
- type RuntimeBeforeDeleteAccountFunction
- type RuntimeBeforeDeleteFriendsFunction
- type RuntimeBeforeDeleteGroupFunction
- type RuntimeBeforeDeleteLeaderboardRecordFunction
- type RuntimeBeforeDeleteNotificationsFunction
- type RuntimeBeforeDeleteStorageObjectsFunction
- type RuntimeBeforeDeleteTournamentRecordFunction
- type RuntimeBeforeDemoteGroupUsersFunction
- type RuntimeBeforeEventFunction
- type RuntimeBeforeGetAccountFunction
- type RuntimeBeforeGetMatchmakerStatsFunction
- type RuntimeBeforeGetSubscriptionFunction
- type RuntimeBeforeGetUsersFunction
- type RuntimeBeforeImportFacebookFriendsFunction
- type RuntimeBeforeImportSteamFriendsFunction
- type RuntimeBeforeJoinGroupFunction
- type RuntimeBeforeJoinTournamentFunction
- type RuntimeBeforeKickGroupUsersFunction
- type RuntimeBeforeLeaveGroupFunction
- type RuntimeBeforeLinkAppleFunction
- type RuntimeBeforeLinkCustomFunction
- type RuntimeBeforeLinkDeviceFunction
- type RuntimeBeforeLinkEmailFunction
- type RuntimeBeforeLinkFacebookFunction
- type RuntimeBeforeLinkFacebookInstantGameFunction
- type RuntimeBeforeLinkGameCenterFunction
- type RuntimeBeforeLinkGoogleFunction
- type RuntimeBeforeLinkSteamFunction
- type RuntimeBeforeListChannelMessagesFunction
- type RuntimeBeforeListFriendsFunction
- type RuntimeBeforeListFriendsOfFriendsFunction
- type RuntimeBeforeListGroupUsersFunction
- type RuntimeBeforeListGroupsFunction
- type RuntimeBeforeListLeaderboardRecordsAroundOwnerFunction
- type RuntimeBeforeListLeaderboardRecordsFunction
- type RuntimeBeforeListMatchesFunction
- type RuntimeBeforeListNotificationsFunction
- type RuntimeBeforeListStorageObjectsFunction
- type RuntimeBeforeListSubscriptionsFunction
- type RuntimeBeforeListTournamentRecordsAroundOwnerFunction
- type RuntimeBeforeListTournamentRecordsFunction
- type RuntimeBeforeListTournamentsFunction
- type RuntimeBeforeListUserGroupsFunction
- type RuntimeBeforePromoteGroupUsersFunction
- type RuntimeBeforeReadStorageObjectsFunction
- type RuntimeBeforeReqFunctions
- type RuntimeBeforeRtFunction
- type RuntimeBeforeSessionLogoutFunction
- type RuntimeBeforeSessionRefreshFunction
- type RuntimeBeforeUnlinkAppleFunction
- type RuntimeBeforeUnlinkCustomFunction
- type RuntimeBeforeUnlinkDeviceFunction
- type RuntimeBeforeUnlinkEmailFunction
- type RuntimeBeforeUnlinkFacebookFunction
- type RuntimeBeforeUnlinkFacebookInstantGameFunction
- type RuntimeBeforeUnlinkGameCenterFunction
- type RuntimeBeforeUnlinkGoogleFunction
- type RuntimeBeforeUnlinkSteamFunction
- type RuntimeBeforeUpdateAccountFunction
- type RuntimeBeforeUpdateGroupFunction
- type RuntimeBeforeValidatePurchaseAppleFunction
- type RuntimeBeforeValidatePurchaseFacebookInstantFunction
- type RuntimeBeforeValidatePurchaseGoogleFunction
- type RuntimeBeforeValidatePurchaseHuaweiFunction
- type RuntimeBeforeValidateSubscriptionAppleFunction
- type RuntimeBeforeValidateSubscriptionGoogleFunction
- type RuntimeBeforeWriteLeaderboardRecordFunction
- type RuntimeBeforeWriteStorageObjectsFunction
- type RuntimeBeforeWriteTournamentRecordFunction
- type RuntimeConfig
- func (r *RuntimeConfig) Clone() *RuntimeConfig
- func (r *RuntimeConfig) GetEnv() []string
- func (r *RuntimeConfig) GetHTTPKey() string
- func (r *RuntimeConfig) GetLuaCallStackSize() int
- func (r *RuntimeConfig) GetLuaMaxCount() int
- func (r *RuntimeConfig) GetLuaMinCount() int
- func (r *RuntimeConfig) GetLuaReadOnlyGlobals() bool
- func (r *RuntimeConfig) GetLuaRegistrySize() int
- type RuntimeConfigClone
- func (c *RuntimeConfigClone) GetGoogleAuth() runtime.GoogleAuthConfig
- func (c *RuntimeConfigClone) GetIAP() runtime.IAPConfig
- func (c *RuntimeConfigClone) GetLogger() runtime.LoggerConfig
- func (c *RuntimeConfigClone) GetName() string
- func (c *RuntimeConfigClone) GetRuntime() runtime.RuntimeConfig
- func (c *RuntimeConfigClone) GetSatori() runtime.SatoriConfig
- func (c *RuntimeConfigClone) GetSession() runtime.SessionConfig
- func (c *RuntimeConfigClone) GetShutdownGraceSec() int
- func (c *RuntimeConfigClone) GetSocial() runtime.SocialConfig
- func (c *RuntimeConfigClone) GetSocket() runtime.SocketConfig
- type RuntimeEventCustomFunction
- type RuntimeEventFunction
- type RuntimeEventFunctions
- type RuntimeEventQueue
- type RuntimeEventSessionEndFunction
- type RuntimeEventSessionStartFunction
- type RuntimeExecutionMode
- type RuntimeGoInitializer
- func (ri *RuntimeGoInitializer) GetConfig() (runtime.Config, error)
- func (ri *RuntimeGoInitializer) RegisterAfterAddFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAddGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateFacebookInstantGame(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterBanGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterBlockFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterCreateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteNotifications(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDeleteTournamentRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterDemoteGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterEvent(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterGetAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterGetMatchmakerStats(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterGetSubscription(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterGetUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterImportFacebookFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterImportSteamFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterJoinGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterJoinTournament(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterKickGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLeaveGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkFacebookInstantGame(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterLinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListChannelMessages(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListFriendsOfFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListLeaderboardRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListLeaderboardRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListMatches(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListNotifications(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListSubscriptions(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListTournamentRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListTournamentRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListTournaments(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterListUserGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterPromoteGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterReadStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterRt(id string, ...) error
- func (ri *RuntimeGoInitializer) RegisterAfterSessionLogout(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterSessionRefresh(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkFacebookInstantGame(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUnlinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUpdateAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterUpdateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterValidatePurchaseApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterValidatePurchaseFacebookInstant(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterValidatePurchaseGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterValidatePurchaseHuawei(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterValidateSubscriptionApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterValidateSubscriptionGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterWriteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterWriteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterAfterWriteTournamentRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAddFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAddGroupUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateApple(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateCustom(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateDevice(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateEmail(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateFacebook(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateFacebookInstantGame(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateGameCenter(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateGoogle(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateSteam(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeBanGroupUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeBlockFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeCreateGroup(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteGroup(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteLeaderboardRecord(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteNotifications(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteStorageObjects(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDeleteTournamentRecord(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeDemoteGroupUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeEvent(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeGetAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterBeforeGetMatchmakerStats(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterBeforeGetSubscription(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeGetUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeImportFacebookFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeImportSteamFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeJoinGroup(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeJoinTournament(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeKickGroupUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLeaveGroup(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkApple(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkCustom(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkDevice(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkEmail(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkFacebook(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkFacebookInstantGame(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkGameCenter(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkGoogle(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeLinkSteam(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListChannelMessages(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListFriendsOfFriends(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListGroupUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListGroups(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListLeaderboardRecords(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListLeaderboardRecordsAroundOwner(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListMatches(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListNotifications(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListStorageObjects(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListSubscriptions(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListTournamentRecords(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListTournamentRecordsAroundOwner(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListTournaments(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeListUserGroups(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforePromoteGroupUsers(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeReadStorageObjects(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeRt(id string, ...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeSessionLogout(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeSessionRefresh(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkApple(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkCustom(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkDevice(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkEmail(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkFacebook(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkFacebookInstantGame(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkGameCenter(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkGoogle(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkSteam(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUpdateAccount(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeUpdateGroup(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeValidatePurchaseApple(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeValidatePurchaseFacebookInstant(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeValidatePurchaseGoogle(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeValidatePurchaseHuawei(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeValidateSubscriptionApple(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeValidateSubscriptionGoogle(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeWriteLeaderboardRecord(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeWriteStorageObjects(...) error
- func (ri *RuntimeGoInitializer) RegisterBeforeWriteTournamentRecord(...) error
- func (ri *RuntimeGoInitializer) RegisterEvent(fn func(ctx context.Context, logger runtime.Logger, evt *api.Event)) error
- func (ri *RuntimeGoInitializer) RegisterEventSessionEnd(fn func(ctx context.Context, logger runtime.Logger, evt *api.Event)) error
- func (ri *RuntimeGoInitializer) RegisterEventSessionStart(fn func(ctx context.Context, logger runtime.Logger, evt *api.Event)) error
- func (ri *RuntimeGoInitializer) RegisterFleetManager(fleetManager runtime.FleetManagerInitializer) error
- func (ri *RuntimeGoInitializer) RegisterHttp(pathPattern string, handler func(http.ResponseWriter, *http.Request), ...) error
- func (ri *RuntimeGoInitializer) RegisterLeaderboardReset(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterMatch(name string, ...) error
- func (ri *RuntimeGoInitializer) RegisterMatchmakerMatched(...) error
- func (ri *RuntimeGoInitializer) RegisterMatchmakerOverride(...) error
- func (ri *RuntimeGoInitializer) RegisterPurchaseNotificationApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterPurchaseNotificationGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterRpc(id string, ...) error
- func (ri *RuntimeGoInitializer) RegisterShutdown(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...)) error
- func (ri *RuntimeGoInitializer) RegisterStorageIndex(name, collection, key string, fields []string, sortableFields []string, ...) error
- func (ri *RuntimeGoInitializer) RegisterStorageIndexFilter(indexName string, ...) error
- func (ri *RuntimeGoInitializer) RegisterSubscriptionNotificationApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterSubscriptionNotificationGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterTournamentEnd(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- func (ri *RuntimeGoInitializer) RegisterTournamentReset(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, ...) error) error
- type RuntimeGoLogger
- func (l *RuntimeGoLogger) Debug(format string, v ...interface{})
- func (l *RuntimeGoLogger) Error(format string, v ...interface{})
- func (l *RuntimeGoLogger) Fields() map[string]interface{}
- func (l *RuntimeGoLogger) Info(format string, v ...interface{})
- func (l *RuntimeGoLogger) Warn(format string, v ...interface{})
- func (l *RuntimeGoLogger) WithField(key string, v interface{}) nkruntime.Logger
- func (l *RuntimeGoLogger) WithFields(fields map[string]interface{}) nkruntime.Logger
- type RuntimeGoMatchCore
- func (r *RuntimeGoMatchCore) BroadcastMessage(opCode int64, data []byte, presences []runtime.Presence, ...) error
- func (r *RuntimeGoMatchCore) BroadcastMessageDeferred(opCode int64, data []byte, presences []runtime.Presence, ...) error
- func (r *RuntimeGoMatchCore) Cancel()
- func (r *RuntimeGoMatchCore) Cleanup()
- func (r *RuntimeGoMatchCore) CreateTime() int64
- func (r *RuntimeGoMatchCore) GetState(state interface{}) (string, error)
- func (r *RuntimeGoMatchCore) HandlerName() string
- func (r *RuntimeGoMatchCore) Label() string
- func (r *RuntimeGoMatchCore) MatchInit(presenceList *MatchPresenceList, ...) (interface{}, int, error)
- func (r *RuntimeGoMatchCore) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error)
- func (r *RuntimeGoMatchCore) MatchJoinAttempt(tick int64, state interface{}, userID, sessionID uuid.UUID, username string, ...) (interface{}, bool, string, error)
- func (r *RuntimeGoMatchCore) MatchKick(presences []runtime.Presence) error
- func (r *RuntimeGoMatchCore) MatchLabelUpdate(label string) error
- func (r *RuntimeGoMatchCore) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error)
- func (r *RuntimeGoMatchCore) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error)
- func (r *RuntimeGoMatchCore) MatchSignal(tick int64, state interface{}, data string) (interface{}, string, error)
- func (r *RuntimeGoMatchCore) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error)
- func (r *RuntimeGoMatchCore) TickRate() int
- type RuntimeGoNakamaModule
- func (n *RuntimeGoNakamaModule) AccountDeleteId(ctx context.Context, userID string, recorded bool) error
- func (n *RuntimeGoNakamaModule) AccountExportId(ctx context.Context, userID string) (string, error)
- func (n *RuntimeGoNakamaModule) AccountGetId(ctx context.Context, userID string) (*api.Account, error)
- func (n *RuntimeGoNakamaModule) AccountUpdateId(ctx context.Context, userID, username string, metadata map[string]interface{}, ...) error
- func (n *RuntimeGoNakamaModule) AccountsGetId(ctx context.Context, userIDs []string) ([]*api.Account, error)
- func (n *RuntimeGoNakamaModule) AuthenticateApple(ctx context.Context, token, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateCustom(ctx context.Context, id, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateDevice(ctx context.Context, id, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateEmail(ctx context.Context, email, password, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateFacebook(ctx context.Context, token string, importFriends bool, username string, ...) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateFacebookInstantGame(ctx context.Context, signedPlayerInfo string, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateGameCenter(ctx context.Context, playerID, bundleID string, timestamp int64, ...) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateGoogle(ctx context.Context, token, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateSteam(ctx context.Context, token, username string, create bool) (string, string, bool, error)
- func (n *RuntimeGoNakamaModule) AuthenticateTokenGenerate(userID, username string, exp int64, vars map[string]string) (string, int64, error)
- func (n *RuntimeGoNakamaModule) ChannelIdBuild(ctx context.Context, senderId, target string, chanType runtime.ChannelType) (string, error)
- func (n *RuntimeGoNakamaModule) ChannelMessageRemove(ctx context.Context, channelId, messageId string, ...) (*rtapi.ChannelMessageAck, error)
- func (n *RuntimeGoNakamaModule) ChannelMessageSend(ctx context.Context, channelId string, content map[string]interface{}, ...) (*rtapi.ChannelMessageAck, error)
- func (n *RuntimeGoNakamaModule) ChannelMessageUpdate(ctx context.Context, channelId, messageId string, ...) (*rtapi.ChannelMessageAck, error)
- func (n *RuntimeGoNakamaModule) ChannelMessagesList(ctx context.Context, channelId string, limit int, forward bool, cursor string) ([]*api.ChannelMessage, string, string, error)
- func (n *RuntimeGoNakamaModule) CronNext(expression string, timestamp int64) (int64, error)
- func (n *RuntimeGoNakamaModule) CronPrev(expression string, timestamp int64) (int64, error)
- func (n *RuntimeGoNakamaModule) Event(ctx context.Context, evt *api.Event) error
- func (n *RuntimeGoNakamaModule) FriendsAdd(ctx context.Context, userID string, username string, ids []string, ...) error
- func (n *RuntimeGoNakamaModule) FriendsBlock(ctx context.Context, userID string, username string, ids []string, ...) error
- func (n *RuntimeGoNakamaModule) FriendsDelete(ctx context.Context, userID string, username string, ids []string, ...) error
- func (n *RuntimeGoNakamaModule) FriendsList(ctx context.Context, userID string, limit int, state *int, cursor string) ([]*api.Friend, string, error)
- func (n *RuntimeGoNakamaModule) FriendsOfFriendsList(ctx context.Context, userID string, limit int, cursor string) ([]*api.FriendsOfFriendsList_FriendOfFriend, string, error)
- func (n *RuntimeGoNakamaModule) GetFleetManager() runtime.FleetManager
- func (n *RuntimeGoNakamaModule) GetSatori() runtime.Satori
- func (n *RuntimeGoNakamaModule) GroupCreate(ctx context.Context, ...) (*api.Group, error)
- func (n *RuntimeGoNakamaModule) GroupDelete(ctx context.Context, id string) error
- func (n *RuntimeGoNakamaModule) GroupUpdate(ctx context.Context, ...) error
- func (n *RuntimeGoNakamaModule) GroupUserJoin(ctx context.Context, groupID, userID, username string) error
- func (n *RuntimeGoNakamaModule) GroupUserLeave(ctx context.Context, groupID, userID, username string) error
- func (n *RuntimeGoNakamaModule) GroupUsersAdd(ctx context.Context, callerID, groupID string, userIDs []string) error
- func (n *RuntimeGoNakamaModule) GroupUsersBan(ctx context.Context, callerID, groupID string, userIDs []string) error
- func (n *RuntimeGoNakamaModule) GroupUsersDemote(ctx context.Context, callerID, groupID string, userIDs []string) error
- func (n *RuntimeGoNakamaModule) GroupUsersKick(ctx context.Context, callerID, groupID string, userIDs []string) error
- func (n *RuntimeGoNakamaModule) GroupUsersList(ctx context.Context, id string, limit int, state *int, cursor string) ([]*api.GroupUserList_GroupUser, string, error)
- func (n *RuntimeGoNakamaModule) GroupUsersPromote(ctx context.Context, callerID, groupID string, userIDs []string) error
- func (n *RuntimeGoNakamaModule) GroupsGetId(ctx context.Context, groupIDs []string) ([]*api.Group, error)
- func (n *RuntimeGoNakamaModule) GroupsGetRandom(ctx context.Context, count int) ([]*api.Group, error)
- func (n *RuntimeGoNakamaModule) GroupsList(ctx context.Context, name, langTag string, members *int, open *bool, limit int, ...) ([]*api.Group, string, error)
- func (n *RuntimeGoNakamaModule) LeaderboardCreate(ctx context.Context, id string, authoritative bool, ...) error
- func (n *RuntimeGoNakamaModule) LeaderboardDelete(ctx context.Context, id string) error
- func (n *RuntimeGoNakamaModule) LeaderboardList(limit int, cursor string) (*api.LeaderboardList, error)
- func (n *RuntimeGoNakamaModule) LeaderboardRanksDisable(ctx context.Context, id string) error
- func (n *RuntimeGoNakamaModule) LeaderboardRecordDelete(ctx context.Context, id, ownerID string) error
- func (n *RuntimeGoNakamaModule) LeaderboardRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, ...) (*api.LeaderboardRecord, error)
- func (n *RuntimeGoNakamaModule) LeaderboardRecordsHaystack(ctx context.Context, id, ownerID string, limit int, cursor string, ...) (*api.LeaderboardRecordList, error)
- func (n *RuntimeGoNakamaModule) LeaderboardRecordsList(ctx context.Context, id string, ownerIDs []string, limit int, cursor string, ...) ([]*api.LeaderboardRecord, []*api.LeaderboardRecord, string, string, error)
- func (n *RuntimeGoNakamaModule) LeaderboardRecordsListCursorFromRank(id string, rank, expiry int64) (string, error)
- func (n *RuntimeGoNakamaModule) LeaderboardsGetId(ctx context.Context, IDs []string) ([]*api.Leaderboard, error)
- func (n *RuntimeGoNakamaModule) LinkApple(ctx context.Context, userID, token string) error
- func (n *RuntimeGoNakamaModule) LinkCustom(ctx context.Context, userID, customID string) error
- func (n *RuntimeGoNakamaModule) LinkDevice(ctx context.Context, userID, deviceID string) error
- func (n *RuntimeGoNakamaModule) LinkEmail(ctx context.Context, userID, email, password string) error
- func (n *RuntimeGoNakamaModule) LinkFacebook(ctx context.Context, userID, username, token string, importFriends bool) error
- func (n *RuntimeGoNakamaModule) LinkFacebookInstantGame(ctx context.Context, userID, signedPlayerInfo string) error
- func (n *RuntimeGoNakamaModule) LinkGameCenter(ctx context.Context, userID, playerID, bundleID string, timestamp int64, ...) error
- func (n *RuntimeGoNakamaModule) LinkGoogle(ctx context.Context, userID, token string) error
- func (n *RuntimeGoNakamaModule) LinkSteam(ctx context.Context, userID, username, token string, importFriends bool) error
- func (n *RuntimeGoNakamaModule) MatchCreate(ctx context.Context, module string, params map[string]interface{}) (string, error)
- func (n *RuntimeGoNakamaModule) MatchGet(ctx context.Context, id string) (*api.Match, error)
- func (n *RuntimeGoNakamaModule) MatchList(ctx context.Context, limit int, authoritative bool, label string, ...) ([]*api.Match, error)
- func (n *RuntimeGoNakamaModule) MatchSignal(ctx context.Context, id string, data string) (string, error)
- func (n *RuntimeGoNakamaModule) MetricsCounterAdd(name string, tags map[string]string, delta int64)
- func (n *RuntimeGoNakamaModule) MetricsGaugeSet(name string, tags map[string]string, value float64)
- func (n *RuntimeGoNakamaModule) MetricsTimerRecord(name string, tags map[string]string, value time.Duration)
- func (n *RuntimeGoNakamaModule) MultiUpdate(ctx context.Context, accountUpdates []*runtime.AccountUpdate, ...) ([]*api.StorageObjectAck, []*runtime.WalletUpdateResult, error)
- func (n *RuntimeGoNakamaModule) NotificationSend(ctx context.Context, userID, subject string, content map[string]interface{}, ...) error
- func (n *RuntimeGoNakamaModule) NotificationSendAll(ctx context.Context, subject string, content map[string]interface{}, code int, ...) error
- func (n *RuntimeGoNakamaModule) NotificationsDelete(ctx context.Context, notifications []*runtime.NotificationDelete) error
- func (n *RuntimeGoNakamaModule) NotificationsDeleteId(ctx context.Context, userID string, ids []string) error
- func (n *RuntimeGoNakamaModule) NotificationsGetId(ctx context.Context, userID string, ids []string) ([]*runtime.Notification, error)
- func (n *RuntimeGoNakamaModule) NotificationsList(ctx context.Context, userID string, limit int, cursor string) ([]*api.Notification, string, error)
- func (n *RuntimeGoNakamaModule) NotificationsSend(ctx context.Context, notifications []*runtime.NotificationSend) error
- func (n *RuntimeGoNakamaModule) NotificationsUpdate(ctx context.Context, updates ...runtime.NotificationUpdate) error
- func (n *RuntimeGoNakamaModule) PurchaseGetByTransactionId(ctx context.Context, transactionID string) (*api.ValidatedPurchase, error)
- func (n *RuntimeGoNakamaModule) PurchaseValidateApple(ctx context.Context, userID, receipt string, persist bool, ...) (*api.ValidatePurchaseResponse, error)
- func (n *RuntimeGoNakamaModule) PurchaseValidateFacebookInstant(ctx context.Context, userID, signedRequest string, persist bool) (*api.ValidatePurchaseResponse, error)
- func (n *RuntimeGoNakamaModule) PurchaseValidateGoogle(ctx context.Context, userID, receipt string, persist bool, overrides ...) (*api.ValidatePurchaseResponse, error)
- func (n *RuntimeGoNakamaModule) PurchaseValidateHuawei(ctx context.Context, userID, signature, inAppPurchaseData string, persist bool) (*api.ValidatePurchaseResponse, error)
- func (n *RuntimeGoNakamaModule) PurchasesList(ctx context.Context, userID string, limit int, cursor string) (*api.PurchaseList, error)
- func (n *RuntimeGoNakamaModule) ReadFile(relPath string) (*os.File, error)
- func (n *RuntimeGoNakamaModule) SessionDisconnect(ctx context.Context, sessionID string, reason ...runtime.PresenceReason) error
- func (n *RuntimeGoNakamaModule) SessionLogout(userID, token, refreshToken string) error
- func (n *RuntimeGoNakamaModule) SetEventFn(fn RuntimeEventCustomFunction)
- func (n *RuntimeGoNakamaModule) StatusFollow(sessionID string, userIDs []string) error
- func (n *RuntimeGoNakamaModule) StatusUnfollow(sessionID string, userIDs []string) error
- func (n *RuntimeGoNakamaModule) StorageDelete(ctx context.Context, deletes []*runtime.StorageDelete) error
- func (n *RuntimeGoNakamaModule) StorageIndexList(ctx context.Context, callerID, indexName, query string, limit int, ...) (*api.StorageObjects, string, error)
- func (n *RuntimeGoNakamaModule) StorageList(ctx context.Context, callerID, userID, collection string, limit int, ...) ([]*api.StorageObject, string, error)
- func (n *RuntimeGoNakamaModule) StorageRead(ctx context.Context, reads []*runtime.StorageRead) ([]*api.StorageObject, error)
- func (n *RuntimeGoNakamaModule) StorageWrite(ctx context.Context, writes []*runtime.StorageWrite) ([]*api.StorageObjectAck, error)
- func (n *RuntimeGoNakamaModule) StreamClose(mode uint8, subject, subcontext, label string) error
- func (n *RuntimeGoNakamaModule) StreamCount(mode uint8, subject, subcontext, label string) (int, error)
- func (n *RuntimeGoNakamaModule) StreamSend(mode uint8, subject, subcontext, label, data string, ...) error
- func (n *RuntimeGoNakamaModule) StreamSendRaw(mode uint8, subject, subcontext, label string, msg *rtapi.Envelope, ...) error
- func (n *RuntimeGoNakamaModule) StreamUserGet(mode uint8, subject, subcontext, label, userID, sessionID string) (runtime.PresenceMeta, error)
- func (n *RuntimeGoNakamaModule) StreamUserJoin(mode uint8, subject, subcontext, label, userID, sessionID string, ...) (bool, error)
- func (n *RuntimeGoNakamaModule) StreamUserKick(mode uint8, subject, subcontext, label string, presence runtime.Presence) error
- func (n *RuntimeGoNakamaModule) StreamUserLeave(mode uint8, subject, subcontext, label, userID, sessionID string) error
- func (n *RuntimeGoNakamaModule) StreamUserList(mode uint8, subject, subcontext, label string, ...) ([]runtime.Presence, error)
- func (n *RuntimeGoNakamaModule) StreamUserUpdate(mode uint8, subject, subcontext, label, userID, sessionID string, ...) error
- func (n *RuntimeGoNakamaModule) SubscriptionGetByProductId(ctx context.Context, userID, productID string) (*api.ValidatedSubscription, error)
- func (n *RuntimeGoNakamaModule) SubscriptionValidateApple(ctx context.Context, userID, receipt string, persist bool, ...) (*api.ValidateSubscriptionResponse, error)
- func (n *RuntimeGoNakamaModule) SubscriptionValidateGoogle(ctx context.Context, userID, receipt string, persist bool, overrides ...) (*api.ValidateSubscriptionResponse, error)
- func (n *RuntimeGoNakamaModule) SubscriptionsList(ctx context.Context, userID string, limit int, cursor string) (*api.SubscriptionList, error)
- func (n *RuntimeGoNakamaModule) TournamentAddAttempt(ctx context.Context, id, ownerID string, count int) error
- func (n *RuntimeGoNakamaModule) TournamentCreate(ctx context.Context, id string, authoritative bool, ...) error
- func (n *RuntimeGoNakamaModule) TournamentDelete(ctx context.Context, id string) error
- func (n *RuntimeGoNakamaModule) TournamentJoin(ctx context.Context, id, ownerID, username string) error
- func (n *RuntimeGoNakamaModule) TournamentList(ctx context.Context, categoryStart, categoryEnd, startTime, endTime, limit int, ...) (*api.TournamentList, error)
- func (n *RuntimeGoNakamaModule) TournamentRanksDisable(ctx context.Context, id string) error
- func (n *RuntimeGoNakamaModule) TournamentRecordDelete(ctx context.Context, id, ownerID string) error
- func (n *RuntimeGoNakamaModule) TournamentRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, ...) (*api.LeaderboardRecord, error)
- func (n *RuntimeGoNakamaModule) TournamentRecordsHaystack(ctx context.Context, id, ownerID string, limit int, cursor string, ...) (*api.TournamentRecordList, error)
- func (n *RuntimeGoNakamaModule) TournamentRecordsList(ctx context.Context, tournamentId string, ownerIDs []string, limit int, ...) ([]*api.LeaderboardRecord, []*api.LeaderboardRecord, string, string, error)
- func (n *RuntimeGoNakamaModule) TournamentsGetId(ctx context.Context, tournamentIDs []string) ([]*api.Tournament, error)
- func (n *RuntimeGoNakamaModule) UnlinkApple(ctx context.Context, userID, token string) error
- func (n *RuntimeGoNakamaModule) UnlinkCustom(ctx context.Context, userID, customID string) error
- func (n *RuntimeGoNakamaModule) UnlinkDevice(ctx context.Context, userID, deviceID string) error
- func (n *RuntimeGoNakamaModule) UnlinkEmail(ctx context.Context, userID, email string) error
- func (n *RuntimeGoNakamaModule) UnlinkFacebook(ctx context.Context, userID, token string) error
- func (n *RuntimeGoNakamaModule) UnlinkFacebookInstantGame(ctx context.Context, userID, signedPlayerInfo string) error
- func (n *RuntimeGoNakamaModule) UnlinkGameCenter(ctx context.Context, userID, playerID, bundleID string, timestamp int64, ...) error
- func (n *RuntimeGoNakamaModule) UnlinkGoogle(ctx context.Context, userID, token string) error
- func (n *RuntimeGoNakamaModule) UnlinkSteam(ctx context.Context, userID, token string) error
- func (n *RuntimeGoNakamaModule) UserGroupsList(ctx context.Context, userID string, limit int, state *int, cursor string) ([]*api.UserGroupList_UserGroup, string, error)
- func (n *RuntimeGoNakamaModule) UsersBanId(ctx context.Context, userIDs []string) error
- func (n *RuntimeGoNakamaModule) UsersGetFriendStatus(ctx context.Context, userID string, userIDs []string) ([]*api.Friend, error)
- func (n *RuntimeGoNakamaModule) UsersGetId(ctx context.Context, userIDs []string, facebookIDs []string) ([]*api.User, error)
- func (n *RuntimeGoNakamaModule) UsersGetRandom(ctx context.Context, count int) ([]*api.User, error)
- func (n *RuntimeGoNakamaModule) UsersGetUsername(ctx context.Context, usernames []string) ([]*api.User, error)
- func (n *RuntimeGoNakamaModule) UsersUnbanId(ctx context.Context, userIDs []string) error
- func (n *RuntimeGoNakamaModule) WalletLedgerList(ctx context.Context, userID string, limit int, cursor string) ([]runtime.WalletLedgerItem, string, error)
- func (n *RuntimeGoNakamaModule) WalletLedgerUpdate(ctx context.Context, itemID string, metadata map[string]interface{}) (runtime.WalletLedgerItem, error)
- func (n *RuntimeGoNakamaModule) WalletUpdate(ctx context.Context, userID string, changeset map[string]int64, ...) (map[string]int64, map[string]int64, error)
- func (n *RuntimeGoNakamaModule) WalletsUpdate(ctx context.Context, updates []*runtime.WalletUpdate, updateLedger bool) ([]*runtime.WalletUpdateResult, error)
- type RuntimeHttpHandler
- type RuntimeInfo
- type RuntimeJS
- type RuntimeJSModule
- type RuntimeJSModuleCache
- type RuntimeJavaScriptMatchCore
- func (rm *RuntimeJavaScriptMatchCore) Cancel()
- func (rm *RuntimeJavaScriptMatchCore) Cleanup()
- func (rm *RuntimeJavaScriptMatchCore) CreateTime() int64
- func (rm *RuntimeJavaScriptMatchCore) GetState(state interface{}) (string, error)
- func (rm *RuntimeJavaScriptMatchCore) HandlerName() string
- func (rm *RuntimeJavaScriptMatchCore) Label() string
- func (rm *RuntimeJavaScriptMatchCore) MatchInit(presenceList *MatchPresenceList, ...) (interface{}, int, error)
- func (rm *RuntimeJavaScriptMatchCore) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error)
- func (rm *RuntimeJavaScriptMatchCore) MatchJoinAttempt(tick int64, state interface{}, userID, sessionID uuid.UUID, username string, ...) (interface{}, bool, string, error)
- func (rm *RuntimeJavaScriptMatchCore) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error)
- func (rm *RuntimeJavaScriptMatchCore) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error)
- func (rm *RuntimeJavaScriptMatchCore) MatchSignal(tick int64, state interface{}, data string) (interface{}, string, error)
- func (rm *RuntimeJavaScriptMatchCore) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error)
- func (rm *RuntimeJavaScriptMatchCore) TickRate() int
- type RuntimeJavascriptCallbacks
- type RuntimeJavascriptInitModule
- type RuntimeJavascriptLocalCache
- type RuntimeJavascriptMatchHandlers
- type RuntimeJavascriptNakamaModule
- type RuntimeLeaderboardResetFunction
- type RuntimeLua
- type RuntimeLuaCallbacks
- type RuntimeLuaLocalCache
- type RuntimeLuaMatchCore
- func (r *RuntimeLuaMatchCore) Cancel()
- func (r *RuntimeLuaMatchCore) Cleanup()
- func (r *RuntimeLuaMatchCore) CreateTime() int64
- func (r *RuntimeLuaMatchCore) GetState(state interface{}) (string, error)
- func (r *RuntimeLuaMatchCore) HandlerName() string
- func (r *RuntimeLuaMatchCore) Label() string
- func (r *RuntimeLuaMatchCore) MatchInit(presenceList *MatchPresenceList, ...) (interface{}, int, error)
- func (r *RuntimeLuaMatchCore) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error)
- func (r *RuntimeLuaMatchCore) MatchJoinAttempt(tick int64, state interface{}, userID, sessionID uuid.UUID, username string, ...) (interface{}, bool, string, error)
- func (r *RuntimeLuaMatchCore) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error)
- func (r *RuntimeLuaMatchCore) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error)
- func (r *RuntimeLuaMatchCore) MatchSignal(tick int64, state interface{}, data string) (interface{}, string, error)
- func (r *RuntimeLuaMatchCore) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error)
- func (r *RuntimeLuaMatchCore) TickRate() int
- type RuntimeLuaModule
- type RuntimeLuaModuleCache
- type RuntimeLuaNakamaModule
- type RuntimeMatchCore
- func NewRuntimeGoMatchCore(logger *zap.Logger, module string, matchRegistry MatchRegistry, ...) (RuntimeMatchCore, error)
- func NewRuntimeJavascriptMatchCore(logger *zap.Logger, module string, db *sql.DB, ...) (RuntimeMatchCore, error)
- func NewRuntimeLuaMatchCore(logger *zap.Logger, module string, db *sql.DB, ...) (RuntimeMatchCore, error)
- type RuntimeMatchCreateFunction
- type RuntimeMatchDeferMessageFunction
- type RuntimeMatchmakerMatchedFunction
- type RuntimeMatchmakerOverrideFunction
- type RuntimeProviderJS
- func (rp *RuntimeProviderJS) AfterReq(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) error
- func (rp *RuntimeProviderJS) AfterRt(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) error
- func (rp *RuntimeProviderJS) BeforeReq(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) (interface{}, error, codes.Code)
- func (rp *RuntimeProviderJS) BeforeRt(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) (*rtapi.Envelope, error)
- func (rp *RuntimeProviderJS) Get(ctx context.Context) (*RuntimeJS, error)
- func (rp *RuntimeProviderJS) LeaderboardReset(ctx context.Context, leaderboard *api.Leaderboard, reset int64) error
- func (rp *RuntimeProviderJS) MatchmakerMatched(ctx context.Context, entries []*MatchmakerEntry) (string, bool, error)
- func (rp *RuntimeProviderJS) PurchaseNotificationApple(ctx context.Context, purchase *api.ValidatedPurchase, providerPayload string) error
- func (rp *RuntimeProviderJS) PurchaseNotificationGoogle(ctx context.Context, purchase *api.ValidatedPurchase, providerPayload string) error
- func (rp *RuntimeProviderJS) Put(r *RuntimeJS)
- func (rp *RuntimeProviderJS) Rpc(ctx context.Context, id string, headers, queryParams map[string][]string, ...) (string, error, codes.Code)
- func (rp *RuntimeProviderJS) Shutdown(ctx context.Context)
- func (rp *RuntimeProviderJS) StorageIndexFilter(ctx context.Context, indexName string, storageWrite *StorageOpWrite) (bool, error)
- func (rp *RuntimeProviderJS) SubscriptionNotificationApple(ctx context.Context, subscription *api.ValidatedSubscription, ...) error
- func (rp *RuntimeProviderJS) SubscriptionNotificationGoogle(ctx context.Context, subscription *api.ValidatedSubscription, ...) error
- func (rp *RuntimeProviderJS) TournamentEnd(ctx context.Context, tournament *api.Tournament, end, reset int64) error
- func (rp *RuntimeProviderJS) TournamentReset(ctx context.Context, tournament *api.Tournament, end, reset int64) error
- type RuntimeProviderLua
- func (rp *RuntimeProviderLua) AfterReq(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) error
- func (rp *RuntimeProviderLua) AfterRt(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) error
- func (rp *RuntimeProviderLua) BeforeReq(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) (interface{}, error, codes.Code)
- func (rp *RuntimeProviderLua) BeforeRt(ctx context.Context, id string, logger *zap.Logger, userID, username string, ...) (*rtapi.Envelope, error)
- func (rp *RuntimeProviderLua) Get(ctx context.Context) (*RuntimeLua, error)
- func (rp *RuntimeProviderLua) LeaderboardReset(ctx context.Context, leaderboard *api.Leaderboard, reset int64) error
- func (rp *RuntimeProviderLua) MatchmakerMatched(ctx context.Context, entries []*MatchmakerEntry) (string, bool, error)
- func (rp *RuntimeProviderLua) PurchaseNotificationApple(ctx context.Context, purchase *api.ValidatedPurchase, providerPayload string) error
- func (rp *RuntimeProviderLua) PurchaseNotificationGoogle(ctx context.Context, purchase *api.ValidatedPurchase, providerPayload string) error
- func (rp *RuntimeProviderLua) Put(r *RuntimeLua)
- func (rp *RuntimeProviderLua) Rpc(ctx context.Context, id string, headers, queryParams map[string][]string, ...) (string, error, codes.Code)
- func (rp *RuntimeProviderLua) Shutdown(ctx context.Context)
- func (rp *RuntimeProviderLua) StorageIndexFilter(ctx context.Context, indexName string, write *StorageOpWrite) (bool, error)
- func (rp *RuntimeProviderLua) SubscriptionNotificationApple(ctx context.Context, subscription *api.ValidatedSubscription, ...) error
- func (rp *RuntimeProviderLua) SubscriptionNotificationGoogle(ctx context.Context, subscription *api.ValidatedSubscription, ...) error
- func (rp *RuntimeProviderLua) TournamentEnd(ctx context.Context, tournament *api.Tournament, end, reset int64) error
- func (rp *RuntimeProviderLua) TournamentReset(ctx context.Context, tournament *api.Tournament, end, reset int64) error
- type RuntimePurchaseNotificationAppleFunction
- type RuntimePurchaseNotificationGoogleFunction
- type RuntimeRpcFunction
- type RuntimeShutdownFunction
- type RuntimeStorageIndexFilterFunction
- type RuntimeSubscriptionNotificationAppleFunction
- type RuntimeSubscriptionNotificationGoogleFunction
- type RuntimeTournamentEndFunction
- type RuntimeTournamentResetFunction
- type SatoriConfig
- type Scannable
- type Session
- type SessionCache
- type SessionConfig
- func (cfg *SessionConfig) Clone() *SessionConfig
- func (cfg *SessionConfig) GetEncryptionKey() string
- func (cfg *SessionConfig) GetRefreshEncryptionKey() string
- func (cfg *SessionConfig) GetRefreshTokenExpirySec() int64
- func (cfg *SessionConfig) GetSingleMatch() bool
- func (cfg *SessionConfig) GetSingleParty() bool
- func (cfg *SessionConfig) GetSingleSession() bool
- func (cfg *SessionConfig) GetSingleSocket() bool
- func (cfg *SessionConfig) GetTokenExpirySec() int64
- type SessionFormat
- type SessionRegistry
- type SessionTokenClaims
- type SocialConfig
- func (cfg *SocialConfig) Clone() *SocialConfig
- func (cfg *SocialConfig) GetApple() runtime.SocialConfigApple
- func (cfg *SocialConfig) GetFacebookInstantGame() runtime.SocialConfigFacebookInstantGame
- func (cfg *SocialConfig) GetFacebookLimitedLogin() runtime.SocialConfigFacebookLimitedLogin
- func (cfg *SocialConfig) GetSteam() runtime.SocialConfigSteam
- type SocialConfigApple
- type SocialConfigFacebookInstantGame
- type SocialConfigFacebookLimitedLogin
- type SocialConfigSteam
- type SocketConfig
- type StatusHandler
- type StatusRegistry
- type StorageConfig
- type StorageIndex
- type StorageOpDelete
- type StorageOpDeletes
- type StorageOpWrite
- type StorageOpWrites
- type StreamManager
- type TournamentListCursor
- type Tracker
- type TrackerConfig
- type TrackerOp
- type Tx
- type TxnRestartError
- type UserMFASetupToken
- type ValidatableQuery
Constants ¶
const ( NotificationCodeDmRequest int32 = -1 NotificationCodeFriendRequest int32 = -2 NotificationCodeFriendAccept int32 = -3 NotificationCodeGroupAdd int32 = -4 NotificationCodeGroupJoinRequest int32 = -5 NotificationCodeFriendJoinGame int32 = -6 NotificationCodeSingleSocket int32 = -7 NotificationCodeUserBanned int32 = -8 )
const ( LeaderboardSortOrderAscending = iota LeaderboardSortOrderDescending )
const ( LeaderboardOperatorBest = iota LeaderboardOperatorSet LeaderboardOperatorIncrement LeaderboardOperatorDecrement )
const ( MFAIssuer = "HeroicLabs" MFAWindowSize = 3 )
const ( ChannelMessageTypeChat int32 = iota ChannelMessageTypeChatUpdate ChannelMessageTypeChatRemove ChannelMessageTypeGroupJoin ChannelMessageTypeGroupAdd ChannelMessageTypeGroupLeave ChannelMessageTypeGroupKick ChannelMessageTypeGroupPromote ChannelMessageTypeGroupBan ChannelMessageTypeGroupDemote )
const ( StreamModeNotifications uint8 = iota StreamModeStatus StreamModeChannel StreamModeGroup StreamModeDM StreamModeMatchRelayed StreamModeMatchAuthoritative StreamModeParty )
const API_PREFIX = "/nakama.api.Nakama/"
const AppleNotificationTypeRefund = "REFUND"
const AppleRootPEM = `` /* 848-byte string literal not displayed */
const BANNED_CODE = 4
const INIT_MODULE_FN_NAME = "InitModule"
const JsEntrypointFilename = "index.js"
const LTSentinel = lua.LValueType(-1)
const ObfuscationString = "REDACTED"
const RTAPI_PREFIX = "*rtapi.Envelope_"
Variables ¶
var ( ErrLeaderboardNotFound = errors.New("leaderboard not found") ErrLeaderboardAuthoritative = errors.New("leaderboard only allows authoritative submissions") ErrLeaderboardInvalidCursor = errors.New("leaderboard cursor invalid") ErrInvalidOperator = errors.New("invalid operator") )
var ( ErrSessionTokenInvalid = errors.New("session token invalid") ErrRefreshTokenInvalid = errors.New("refresh token invalid") )
var ( MatchFilterValue = uint8(0) MatchFilterPtr = &MatchFilterValue MatchFilterRelayed = map[uint8]*uint8{StreamModeMatchRelayed: MatchFilterPtr} MatchLabelMaxBytes = 2048 )
var ( Bit32LibName = "bit32" Bit32Default64 = int64(math.Pow(2, 32) - 1) )
var ( ErrNodeNotFound = errors.New("node not found") ErrSessionNotFound = errors.New("session not found") )
var API_PREFIX_LOWERCASE = strings.ToLower(API_PREFIX)
var BlugeKeywordAnalyzer = analyzer.NewKeywordAnalyzer()
var ErrAccountNotFound = errors.New("account not found")
var ErrDatabaseDriverMismatch = errors.New("database driver mismatch")
var ErrEmptyMemberDemote = errors.New("could not demote member")
var ErrEmptyMemberKick = errors.New("could not kick member")
var ErrEmptyMemberPromote = errors.New("could not promote member")
var ErrMatchInitStateNil = errors.New("Match initial state must not be nil")
var ErrMatchStopped = errors.New("match stopped")
var ErrPartyNotFound = errors.New("party not found")
var ErrPurchasesListInvalidCursor = errors.New("purchases list cursor invalid")
var ErrRowsAffectedCount = errors.New("rows_affected_count")
var (
ErrRuntimeRPCNotFound = errors.New("RPC function not found")
)
var ErrSessionQueueFull = errors.New("session outgoing queue full")
var ErrSubscriptionNotFound = errors.New("subscription not found")
var ErrSubscriptionsListInvalidCursor = errors.New("subscriptions list cursor invalid")
var LSentinel = lua.LValue(&LSentinelType{})
var ( OperatorIntToEnum = map[int]api.Operator{ LeaderboardOperatorBest: api.Operator_BEST, LeaderboardOperatorSet: api.Operator_SET, LeaderboardOperatorIncrement: api.Operator_INCREMENT, LeaderboardOperatorDecrement: api.Operator_DECREMENT, } )
var RTAPI_PREFIX_LOWERCASE = strings.ToLower(RTAPI_PREFIX)
Functions ¶
func AddFriends ¶
func AddGroupUsers ¶
func AuthenticateApple ¶
func AuthenticateCustom ¶
func AuthenticateDevice ¶
func AuthenticateEmail ¶
func AuthenticateFacebook ¶
func AuthenticateGameCenter ¶
func AuthenticateGoogle ¶
func AuthenticateSteam ¶
func AuthenticateUsername ¶
func BanGroupUsers ¶
func BanGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, tracker Tracker, router MessageRouter, streamManager StreamManager, caller uuid.UUID, groupID uuid.UUID, userIDs []uuid.UUID) error
func BlockFriends ¶
func BlugeInMemoryConfig ¶ added in v3.10.0
func BlugeWalkDocument ¶ added in v3.9.0
func ChannelMessageRemove ¶ added in v3.15.0
func ChannelMessageRemove(ctx context.Context, logger *zap.Logger, db *sql.DB, router MessageRouter, channelStream PresenceStream, channelId, messageId, senderId, senderUsername string, persist bool) (*rtapi.ChannelMessageAck, error)
func ChannelMessageSend ¶ added in v3.5.0
func ChannelMessageSend(ctx context.Context, logger *zap.Logger, db *sql.DB, router MessageRouter, channelStream PresenceStream, channelId, content, senderId, senderUsername string, persist bool) (*rtapi.ChannelMessageAck, error)
func ChannelMessageUpdate ¶ added in v3.6.0
func ChannelMessageUpdate(ctx context.Context, logger *zap.Logger, db *sql.DB, router MessageRouter, channelStream PresenceStream, channelId, messageId, content, senderId, senderUsername string, persist bool) (*rtapi.ChannelMessageAck, error)
func ChannelMessagesList ¶
func CheckRuntimeProviderGo ¶
func CheckRuntimeProviderLua ¶
func CreateGroup ¶
func DeleteAccount ¶
func DeleteAccount(ctx context.Context, logger *zap.Logger, db *sql.DB, config Config, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, sessionRegistry SessionRegistry, sessionCache SessionCache, tracker Tracker, userID uuid.UUID, recorded bool) error
func DeleteFriends ¶
func DeleteGroup ¶
func DemoteGroupUsers ¶
func DisableTournamentRanks ¶ added in v3.23.0
func DisableTournamentRanks(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, id string) error
func ExecuteInTx ¶
ExecuteInTx runs fn inside tx which should already have begun. fn is subject to the same restrictions as the fn passed to ExecuteTx.
func ExecuteInTxPgx ¶ added in v3.17.0
Same as ExecuteInTx, but passes pgx.Tx to callback
func ExecuteRetryable ¶
ExecuteRetryable Retry functions that perform non-transactional database operations.
func ExecuteRetryablePgx ¶ added in v3.17.0
ExecuteRetryablePgx Retry functions that perform non-transactional database operations on PgConn
func ExportAccount ¶
func GetAccount ¶
func GetAccounts ¶
func GetChannelMessages ¶
func GetFriendIDs ¶
func GetFriendIDs(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID) (*api.FriendList, error)
Only used to get all friend IDs for the console. NOTE: Not intended for use in client/runtime APIs.
func GetFriends ¶ added in v3.25.0
func GetPurchaseByTransactionId ¶ added in v3.16.0
func GetRandomGroups ¶ added in v3.14.0
func GetRandomUsers ¶ added in v3.5.0
func GetSubscriptionByProductId ¶ added in v3.13.0
func GroupDeleteAll ¶
func HandleShutdown ¶ added in v3.22.0
func HandleShutdown(ctx context.Context, logger *zap.Logger, matchRegistry MatchRegistry, graceSeconds int, shutdownFn RuntimeShutdownFunction, c chan os.Signal)
func HashFromId ¶
func HashFromId(id uuid.UUID) [6]byte
func KickGroupUsers ¶
func LeaderboardList ¶ added in v3.4.0
func LeaderboardList(logger *zap.Logger, leaderboardCache LeaderboardCache, limit int, cursor *LeaderboardListCursor) (*api.LeaderboardList, error)
func LeaderboardRecordDelete ¶
func LeaderboardRecordDelete(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, caller uuid.UUID, leaderboardId, ownerID string) error
func LeaderboardRecordWrite ¶
func LeaderboardRecordWrite(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, caller uuid.UUID, leaderboardId, ownerID, username string, score, subscore int64, metadata string, overrideOperator api.Operator) (*api.LeaderboardRecord, error)
func LeaderboardRecordsDeleteAll ¶
func LeaderboardRecordsDeleteAll(ctx context.Context, logger *zap.Logger, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, tx *sql.Tx, userID uuid.UUID, currentTime int64) error
func LeaderboardRecordsHaystack ¶
func LeaderboardRecordsHaystack(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, leaderboardId, cursor string, ownerID uuid.UUID, limit int, overrideExpiry int64) (*api.LeaderboardRecordList, error)
func LeaderboardRecordsList ¶
func LeaderboardRecordsList(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, leaderboardId string, limit *wrapperspb.Int32Value, cursor string, ownerIds []string, overrideExpiry int64) (*api.LeaderboardRecordList, error)
func LeaderboardsGet ¶ added in v3.4.0
func LeaderboardsGet(leaderboardCache LeaderboardCache, leaderboardIDs []string) []*api.Leaderboard
func LeaveGroup ¶
func LinkCustom ¶
func LinkDevice ¶
func LinkFacebook ¶
func LinkFacebookInstantGame ¶
func LinkGameCenter ¶
func LinkGoogle ¶
func ListFriends ¶
func ListFriends(ctx context.Context, logger *zap.Logger, db *sql.DB, statusRegistry StatusRegistry, userID uuid.UUID, limit int, state *wrapperspb.Int32Value, cursor string) (*api.FriendList, error)
func ListFriendsOfFriends ¶ added in v3.22.0
func ListGroupUsers ¶
func ListGroupUsers(ctx context.Context, logger *zap.Logger, db *sql.DB, statusRegistry StatusRegistry, groupID uuid.UUID, limit int, state *wrapperspb.Int32Value, cursor string) (*api.GroupUserList, error)
func ListGroups ¶
func ListPurchases ¶ added in v3.2.0
func ListSubscriptions ¶ added in v3.13.0
func ListUserGroups ¶
func ListUserGroups(ctx context.Context, logger *zap.Logger, db *sql.DB, userID uuid.UUID, limit int, state *wrapperspb.Int32Value, cursor string) (*api.UserGroupList, error)
func ListWalletLedger ¶
func MapMatchIndexEntry ¶ added in v3.9.0
func MapMatchIndexEntry(id string, in *MatchIndexEntry) (*bluge.Document, error)
func MapMatchmakerIndex ¶ added in v3.9.0
func MapMatchmakerIndex(id string, in *MatchmakerIndex) (*bluge.Document, error)
func MultiUpdate ¶
func MultiUpdate(ctx context.Context, logger *zap.Logger, db *sql.DB, metrics Metrics, accountUpdates []*accountUpdate, storageWrites StorageOpWrites, storageDeletes StorageOpDeletes, storageIndex StorageIndex, walletUpdates []*walletUpdate, updateLedger bool) ([]*api.StorageObjectAck, []*runtime.WalletUpdateResult, error)
func NewConfig ¶
NewConfig constructs a Config struct which represents server settings, and populates it with default values.
func NewGrpcCustomLogger ¶ added in v3.23.0
GRPC custom logger defaults to Error level, unless the logger level is higher. https://github.com/grpc/grpc-go/blob/master/grpclog/loggerv2.go
func NewJSONFileLogger ¶
func NewJSONLogger ¶
func NewJsLogger ¶
func NewLocalFmCallbackHandler ¶ added in v3.21.0
func NewLocalFmCallbackHandler(config Config) runtime.FmCallbackHandler
func NewRuntime ¶
func NewRuntime(ctx context.Context, logger, startupLogger *zap.Logger, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, config Config, version string, socialClient *social.Client, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchRegistry MatchRegistry, tracker Tracker, metrics Metrics, streamManager StreamManager, router MessageRouter, storageIndex StorageIndex, fmCallbackHandler runtime.FmCallbackHandler) (*Runtime, *RuntimeInfo, error)
func NewRuntimeGoContext ¶
func NewRuntimeGoContext(ctx context.Context, node, version string, env map[string]string, mode RuntimeExecutionMode, headers, queryParams map[string][]string, sessionExpiry int64, userID, username string, vars map[string]string, sessionID, clientIP, clientPort, lang string) context.Context
ignore warnings about strings being used as ctx keys
func NewRuntimeJsContext ¶
func NewRuntimeJsInitContext ¶
func NewRuntimeLuaContext ¶
func NewRuntimeProviderGo ¶
func NewRuntimeProviderGo(ctx context.Context, logger, startupLogger *zap.Logger, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, config Config, version string, socialClient *social.Client, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchRegistry MatchRegistry, tracker Tracker, metrics Metrics, streamManager StreamManager, router MessageRouter, storageIndex StorageIndex, rootPath string, paths []string, eventQueue *RuntimeEventQueue, matchProvider *MatchProvider, fmCallbackHandler runtime.FmCallbackHandler) ([]string, map[string]RuntimeRpcFunction, map[string]RuntimeBeforeRtFunction, map[string]RuntimeAfterRtFunction, *RuntimeBeforeReqFunctions, *RuntimeAfterReqFunctions, RuntimeMatchmakerMatchedFunction, RuntimeMatchmakerOverrideFunction, RuntimeTournamentEndFunction, RuntimeTournamentResetFunction, RuntimeLeaderboardResetFunction, RuntimeShutdownFunction, RuntimePurchaseNotificationAppleFunction, RuntimeSubscriptionNotificationAppleFunction, RuntimePurchaseNotificationGoogleFunction, RuntimeSubscriptionNotificationGoogleFunction, map[string]RuntimeStorageIndexFilterFunction, runtime.FleetManager, []*RuntimeHttpHandler, *RuntimeEventFunctions, func() []string, error)
func NewRuntimeProviderJS ¶
func NewRuntimeProviderJS(ctx context.Context, logger, startupLogger *zap.Logger, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, config Config, version string, socialClient *social.Client, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchRegistry MatchRegistry, tracker Tracker, metrics Metrics, streamManager StreamManager, router MessageRouter, eventFn RuntimeEventCustomFunction, path, entrypoint string, matchProvider *MatchProvider, storageIndex StorageIndex) ([]string, map[string]RuntimeRpcFunction, map[string]RuntimeBeforeRtFunction, map[string]RuntimeAfterRtFunction, *RuntimeBeforeReqFunctions, *RuntimeAfterReqFunctions, RuntimeMatchmakerMatchedFunction, RuntimeTournamentEndFunction, RuntimeTournamentResetFunction, RuntimeLeaderboardResetFunction, RuntimeShutdownFunction, RuntimePurchaseNotificationAppleFunction, RuntimeSubscriptionNotificationAppleFunction, RuntimePurchaseNotificationGoogleFunction, RuntimeSubscriptionNotificationGoogleFunction, map[string]RuntimeStorageIndexFilterFunction, error)
func NewRuntimeProviderLua ¶
func NewRuntimeProviderLua(ctx context.Context, logger, startupLogger *zap.Logger, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, config Config, version string, socialClient *social.Client, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchRegistry MatchRegistry, tracker Tracker, metrics Metrics, streamManager StreamManager, router MessageRouter, eventFn RuntimeEventCustomFunction, rootPath string, paths []string, matchProvider *MatchProvider, storageIndex StorageIndex) ([]string, map[string]RuntimeRpcFunction, map[string]RuntimeBeforeRtFunction, map[string]RuntimeAfterRtFunction, *RuntimeBeforeReqFunctions, *RuntimeAfterReqFunctions, RuntimeMatchmakerMatchedFunction, RuntimeTournamentEndFunction, RuntimeTournamentResetFunction, RuntimeLeaderboardResetFunction, RuntimeShutdownFunction, RuntimePurchaseNotificationAppleFunction, RuntimeSubscriptionNotificationAppleFunction, RuntimePurchaseNotificationGoogleFunction, RuntimeSubscriptionNotificationGoogleFunction, map[string]RuntimeStorageIndexFilterFunction, error)
func NewSocketWsAcceptor ¶
func NewSocketWsAcceptor(logger *zap.Logger, config Config, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchmaker Matchmaker, tracker Tracker, metrics Metrics, runtime *Runtime, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, pipeline *Pipeline) func(http.ResponseWriter, *http.Request)
func NodeToHash ¶
func NotificationDelete ¶
func NotificationList ¶
func NotificationSave ¶
func NotificationSend ¶
func NotificationSendAll ¶ added in v3.11.0
func NotificationsDeleteId ¶ added in v3.23.0
func NotificationsGetId ¶ added in v3.23.0
func NotificationsUpdate ¶ added in v3.25.0
func OpenPackage ¶
func OpenPackage(moduleCache *RuntimeLuaModuleCache) func(L *lua.LState) int
func ProfileGoja ¶ added in v3.18.0
func ProfileGoja(w http.ResponseWriter, r *http.Request)
Profile responds with the pprof-formatted cpu profile. Profiling lasts for duration specified in seconds GET parameter, or for 30 seconds if not specified. https://github.com/dop251/goja/blob/master/profiler.go#L271
func PromoteGroupUsers ¶
func RedirectStdLog ¶ added in v3.4.0
func RemapGoogleId ¶ added in v3.17.0
func RuntimeJsConvertJsValue ¶ added in v3.3.0
func RuntimeJsConvertJsValue(jv interface{}) interface{}
func RuntimeLuaConvertLuaTableString ¶ added in v3.16.0
func RuntimeLuaConvertMap ¶
func RuntimeLuaConvertValue ¶
func SessionLogout ¶ added in v3.2.0
func SessionLogout(config Config, sessionCache SessionCache, userID uuid.UUID, token, refreshToken string) error
func SessionRefresh ¶
func SetupLogging ¶
func StackdriverLevelEncoder ¶
func StackdriverLevelEncoder(l zapcore.Level, enc zapcore.PrimitiveArrayEncoder)
func StatusError ¶
Helper function for creating status errors that wrap underlying causes, usually DB errors.
func StorageDeleteObjects ¶
func StorageListObjects ¶
func StorageListObjectsAll ¶
func StorageListObjectsUser ¶
func StorageReadObjects ¶
func StorageWriteObjects ¶
func StorageWriteObjects(ctx context.Context, logger *zap.Logger, db *sql.DB, metrics Metrics, storageIndex StorageIndex, authoritativeWrite bool, ops StorageOpWrites) (*api.StorageObjectAcks, codes.Code, error)
func StreamToChannelId ¶
func StreamToChannelId(stream PresenceStream) (string, error)
func TournamentAddAttempt ¶
func TournamentCreate ¶
func TournamentCreate(ctx context.Context, logger *zap.Logger, cache LeaderboardCache, scheduler LeaderboardScheduler, leaderboardId string, authoritative bool, sortOrder, operator int, resetSchedule, metadata, title, description string, category, startTime, endTime, duration, maxSize, maxNumScore int, joinRequired, enableRanks bool) error
func TournamentDelete ¶
func TournamentDelete(ctx context.Context, cache LeaderboardCache, rankCache LeaderboardRankCache, scheduler LeaderboardScheduler, leaderboardId string) error
func TournamentJoin ¶
func TournamentJoin(ctx context.Context, logger *zap.Logger, db *sql.DB, cache LeaderboardCache, rankCache LeaderboardRankCache, ownerID uuid.UUID, username, tournamentId string) error
func TournamentList ¶
func TournamentList(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, categoryStart, categoryEnd, startTime, endTime, limit int, cursor *TournamentListCursor) (*api.TournamentList, error)
func TournamentRecordDelete ¶ added in v3.16.0
func TournamentRecordDelete(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, caller uuid.UUID, tournamentID, ownerID string) error
func TournamentRecordWrite ¶
func TournamentRecordWrite(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, caller uuid.UUID, tournamentId string, ownerId uuid.UUID, username string, score, subscore int64, metadata string, overrideOperator api.Operator) (*api.LeaderboardRecord, error)
func TournamentRecordsHaystack ¶
func TournamentRecordsHaystack(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, leaderboardId, cursor string, ownerId uuid.UUID, limit int, expiryOverride int64) (*api.TournamentRecordList, error)
func TournamentRecordsList ¶
func TournamentRecordsList(ctx context.Context, logger *zap.Logger, db *sql.DB, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, tournamentId string, ownerIds []string, limit *wrapperspb.Int32Value, cursor string, overrideExpiry int64) (*api.TournamentRecordList, error)
func TournamentsGet ¶
func UnbanUsers ¶
func UnlinkApple ¶
func UnlinkCustom ¶
func UnlinkDevice ¶
func UnlinkEmail ¶
func UnlinkFacebook ¶
func UnlinkGameCenter ¶
func UnlinkGoogle ¶
func UnlinkSteam ¶
func UpdateAccounts ¶
func UpdateGroup ¶
func UpdateGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, groupID uuid.UUID, userID uuid.UUID, creatorID uuid.UUID, name, lang, desc, avatar, metadata *wrapperspb.StringValue, open *wrapperspb.BoolValue, maxCount int) error
func UpdateWalletLedger ¶
func UpdateWallets ¶
func ValidateConfig ¶ added in v3.23.0
func ValidateConfigDatabase ¶ added in v3.23.0
func ValidatePurchaseFacebookInstant ¶ added in v3.19.0
func ValidatePurchaseGoogle ¶ added in v3.2.0
func ValidatePurchaseHuawei ¶ added in v3.2.0
func ValidatePurchasesApple ¶ added in v3.2.0
func ValidateSubscriptionApple ¶ added in v3.13.0
func ValidateSubscriptionGoogle ¶ added in v3.13.0
Types ¶
type AmbiguousCommitError ¶
type AmbiguousCommitError struct {
// contains filtered or unexported fields
}
AmbiguousCommitError represents an error that left a transaction in an ambiguous state: unclear if it committed or not.
type ApiServer ¶
type ApiServer struct { apigrpc.UnimplementedNakamaServer // contains filtered or unexported fields }
func StartApiServer ¶
func StartApiServer(logger *zap.Logger, startupLogger *zap.Logger, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, config Config, version string, socialClient *social.Client, storageIndex StorageIndex, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchRegistry MatchRegistry, matchmaker Matchmaker, tracker Tracker, router MessageRouter, streamManager StreamManager, metrics Metrics, pipeline *Pipeline, runtime *Runtime) *ApiServer
func (*ApiServer) AddFriends ¶
func (*ApiServer) AddGroupUsers ¶
func (*ApiServer) AuthenticateApple ¶
func (*ApiServer) AuthenticateCustom ¶
func (*ApiServer) AuthenticateDevice ¶
func (*ApiServer) AuthenticateEmail ¶
func (*ApiServer) AuthenticateFacebook ¶
func (*ApiServer) AuthenticateFacebookInstantGame ¶
func (*ApiServer) AuthenticateGameCenter ¶
func (*ApiServer) AuthenticateGoogle ¶
func (*ApiServer) AuthenticateSteam ¶
func (*ApiServer) BanGroupUsers ¶
func (*ApiServer) BlockFriends ¶
func (*ApiServer) CreateGroup ¶
func (*ApiServer) DeleteAccount ¶ added in v3.15.0
func (*ApiServer) DeleteFriends ¶
func (*ApiServer) DeleteGroup ¶
func (*ApiServer) DeleteLeaderboardRecord ¶
func (*ApiServer) DeleteNotifications ¶
func (*ApiServer) DeleteStorageObjects ¶
func (*ApiServer) DeleteTournamentRecord ¶ added in v3.16.0
func (*ApiServer) DemoteGroupUsers ¶
func (*ApiServer) GetAccount ¶
func (*ApiServer) GetMatchmakerStats ¶ added in v3.23.0
func (*ApiServer) GetSubscription ¶ added in v3.13.0
func (s *ApiServer) GetSubscription(ctx context.Context, in *api.GetSubscriptionRequest) (*api.ValidatedSubscription, error)
func (*ApiServer) Healthcheck ¶
func (*ApiServer) ImportFacebookFriends ¶
func (*ApiServer) ImportSteamFriends ¶ added in v3.1.0
func (*ApiServer) JoinTournament ¶
func (*ApiServer) KickGroupUsers ¶
func (*ApiServer) LeaveGroup ¶
func (*ApiServer) LinkCustom ¶
func (*ApiServer) LinkDevice ¶
func (*ApiServer) LinkFacebook ¶
func (*ApiServer) LinkFacebookInstantGame ¶
func (*ApiServer) LinkGameCenter ¶
func (*ApiServer) LinkGoogle ¶
func (*ApiServer) ListChannelMessages ¶
func (s *ApiServer) ListChannelMessages(ctx context.Context, in *api.ListChannelMessagesRequest) (*api.ChannelMessageList, error)
func (*ApiServer) ListFriends ¶
func (s *ApiServer) ListFriends(ctx context.Context, in *api.ListFriendsRequest) (*api.FriendList, error)
func (*ApiServer) ListFriendsOfFriends ¶ added in v3.22.0
func (s *ApiServer) ListFriendsOfFriends(ctx context.Context, in *api.ListFriendsOfFriendsRequest) (*api.FriendsOfFriendsList, error)
func (*ApiServer) ListGroupUsers ¶
func (s *ApiServer) ListGroupUsers(ctx context.Context, in *api.ListGroupUsersRequest) (*api.GroupUserList, error)
func (*ApiServer) ListGroups ¶
func (*ApiServer) ListLeaderboardRecords ¶
func (s *ApiServer) ListLeaderboardRecords(ctx context.Context, in *api.ListLeaderboardRecordsRequest) (*api.LeaderboardRecordList, error)
func (*ApiServer) ListLeaderboardRecordsAroundOwner ¶
func (s *ApiServer) ListLeaderboardRecordsAroundOwner(ctx context.Context, in *api.ListLeaderboardRecordsAroundOwnerRequest) (*api.LeaderboardRecordList, error)
func (*ApiServer) ListMatches ¶
func (*ApiServer) ListNotifications ¶
func (s *ApiServer) ListNotifications(ctx context.Context, in *api.ListNotificationsRequest) (*api.NotificationList, error)
func (*ApiServer) ListStorageObjects ¶
func (s *ApiServer) ListStorageObjects(ctx context.Context, in *api.ListStorageObjectsRequest) (*api.StorageObjectList, error)
func (*ApiServer) ListSubscriptions ¶ added in v3.13.0
func (s *ApiServer) ListSubscriptions(ctx context.Context, in *api.ListSubscriptionsRequest) (*api.SubscriptionList, error)
func (*ApiServer) ListTournamentRecords ¶
func (s *ApiServer) ListTournamentRecords(ctx context.Context, in *api.ListTournamentRecordsRequest) (*api.TournamentRecordList, error)
func (*ApiServer) ListTournamentRecordsAroundOwner ¶
func (s *ApiServer) ListTournamentRecordsAroundOwner(ctx context.Context, in *api.ListTournamentRecordsAroundOwnerRequest) (*api.TournamentRecordList, error)
func (*ApiServer) ListTournaments ¶
func (s *ApiServer) ListTournaments(ctx context.Context, in *api.ListTournamentsRequest) (*api.TournamentList, error)
func (*ApiServer) ListUserGroups ¶
func (s *ApiServer) ListUserGroups(ctx context.Context, in *api.ListUserGroupsRequest) (*api.UserGroupList, error)
func (*ApiServer) PromoteGroupUsers ¶
func (*ApiServer) ReadStorageObjects ¶
func (s *ApiServer) ReadStorageObjects(ctx context.Context, in *api.ReadStorageObjectsRequest) (*api.StorageObjects, error)
func (*ApiServer) RpcFuncHttp ¶
func (s *ApiServer) RpcFuncHttp(w http.ResponseWriter, r *http.Request)
func (*ApiServer) SessionLogout ¶ added in v3.2.0
func (*ApiServer) SessionRefresh ¶
func (*ApiServer) UnlinkApple ¶
func (*ApiServer) UnlinkCustom ¶
func (*ApiServer) UnlinkDevice ¶
func (*ApiServer) UnlinkEmail ¶
func (*ApiServer) UnlinkFacebook ¶
func (*ApiServer) UnlinkFacebookInstantGame ¶
func (*ApiServer) UnlinkGameCenter ¶
func (*ApiServer) UnlinkGoogle ¶
func (*ApiServer) UnlinkSteam ¶
func (*ApiServer) UpdateAccount ¶
func (*ApiServer) UpdateGroup ¶
func (*ApiServer) ValidatePurchaseApple ¶ added in v3.2.0
func (s *ApiServer) ValidatePurchaseApple(ctx context.Context, in *api.ValidatePurchaseAppleRequest) (*api.ValidatePurchaseResponse, error)
func (*ApiServer) ValidatePurchaseFacebookInstant ¶ added in v3.19.0
func (s *ApiServer) ValidatePurchaseFacebookInstant(ctx context.Context, in *api.ValidatePurchaseFacebookInstantRequest) (*api.ValidatePurchaseResponse, error)
func (*ApiServer) ValidatePurchaseGoogle ¶ added in v3.2.0
func (s *ApiServer) ValidatePurchaseGoogle(ctx context.Context, in *api.ValidatePurchaseGoogleRequest) (*api.ValidatePurchaseResponse, error)
func (*ApiServer) ValidatePurchaseHuawei ¶ added in v3.2.0
func (s *ApiServer) ValidatePurchaseHuawei(ctx context.Context, in *api.ValidatePurchaseHuaweiRequest) (*api.ValidatePurchaseResponse, error)
func (*ApiServer) ValidateSubscriptionApple ¶ added in v3.13.0
func (s *ApiServer) ValidateSubscriptionApple(ctx context.Context, in *api.ValidateSubscriptionAppleRequest) (*api.ValidateSubscriptionResponse, error)
func (*ApiServer) ValidateSubscriptionGoogle ¶ added in v3.13.0
func (s *ApiServer) ValidateSubscriptionGoogle(ctx context.Context, in *api.ValidateSubscriptionGoogleRequest) (*api.ValidateSubscriptionResponse, error)
func (*ApiServer) WriteLeaderboardRecord ¶
func (s *ApiServer) WriteLeaderboardRecord(ctx context.Context, in *api.WriteLeaderboardRecordRequest) (*api.LeaderboardRecord, error)
func (*ApiServer) WriteStorageObjects ¶
func (s *ApiServer) WriteStorageObjects(ctx context.Context, in *api.WriteStorageObjectsRequest) (*api.StorageObjectAcks, error)
func (*ApiServer) WriteTournamentRecord ¶
func (s *ApiServer) WriteTournamentRecord(ctx context.Context, in *api.WriteTournamentRecordRequest) (*api.LeaderboardRecord, error)
type BlugeResult ¶ added in v3.9.0
type BlugeResult struct {
Hits []*blugeMatch
}
func IterateBlugeMatches ¶ added in v3.9.0
func IterateBlugeMatches(dmi search.DocumentMatchIterator, loadFields map[string]struct{}, logger *zap.Logger) (*BlugeResult, error)
type Buffer ¶ added in v3.23.0
type Buffer[T any] struct { // contains filtered or unexported fields }
func NewBuffer ¶ added in v3.23.0
func NewBuffer(size int) *Buffer[MatchmakerStatsEntry]
type ChannelIdToStreamResult ¶
type ChannelIdToStreamResult struct {
Stream PresenceStream
}
Wrapper type to avoid allocating a stream struct when the input is invalid.
func ChannelIdToStream ¶
func ChannelIdToStream(channelID string) (*ChannelIdToStreamResult, error)
type Config ¶
type Config interface { GetName() string GetDataDir() string GetShutdownGraceSec() int GetLogger() *LoggerConfig GetMetrics() *MetricsConfig GetSession() *SessionConfig GetSocket() *SocketConfig GetDatabase() *DatabaseConfig GetSocial() *SocialConfig GetRuntime() *RuntimeConfig GetMatch() *MatchConfig GetTracker() *TrackerConfig GetConsole() *ConsoleConfig GetLeaderboard() *LeaderboardConfig GetMatchmaker() *MatchmakerConfig GetIAP() *IAPConfig GetGoogleAuth() *GoogleAuthConfig GetSatori() *SatoriConfig GetStorage() *StorageConfig GetMFA() *MFAConfig GetLimit() int Clone() (Config, error) GetRuntimeConfig() (runtime.Config, error) }
Config interface is the Nakama core configuration.
type ConsoleConfig ¶
type ConsoleConfig struct { Port int `yaml:"port" json:"port" usage:"The port for accepting connections for the embedded console, listening on all interfaces."` Address string `` /* 157-byte string literal not displayed */ MaxMessageSizeBytes int64 `` /* 154-byte string literal not displayed */ ReadTimeoutMs int `yaml:"read_timeout_ms" json:"read_timeout_ms" usage:"Maximum duration in milliseconds for reading the entire request."` WriteTimeoutMs int `` /* 130-byte string literal not displayed */ IdleTimeoutMs int `` /* 151-byte string literal not displayed */ Username string `yaml:"username" json:"username" usage:"Username for the embedded console. Default username is 'admin'."` Password string `yaml:"password" json:"password" usage:"Password for the embedded console. Default password is 'password'."` TokenExpirySec int64 `yaml:"token_expiry_sec" json:"token_expiry_sec" usage:"Token expiry in seconds. Default 86400."` SigningKey string `yaml:"signing_key" json:"signing_key" usage:"Key used to sign console session tokens."` MFA *MFAConfig `yaml:"mfa" json:"mfa" usage:"MFA settings."` }
ConsoleConfig is configuration relevant to the embedded console.
func NewConsoleConfig ¶
func NewConsoleConfig() *ConsoleConfig
func (*ConsoleConfig) Clone ¶ added in v3.25.0
func (cfg *ConsoleConfig) Clone() *ConsoleConfig
type ConsoleServer ¶
type ConsoleServer struct { console.UnimplementedConsoleServer // contains filtered or unexported fields }
func StartConsoleServer ¶
func StartConsoleServer(logger *zap.Logger, startupLogger *zap.Logger, db *sql.DB, config Config, tracker Tracker, router MessageRouter, streamManager StreamManager, metrics Metrics, sessionRegistry SessionRegistry, sessionCache SessionCache, consoleSessionCache SessionCache, loginAttemptCache LoginAttemptCache, statusRegistry StatusRegistry, statusHandler StatusHandler, runtimeInfo *RuntimeInfo, matchRegistry MatchRegistry, configWarnings map[string]string, serverVersion string, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, storageIndex StorageIndex, api *ApiServer, runtime *Runtime, cookie string) *ConsoleServer
func (*ConsoleServer) AddGroupUsers ¶ added in v3.15.0
func (s *ConsoleServer) AddGroupUsers(ctx context.Context, in *console.AddGroupUsersRequest) (*emptypb.Empty, error)
func (*ConsoleServer) AddUser ¶
func (s *ConsoleServer) AddUser(ctx context.Context, in *console.AddUserRequest) (*emptypb.Empty, error)
func (*ConsoleServer) Authenticate ¶
func (s *ConsoleServer) Authenticate(ctx context.Context, in *console.AuthenticateRequest) (*console.ConsoleSession, error)
func (*ConsoleServer) AuthenticateLogout ¶ added in v3.13.0
func (s *ConsoleServer) AuthenticateLogout(ctx context.Context, in *console.AuthenticateLogoutRequest) (*emptypb.Empty, error)
func (*ConsoleServer) AuthenticateMFASetup ¶ added in v3.24.0
func (s *ConsoleServer) AuthenticateMFASetup(ctx context.Context, in *console.AuthenticateMFASetupRequest) (*console.AuthenticateMFASetupResponse, error)
func (*ConsoleServer) BanAccount ¶
func (*ConsoleServer) CallApiEndpoint ¶
func (s *ConsoleServer) CallApiEndpoint(ctx context.Context, in *console.CallApiEndpointRequest) (*console.CallApiEndpointResponse, error)
func (*ConsoleServer) CallRpcEndpoint ¶
func (s *ConsoleServer) CallRpcEndpoint(ctx context.Context, in *console.CallApiEndpointRequest) (*console.CallApiEndpointResponse, error)
func (*ConsoleServer) DeleteAccount ¶
func (s *ConsoleServer) DeleteAccount(ctx context.Context, in *console.AccountDeleteRequest) (*emptypb.Empty, error)
func (*ConsoleServer) DeleteAccounts
deprecated
func (*ConsoleServer) DeleteAllData ¶ added in v3.11.0
func (*ConsoleServer) DeleteChannelMessages ¶ added in v3.13.0
func (s *ConsoleServer) DeleteChannelMessages(ctx context.Context, in *console.DeleteChannelMessagesRequest) (*console.DeleteChannelMessagesResponse, error)
func (*ConsoleServer) DeleteFriend ¶
func (s *ConsoleServer) DeleteFriend(ctx context.Context, in *console.DeleteFriendRequest) (*emptypb.Empty, error)
func (*ConsoleServer) DeleteGroup ¶ added in v3.11.0
func (s *ConsoleServer) DeleteGroup(ctx context.Context, in *console.DeleteGroupRequest) (*emptypb.Empty, error)
func (*ConsoleServer) DeleteGroupUser ¶
func (s *ConsoleServer) DeleteGroupUser(ctx context.Context, in *console.DeleteGroupUserRequest) (*emptypb.Empty, error)
func (*ConsoleServer) DeleteLeaderboard ¶
func (s *ConsoleServer) DeleteLeaderboard(ctx context.Context, in *console.LeaderboardRequest) (*emptypb.Empty, error)
func (*ConsoleServer) DeleteLeaderboardRecord ¶
func (s *ConsoleServer) DeleteLeaderboardRecord(ctx context.Context, in *console.DeleteLeaderboardRecordRequest) (*emptypb.Empty, error)
func (*ConsoleServer) DeleteNotification ¶ added in v3.25.0
func (s *ConsoleServer) DeleteNotification(ctx context.Context, in *console.DeleteNotificationRequest) (*emptypb.Empty, error)
func (*ConsoleServer) DeleteStorage ¶
func (*ConsoleServer) DeleteStorageObject ¶
func (s *ConsoleServer) DeleteStorageObject(ctx context.Context, in *console.DeleteStorageObjectRequest) (*emptypb.Empty, error)
func (*ConsoleServer) DeleteUser ¶
func (*ConsoleServer) DeleteWalletLedger ¶
func (s *ConsoleServer) DeleteWalletLedger(ctx context.Context, in *console.DeleteWalletLedgerRequest) (*emptypb.Empty, error)
func (*ConsoleServer) DemoteGroupMember ¶ added in v3.11.0
func (s *ConsoleServer) DemoteGroupMember(ctx context.Context, in *console.UpdateGroupUserStateRequest) (*emptypb.Empty, error)
func (*ConsoleServer) ExportAccount ¶
func (s *ConsoleServer) ExportAccount(ctx context.Context, in *console.AccountId) (*console.AccountExport, error)
func (*ConsoleServer) ExportGroup ¶ added in v3.11.0
func (s *ConsoleServer) ExportGroup(ctx context.Context, in *console.GroupId) (*console.GroupExport, error)
func (*ConsoleServer) GetAccount ¶
func (*ConsoleServer) GetFriends ¶
func (s *ConsoleServer) GetFriends(ctx context.Context, in *console.AccountId) (*api.FriendList, error)
func (*ConsoleServer) GetGroups ¶
func (s *ConsoleServer) GetGroups(ctx context.Context, in *console.AccountId) (*api.UserGroupList, error)
func (*ConsoleServer) GetLeaderboard ¶
func (s *ConsoleServer) GetLeaderboard(ctx context.Context, in *console.LeaderboardRequest) (*console.Leaderboard, error)
func (*ConsoleServer) GetMatchState ¶
func (s *ConsoleServer) GetMatchState(ctx context.Context, in *console.MatchStateRequest) (*console.MatchState, error)
func (*ConsoleServer) GetMembers ¶ added in v3.11.0
func (s *ConsoleServer) GetMembers(ctx context.Context, in *console.GroupId) (*api.GroupUserList, error)
func (*ConsoleServer) GetNotification ¶ added in v3.25.0
func (s *ConsoleServer) GetNotification(ctx context.Context, in *console.GetNotificationRequest) (*console.Notification, error)
func (*ConsoleServer) GetPurchase ¶ added in v3.23.0
func (s *ConsoleServer) GetPurchase(ctx context.Context, in *console.GetPurchaseRequest) (*api.ValidatedPurchase, error)
func (*ConsoleServer) GetRuntime ¶
func (s *ConsoleServer) GetRuntime(ctx context.Context, in *emptypb.Empty) (*console.RuntimeInfo, error)
func (*ConsoleServer) GetStatus ¶
func (s *ConsoleServer) GetStatus(ctx context.Context, in *emptypb.Empty) (*console.StatusList, error)
func (*ConsoleServer) GetStorage ¶
func (s *ConsoleServer) GetStorage(ctx context.Context, in *api.ReadStorageObjectId) (*api.StorageObject, error)
func (*ConsoleServer) GetSubscription ¶ added in v3.23.0
func (s *ConsoleServer) GetSubscription(ctx context.Context, in *console.GetSubscriptionRequest) (*api.ValidatedSubscription, error)
func (*ConsoleServer) GetWalletLedger ¶
func (s *ConsoleServer) GetWalletLedger(ctx context.Context, in *console.GetWalletLedgerRequest) (*console.WalletLedgerList, error)
func (*ConsoleServer) ListAccounts ¶
func (s *ConsoleServer) ListAccounts(ctx context.Context, in *console.ListAccountsRequest) (*console.AccountList, error)
func (*ConsoleServer) ListApiEndpoints ¶
func (s *ConsoleServer) ListApiEndpoints(ctx context.Context, _ *emptypb.Empty) (*console.ApiEndpointList, error)
func (*ConsoleServer) ListChannelMessages ¶ added in v3.13.0
func (s *ConsoleServer) ListChannelMessages(ctx context.Context, in *console.ListChannelMessagesRequest) (*api.ChannelMessageList, error)
func (*ConsoleServer) ListGroups ¶ added in v3.11.0
func (s *ConsoleServer) ListGroups(ctx context.Context, in *console.ListGroupsRequest) (*console.GroupList, error)
func (*ConsoleServer) ListLeaderboardRecords ¶
func (s *ConsoleServer) ListLeaderboardRecords(ctx context.Context, in *api.ListLeaderboardRecordsRequest) (*api.LeaderboardRecordList, error)
func (*ConsoleServer) ListLeaderboards ¶
func (s *ConsoleServer) ListLeaderboards(ctx context.Context, in *console.LeaderboardListRequest) (*console.LeaderboardList, error)
func (*ConsoleServer) ListMatches ¶
func (s *ConsoleServer) ListMatches(ctx context.Context, in *console.ListMatchesRequest) (*console.MatchList, error)
func (*ConsoleServer) ListNotifications ¶ added in v3.25.0
func (s *ConsoleServer) ListNotifications(ctx context.Context, in *console.ListNotificationsRequest) (*console.NotificationList, error)
func (*ConsoleServer) ListPurchases ¶ added in v3.2.0
func (s *ConsoleServer) ListPurchases(ctx context.Context, in *console.ListPurchasesRequest) (*api.PurchaseList, error)
func (*ConsoleServer) ListStorage ¶
func (s *ConsoleServer) ListStorage(ctx context.Context, in *console.ListStorageRequest) (*console.StorageList, error)
func (*ConsoleServer) ListStorageCollections ¶
func (s *ConsoleServer) ListStorageCollections(ctx context.Context, in *emptypb.Empty) (*console.StorageCollectionsList, error)
func (*ConsoleServer) ListSubscriptions ¶ added in v3.13.0
func (s *ConsoleServer) ListSubscriptions(ctx context.Context, in *console.ListSubscriptionsRequest) (*api.SubscriptionList, error)
func (*ConsoleServer) PromoteGroupMember ¶ added in v3.11.0
func (s *ConsoleServer) PromoteGroupMember(ctx context.Context, in *console.UpdateGroupUserStateRequest) (*emptypb.Empty, error)
func (*ConsoleServer) RequireUserMfa ¶ added in v3.24.0
func (s *ConsoleServer) RequireUserMfa(ctx context.Context, in *console.RequireUserMfaRequest) (*emptypb.Empty, error)
func (*ConsoleServer) ResetUserMfa ¶ added in v3.24.0
func (s *ConsoleServer) ResetUserMfa(ctx context.Context, in *console.ResetUserMfaRequest) (*emptypb.Empty, error)
func (*ConsoleServer) Stop ¶
func (s *ConsoleServer) Stop()
func (*ConsoleServer) UnbanAccount ¶
func (*ConsoleServer) UnlinkApple ¶
func (*ConsoleServer) UnlinkCustom ¶
func (*ConsoleServer) UnlinkDevice ¶
func (s *ConsoleServer) UnlinkDevice(ctx context.Context, in *console.UnlinkDeviceRequest) (*emptypb.Empty, error)
func (*ConsoleServer) UnlinkEmail ¶
func (*ConsoleServer) UnlinkFacebook ¶
func (*ConsoleServer) UnlinkFacebookInstantGame ¶
func (*ConsoleServer) UnlinkGameCenter ¶
func (*ConsoleServer) UnlinkGoogle ¶
func (*ConsoleServer) UnlinkSteam ¶
func (*ConsoleServer) UpdateAccount ¶
func (s *ConsoleServer) UpdateAccount(ctx context.Context, in *console.UpdateAccountRequest) (*emptypb.Empty, error)
func (*ConsoleServer) UpdateGroup ¶ added in v3.11.0
func (s *ConsoleServer) UpdateGroup(ctx context.Context, in *console.UpdateGroupRequest) (*emptypb.Empty, error)
func (*ConsoleServer) WriteStorageObject ¶
func (s *ConsoleServer) WriteStorageObject(ctx context.Context, in *console.WriteStorageObjectRequest) (*api.StorageObjectAck, error)
type ConsoleTokenClaims ¶
type ConsoleTokenClaims struct { ID string `json:"id,omitempty"` Username string `json:"usn,omitempty"` Email string `json:"ema,omitempty"` Role console.UserRole `json:"rol,omitempty"` ExpiresAt int64 `json:"exp,omitempty"` Cookie string `json:"cki,omitempty"` }
func (*ConsoleTokenClaims) Valid ¶
func (stc *ConsoleTokenClaims) Valid() error
type DatabaseConfig ¶
type DatabaseConfig struct { Addresses []string `` /* 135-byte string literal not displayed */ ConnMaxLifetimeMs int `` /* 199-byte string literal not displayed */ MaxOpenConns int `yaml:"max_open_conns" json:"max_open_conns" usage:"Maximum number of allowed open connections to the database. Default 100."` MaxIdleConns int `` /* 135-byte string literal not displayed */ DnsScanIntervalSec int `` /* 171-byte string literal not displayed */ }
DatabaseConfig is configuration relevant to the Database storage.
func NewDatabaseConfig ¶
func NewDatabaseConfig() *DatabaseConfig
func (*DatabaseConfig) Clone ¶ added in v3.25.0
func (cfg *DatabaseConfig) Clone() *DatabaseConfig
type DeferredMessage ¶
type DeferredMessage struct { PresenceIDs []*PresenceID Envelope *rtapi.Envelope Reliable bool }
Deferred message expected to be batched with other deferred messages. All deferred messages in a batch are expected to be for the same stream/mode and share a logger context.
type ErrorCauser ¶
type ErrorCauser interface { // Cause returns the proximate cause of this error. Cause() error }
ErrorCauser is the type implemented by an error that remembers its cause.
ErrorCauser is intentionally equivalent to the causer interface used by the github.com/pkg/errors package.
type GoogleAuthConfig ¶ added in v3.16.0
type GoogleAuthConfig struct { CredentialsJSON string `yaml:"credentials_json" json:"credentials_json" usage:"Google's Access Credentials."` OAuthConfig *oauth2.Config `yaml:"-" json:"-"` }
func NewGoogleAuthConfig ¶ added in v3.16.0
func NewGoogleAuthConfig() *GoogleAuthConfig
func (*GoogleAuthConfig) Clone ¶ added in v3.25.0
func (cfg *GoogleAuthConfig) Clone() *GoogleAuthConfig
func (*GoogleAuthConfig) GetCredentialsJSON ¶ added in v3.25.0
func (cfg *GoogleAuthConfig) GetCredentialsJSON() string
type GoogleRefundScheduler ¶ added in v3.15.0
type GoogleRefundScheduler interface { Start(runtime *Runtime) Pause() Resume() Stop() }
func NewGoogleRefundScheduler ¶ added in v3.15.0
type IAPAppleConfig ¶ added in v3.2.0
type IAPAppleConfig struct { NotificationsEndpointId string `` /* 150-byte string literal not displayed */ }
func (IAPAppleConfig) GetNotificationsEndpointId ¶ added in v3.25.0
func (iap IAPAppleConfig) GetNotificationsEndpointId() string
func (IAPAppleConfig) GetSharedPassword ¶ added in v3.25.0
func (iap IAPAppleConfig) GetSharedPassword() string
type IAPConfig ¶ added in v3.2.0
type IAPConfig struct { Apple *IAPAppleConfig `yaml:"apple" json:"apple" usage:"Apple App Store purchase validation configuration."` Google *IAPGoogleConfig `yaml:"google" json:"google" usage:"Google Play Store purchase validation configuration."` Huawei *IAPHuaweiConfig `yaml:"huawei" json:"huawei" usage:"Huawei purchase validation configuration."` FacebookInstant *IAPFacebookInstantConfig `yaml:"facebook_instant" json:"facebook_instant" usage:"Facebook Instant purchase validation configuration."` }
func NewIAPConfig ¶ added in v3.2.0
func NewIAPConfig() *IAPConfig
func (*IAPConfig) GetApple ¶ added in v3.25.0
func (cfg *IAPConfig) GetApple() runtime.IAPAppleConfig
func (*IAPConfig) GetFacebookInstant ¶ added in v3.25.0
func (cfg *IAPConfig) GetFacebookInstant() runtime.IAPFacebookInstantConfig
func (*IAPConfig) GetGoogle ¶ added in v3.25.0
func (cfg *IAPConfig) GetGoogle() runtime.IAPGoogleConfig
func (*IAPConfig) GetHuawei ¶ added in v3.25.0
func (cfg *IAPConfig) GetHuawei() runtime.IAPHuaweiConfig
type IAPFacebookInstantConfig ¶ added in v3.19.0
type IAPFacebookInstantConfig struct {
AppSecret string `yaml:"app_secret" json:"app_secret" usage:"Facebook Instant OAuth app client secret."`
}
func (IAPFacebookInstantConfig) GetAppSecret ¶ added in v3.25.0
func (i IAPFacebookInstantConfig) GetAppSecret() string
type IAPGoogleConfig ¶ added in v3.2.0
type IAPGoogleConfig struct { ClientEmail string `yaml:"client_email" json:"client_email" usage:"Google Service Account client email."` PrivateKey string `yaml:"private_key" json:"private_key" usage:"Google Service Account private key."` NotificationsEndpointId string `` /* 146-byte string literal not displayed */ RefundCheckPeriodMin int `` /* 139-byte string literal not displayed */ PackageName string `yaml:"package_name" json:"package_name" usage:"Google Play Store App Package Name."` }
func (*IAPGoogleConfig) Enabled ¶ added in v3.15.0
func (iapg *IAPGoogleConfig) Enabled() bool
func (*IAPGoogleConfig) GetClientEmail ¶ added in v3.25.0
func (iapg *IAPGoogleConfig) GetClientEmail() string
func (*IAPGoogleConfig) GetNotificationsEndpointId ¶ added in v3.25.0
func (iapg *IAPGoogleConfig) GetNotificationsEndpointId() string
func (*IAPGoogleConfig) GetPackageName ¶ added in v3.25.0
func (iapg *IAPGoogleConfig) GetPackageName() string
func (*IAPGoogleConfig) GetPrivateKey ¶ added in v3.25.0
func (iapg *IAPGoogleConfig) GetPrivateKey() string
func (*IAPGoogleConfig) GetRefundCheckPeriodMin ¶ added in v3.25.0
func (iapg *IAPGoogleConfig) GetRefundCheckPeriodMin() int
type IAPHuaweiConfig ¶ added in v3.2.0
type IAPHuaweiConfig struct { PublicKey string `yaml:"public_key" json:"public_key" usage:"Huawei IAP store Base64 encoded Public Key."` ClientID string `yaml:"client_id" json:"client_id" usage:"Huawei OAuth client secret."` ClientSecret string `yaml:"client_secret" json:"client_secret" usage:"Huawei OAuth app client secret."` }
func (IAPHuaweiConfig) GetClientID ¶ added in v3.25.0
func (i IAPHuaweiConfig) GetClientID() string
func (IAPHuaweiConfig) GetClientSecret ¶ added in v3.25.0
func (i IAPHuaweiConfig) GetClientSecret() string
func (IAPHuaweiConfig) GetPublicKey ¶ added in v3.25.0
func (i IAPHuaweiConfig) GetPublicKey() string
type LSentinelType ¶
func (*LSentinelType) String ¶
func (s *LSentinelType) String() string
func (*LSentinelType) Type ¶
func (s *LSentinelType) Type() lua.LValueType
type Leaderboard ¶
type Leaderboard struct { Id string Authoritative bool SortOrder int Operator int ResetScheduleStr string ResetSchedule *cronexpr.Expression Metadata string CreateTime int64 Category int Description string Duration int EndTime int64 JoinRequired bool MaxSize int MaxNumScore int Title string StartTime int64 EnableRanks bool }
func (*Leaderboard) GetAuthoritative ¶
func (l *Leaderboard) GetAuthoritative() bool
func (*Leaderboard) GetCreateTime ¶
func (l *Leaderboard) GetCreateTime() int64
func (*Leaderboard) GetId ¶
func (l *Leaderboard) GetId() string
func (*Leaderboard) GetMetadata ¶
func (l *Leaderboard) GetMetadata() map[string]interface{}
func (*Leaderboard) GetOperator ¶
func (l *Leaderboard) GetOperator() string
func (*Leaderboard) GetReset ¶
func (l *Leaderboard) GetReset() string
func (*Leaderboard) GetSortOrder ¶
func (l *Leaderboard) GetSortOrder() string
func (*Leaderboard) HasMaxSize ¶ added in v3.12.0
func (l *Leaderboard) HasMaxSize() bool
func (*Leaderboard) IsTournament ¶
func (l *Leaderboard) IsTournament() bool
type LeaderboardAllCursor ¶ added in v3.17.0
type LeaderboardAllCursor struct {
Offset int
}
type LeaderboardCache ¶
type LeaderboardCache interface { Get(id string) *Leaderboard ListAll(limit int, reverse bool, cursor *LeaderboardAllCursor) ([]*Leaderboard, int, *LeaderboardAllCursor) RefreshAllLeaderboards(ctx context.Context) error Create(ctx context.Context, id string, authoritative bool, sortOrder, operator int, resetSchedule, metadata string, enableRanks bool) (*Leaderboard, bool, error) Insert(id string, authoritative bool, sortOrder, operator int, resetSchedule, metadata string, createTime int64, enableRanks bool) List(limit int, cursor *LeaderboardListCursor) ([]*Leaderboard, *LeaderboardListCursor, error) CreateTournament(ctx context.Context, id string, authoritative bool, sortOrder, operator int, resetSchedule, metadata, title, description string, category, startTime, endTime, duration, maxSize, maxNumScore int, joinRequired, enableRanks bool) (*Leaderboard, bool, error) InsertTournament(id string, authoritative bool, sortOrder, operator int, resetSchedule, metadata, title, description string, category, duration, maxSize, maxNumScore int, joinRequired bool, createTime, startTime, endTime int64, enableRanks bool) ListTournaments(now int64, categoryStart, categoryEnd int, startTime, endTime int64, limit int, cursor *TournamentListCursor) ([]*Leaderboard, *TournamentListCursor, error) Delete(ctx context.Context, rankCache LeaderboardRankCache, scheduler LeaderboardScheduler, id string) (bool, error) Remove(id string) }
type LeaderboardConfig ¶
type LeaderboardConfig struct { BlacklistRankCache []string `` /* 211-byte string literal not displayed */ CallbackQueueSize int `` /* 175-byte string literal not displayed */ CallbackQueueWorkers int `` /* 170-byte string literal not displayed */ RankCacheWorkers int `` /* 269-byte string literal not displayed */ }
LeaderboardConfig is configuration relevant to the leaderboard system.
func NewLeaderboardConfig ¶
func NewLeaderboardConfig() *LeaderboardConfig
func (*LeaderboardConfig) Clone ¶ added in v3.25.0
func (cfg *LeaderboardConfig) Clone() *LeaderboardConfig
type LeaderboardListCursor ¶ added in v3.4.0
type LeaderboardListCursor struct {
Offset int
}
type LeaderboardRankCache ¶
type LeaderboardRankCache interface { Get(leaderboardId string, expiryUnix int64, ownerID uuid.UUID) int64 GetDataByRank(leaderboardId string, expiryUnix int64, sortOrder int, rank int64) (ownerID uuid.UUID, score, subscore int64, err error) Fill(leaderboardId string, expiryUnix int64, records []*api.LeaderboardRecord, enable bool) int64 Insert(leaderboardId string, sortOrder int, score, subscore int64, generation int32, expiryUnix int64, ownerID uuid.UUID, enable bool) int64 Delete(leaderboardId string, expiryUnix int64, ownerID uuid.UUID) bool DeleteLeaderboard(leaderboardId string, expiryUnix int64) bool TrimExpired(nowUnix int64) bool }
func NewLocalLeaderboardRankCache ¶
func NewLocalLeaderboardRankCache(ctx context.Context, startupLogger *zap.Logger, db *sql.DB, config *LeaderboardConfig, leaderboardCache LeaderboardCache) LeaderboardRankCache
type LeaderboardScheduler ¶
type LeaderboardScheduler interface { Start(runtime *Runtime) Pause() Resume() Stop() Update() }
func NewLocalLeaderboardScheduler ¶
func NewLocalLeaderboardScheduler(logger *zap.Logger, db *sql.DB, config Config, cache LeaderboardCache, rankCache LeaderboardRankCache) LeaderboardScheduler
type LeaderboardSchedulerCallback ¶
type LeaderboardSchedulerCallback struct {
// contains filtered or unexported fields
}
type LeaderboardWithExpiry ¶
type LocalFmCallbackHandler ¶ added in v3.21.0
type LocalFmCallbackHandler struct {
// contains filtered or unexported fields
}
func (*LocalFmCallbackHandler) GenerateCallbackId ¶ added in v3.21.0
func (fch *LocalFmCallbackHandler) GenerateCallbackId() string
func (*LocalFmCallbackHandler) InvokeCallback ¶ added in v3.21.0
func (fch *LocalFmCallbackHandler) InvokeCallback(callbackId string, status runtime.FmCreateStatus, instanceInfo *runtime.InstanceInfo, sessionInfo []*runtime.SessionInfo, metadata map[string]any, err error)
func (*LocalFmCallbackHandler) SetCallback ¶ added in v3.21.0
func (fch *LocalFmCallbackHandler) SetCallback(callbackId string, fn runtime.FmCreateCallbackFn)
type LocalGoogleRefundScheduler ¶ added in v3.15.0
func (*LocalGoogleRefundScheduler) Pause ¶ added in v3.15.0
func (g *LocalGoogleRefundScheduler) Pause()
func (*LocalGoogleRefundScheduler) Resume ¶ added in v3.15.0
func (g *LocalGoogleRefundScheduler) Resume()
func (*LocalGoogleRefundScheduler) Start ¶ added in v3.15.0
func (g *LocalGoogleRefundScheduler) Start(runtime *Runtime)
func (*LocalGoogleRefundScheduler) Stop ¶ added in v3.15.0
func (g *LocalGoogleRefundScheduler) Stop()
type LocalLeaderboardCache ¶
func (*LocalLeaderboardCache) CreateTournament ¶
func (l *LocalLeaderboardCache) CreateTournament(ctx context.Context, id string, authoritative bool, sortOrder, operator int, resetSchedule, metadata, title, description string, category, startTime, endTime, duration, maxSize, maxNumScore int, joinRequired, enableRanks bool) (*Leaderboard, bool, error)
func (*LocalLeaderboardCache) Delete ¶
func (l *LocalLeaderboardCache) Delete(ctx context.Context, rankCache LeaderboardRankCache, scheduler LeaderboardScheduler, id string) (bool, error)
func (*LocalLeaderboardCache) Get ¶
func (l *LocalLeaderboardCache) Get(id string) *Leaderboard
func (*LocalLeaderboardCache) InsertTournament ¶
func (*LocalLeaderboardCache) List ¶ added in v3.4.0
func (l *LocalLeaderboardCache) List(limit int, cursor *LeaderboardListCursor) ([]*Leaderboard, *LeaderboardListCursor, error)
func (*LocalLeaderboardCache) ListAll ¶ added in v3.17.0
func (l *LocalLeaderboardCache) ListAll(limit int, reverse bool, cursor *LeaderboardAllCursor) ([]*Leaderboard, int, *LeaderboardAllCursor)
func (*LocalLeaderboardCache) ListTournaments ¶
func (l *LocalLeaderboardCache) ListTournaments(now int64, categoryStart, categoryEnd int, startTime, endTime int64, limit int, cursor *TournamentListCursor) ([]*Leaderboard, *TournamentListCursor, error)
func (*LocalLeaderboardCache) RefreshAllLeaderboards ¶
func (l *LocalLeaderboardCache) RefreshAllLeaderboards(ctx context.Context) error
func (*LocalLeaderboardCache) Remove ¶
func (l *LocalLeaderboardCache) Remove(id string)
type LocalLeaderboardRankCache ¶
func (*LocalLeaderboardRankCache) Delete ¶
func (l *LocalLeaderboardRankCache) Delete(leaderboardId string, expiryUnix int64, ownerID uuid.UUID) bool
func (*LocalLeaderboardRankCache) DeleteLeaderboard ¶
func (l *LocalLeaderboardRankCache) DeleteLeaderboard(leaderboardId string, expiryUnix int64) bool
func (*LocalLeaderboardRankCache) Fill ¶
func (l *LocalLeaderboardRankCache) Fill(leaderboardId string, expiryUnix int64, records []*api.LeaderboardRecord, enableRanks bool) int64
func (*LocalLeaderboardRankCache) Get ¶
func (l *LocalLeaderboardRankCache) Get(leaderboardId string, expiryUnix int64, ownerID uuid.UUID) int64
func (*LocalLeaderboardRankCache) GetDataByRank ¶ added in v3.18.0
func (*LocalLeaderboardRankCache) TrimExpired ¶
func (l *LocalLeaderboardRankCache) TrimExpired(nowUnix int64) bool
type LocalLeaderboardScheduler ¶
func (*LocalLeaderboardScheduler) Pause ¶
func (ls *LocalLeaderboardScheduler) Pause()
func (*LocalLeaderboardScheduler) Resume ¶
func (ls *LocalLeaderboardScheduler) Resume()
func (*LocalLeaderboardScheduler) Start ¶
func (ls *LocalLeaderboardScheduler) Start(runtime *Runtime)
func (*LocalLeaderboardScheduler) Stop ¶
func (ls *LocalLeaderboardScheduler) Stop()
func (*LocalLeaderboardScheduler) Update ¶
func (ls *LocalLeaderboardScheduler) Update()
type LocalLoginAttemptCache ¶ added in v3.13.0
func (*LocalLoginAttemptCache) Add ¶ added in v3.13.0
func (c *LocalLoginAttemptCache) Add(account, ip string) (LockoutType, time.Time)
func (*LocalLoginAttemptCache) Allow ¶ added in v3.13.0
func (c *LocalLoginAttemptCache) Allow(account, ip string) bool
func (*LocalLoginAttemptCache) Reset ¶ added in v3.13.0
func (c *LocalLoginAttemptCache) Reset(account string)
func (*LocalLoginAttemptCache) Stop ¶ added in v3.13.0
func (c *LocalLoginAttemptCache) Stop()
type LocalMatchRegistry ¶
type LocalMatchRegistry struct {
// contains filtered or unexported fields
}
func (*LocalMatchRegistry) Count ¶
func (r *LocalMatchRegistry) Count() int
func (*LocalMatchRegistry) CreateMatch ¶
func (r *LocalMatchRegistry) CreateMatch(ctx context.Context, createFn RuntimeMatchCreateFunction, module string, params map[string]interface{}) (string, error)
func (*LocalMatchRegistry) GetState ¶
func (r *LocalMatchRegistry) GetState(ctx context.Context, id uuid.UUID, node string) ([]*rtapi.UserPresence, int64, string, error)
func (*LocalMatchRegistry) Join ¶
func (r *LocalMatchRegistry) Join(id uuid.UUID, presences []*MatchPresence)
func (*LocalMatchRegistry) JoinAttempt ¶
func (*LocalMatchRegistry) Kick ¶
func (r *LocalMatchRegistry) Kick(stream PresenceStream, presences []*MatchPresence)
func (*LocalMatchRegistry) Leave ¶
func (r *LocalMatchRegistry) Leave(id uuid.UUID, presences []*MatchPresence)
func (*LocalMatchRegistry) ListMatches ¶
func (r *LocalMatchRegistry) ListMatches(ctx context.Context, limit int, authoritative *wrapperspb.BoolValue, label *wrapperspb.StringValue, minSize *wrapperspb.Int32Value, maxSize *wrapperspb.Int32Value, queryString *wrapperspb.StringValue, node *wrapperspb.StringValue) ([]*api.Match, []string, error)
func (*LocalMatchRegistry) NewMatch ¶
func (r *LocalMatchRegistry) NewMatch(logger *zap.Logger, id uuid.UUID, core RuntimeMatchCore, stopped *atomic.Bool, params map[string]interface{}) (*MatchHandler, error)
func (*LocalMatchRegistry) RemoveMatch ¶
func (r *LocalMatchRegistry) RemoveMatch(id uuid.UUID, stream PresenceStream)
func (*LocalMatchRegistry) Stop ¶
func (r *LocalMatchRegistry) Stop(graceSeconds int) chan struct{}
func (*LocalMatchRegistry) UpdateMatchLabel ¶
func (r *LocalMatchRegistry) UpdateMatchLabel(id uuid.UUID, tickRate int, handlerName, label string, createTime int64) error
type LocalMatchmaker ¶
func (*LocalMatchmaker) Extract ¶ added in v3.13.0
func (m *LocalMatchmaker) Extract() []*MatchmakerExtract
func (*LocalMatchmaker) GetStats ¶ added in v3.23.0
func (m *LocalMatchmaker) GetStats() *api.MatchmakerStats
func (*LocalMatchmaker) Insert ¶ added in v3.13.0
func (m *LocalMatchmaker) Insert(extracts []*MatchmakerExtract) error
func (*LocalMatchmaker) OnMatchedEntries ¶ added in v3.13.0
func (m *LocalMatchmaker) OnMatchedEntries(fn func(entries [][]*MatchmakerEntry))
func (*LocalMatchmaker) OnStatsUpdate ¶ added in v3.23.0
func (m *LocalMatchmaker) OnStatsUpdate(fn func(*api.MatchmakerStats))
func (*LocalMatchmaker) Pause ¶ added in v3.13.0
func (m *LocalMatchmaker) Pause()
func (*LocalMatchmaker) Process ¶ added in v3.13.0
func (m *LocalMatchmaker) Process()
func (*LocalMatchmaker) Remove ¶ added in v3.13.0
func (m *LocalMatchmaker) Remove(tickets []string)
func (*LocalMatchmaker) RemoveAll ¶ added in v3.13.0
func (m *LocalMatchmaker) RemoveAll(node string)
func (*LocalMatchmaker) RemoveParty ¶
func (m *LocalMatchmaker) RemoveParty(partyID, ticket string) error
func (*LocalMatchmaker) RemovePartyAll ¶
func (m *LocalMatchmaker) RemovePartyAll(partyID string) error
func (*LocalMatchmaker) RemoveSession ¶
func (m *LocalMatchmaker) RemoveSession(sessionID, ticket string) error
func (*LocalMatchmaker) RemoveSessionAll ¶
func (m *LocalMatchmaker) RemoveSessionAll(sessionID string) error
func (*LocalMatchmaker) Resume ¶ added in v3.13.0
func (m *LocalMatchmaker) Resume()
func (*LocalMatchmaker) SetStats ¶ added in v3.23.0
func (m *LocalMatchmaker) SetStats(stats *api.MatchmakerStats)
func (*LocalMatchmaker) Stop ¶
func (m *LocalMatchmaker) Stop()
type LocalMessageRouter ¶
type LocalMessageRouter struct {
// contains filtered or unexported fields
}
func (*LocalMessageRouter) SendDeferred ¶
func (r *LocalMessageRouter) SendDeferred(logger *zap.Logger, messages []*DeferredMessage)
func (*LocalMessageRouter) SendToPresenceIDs ¶
func (r *LocalMessageRouter) SendToPresenceIDs(logger *zap.Logger, presenceIDs []*PresenceID, envelope *rtapi.Envelope, reliable bool)
func (*LocalMessageRouter) SendToStream ¶
func (r *LocalMessageRouter) SendToStream(logger *zap.Logger, stream PresenceStream, envelope *rtapi.Envelope, reliable bool)
type LocalMetrics ¶ added in v3.6.0
type LocalMetrics struct { PrometheusScope tally.Scope // contains filtered or unexported fields }
func NewLocalMetrics ¶ added in v3.6.0
func (*LocalMetrics) ApiAfter ¶ added in v3.6.0
func (m *LocalMetrics) ApiAfter(name string, elapsed time.Duration, isErr bool)
func (*LocalMetrics) ApiBefore ¶ added in v3.6.0
func (m *LocalMetrics) ApiBefore(name string, elapsed time.Duration, isErr bool)
func (*LocalMetrics) CountDroppedEvents ¶ added in v3.6.0
func (m *LocalMetrics) CountDroppedEvents(delta int64)
Increment the number of dropped events.
func (*LocalMetrics) CountUntaggedGrpcStatsCalls ¶ added in v3.22.0
func (m *LocalMetrics) CountUntaggedGrpcStatsCalls(delta int64)
Increment the number of untagged gRpc stats calls.
func (*LocalMetrics) CountWebsocketClosed ¶ added in v3.6.0
func (m *LocalMetrics) CountWebsocketClosed(delta int64)
Increment the number of closed WS connections.
func (*LocalMetrics) CountWebsocketOpened ¶ added in v3.6.0
func (m *LocalMetrics) CountWebsocketOpened(delta int64)
Increment the number of opened WS connections.
func (*LocalMetrics) CustomCounter ¶ added in v3.6.0
func (m *LocalMetrics) CustomCounter(name string, tags map[string]string, delta int64)
CustomCounter adds the given delta to a counter with the specified name and tags.
func (*LocalMetrics) CustomGauge ¶ added in v3.6.0
func (m *LocalMetrics) CustomGauge(name string, tags map[string]string, value float64)
CustomGauge sets the given value to a gauge with the specified name and tags.
func (*LocalMetrics) CustomTimer ¶ added in v3.6.0
CustomTimer records the given value to a timer with the specified name and tags.
func (*LocalMetrics) GaugeAuthoritativeMatches ¶ added in v3.6.0
func (m *LocalMetrics) GaugeAuthoritativeMatches(value float64)
Set the absolute value of currently running authoritative matches.
func (*LocalMetrics) GaugeJsRuntimes ¶ added in v3.6.0
func (m *LocalMetrics) GaugeJsRuntimes(value float64)
Set the absolute value of currently allocated JavaScript runtime VMs.
func (*LocalMetrics) GaugeLuaRuntimes ¶ added in v3.6.0
func (m *LocalMetrics) GaugeLuaRuntimes(value float64)
Set the absolute value of currently allocated Lua runtime VMs.
func (*LocalMetrics) GaugePresences ¶ added in v3.6.0
func (m *LocalMetrics) GaugePresences(value float64)
Set the absolute value of currently tracked presences.
func (*LocalMetrics) GaugeRuntimes ¶ added in v3.6.0
func (m *LocalMetrics) GaugeRuntimes(value float64)
Set the absolute value of currently allocated Lua runtime VMs.
func (*LocalMetrics) GaugeSessions ¶ added in v3.6.0
func (m *LocalMetrics) GaugeSessions(value float64)
Set the absolute value of currently active sessions.
func (*LocalMetrics) GaugeStorageIndexEntries ¶ added in v3.18.0
func (m *LocalMetrics) GaugeStorageIndexEntries(indexName string, value float64)
func (*LocalMetrics) Matchmaker ¶ added in v3.13.0
func (m *LocalMetrics) Matchmaker(tickets, activeTickets float64, processTime time.Duration)
Record a set of matchmaker metrics.
func (*LocalMetrics) Message ¶ added in v3.6.0
func (m *LocalMetrics) Message(recvBytes int64, isErr bool)
func (*LocalMetrics) MessageBytesSent ¶ added in v3.6.0
func (m *LocalMetrics) MessageBytesSent(sentBytes int64)
func (*LocalMetrics) PresenceEvent ¶ added in v3.6.0
func (m *LocalMetrics) PresenceEvent(dequeueElapsed, processElapsed time.Duration)
Count presence events and time their processing.
func (*LocalMetrics) SnapshotLatencyMs ¶ added in v3.6.0
func (m *LocalMetrics) SnapshotLatencyMs() float64
func (*LocalMetrics) SnapshotRateSec ¶ added in v3.6.0
func (m *LocalMetrics) SnapshotRateSec() float64
func (*LocalMetrics) SnapshotRecvKbSec ¶ added in v3.6.0
func (m *LocalMetrics) SnapshotRecvKbSec() float64
func (*LocalMetrics) SnapshotSentKbSec ¶ added in v3.6.0
func (m *LocalMetrics) SnapshotSentKbSec() float64
func (*LocalMetrics) Stop ¶ added in v3.6.0
func (m *LocalMetrics) Stop(logger *zap.Logger)
func (*LocalMetrics) StorageWriteRejectCount ¶ added in v3.13.0
func (m *LocalMetrics) StorageWriteRejectCount(tags map[string]string, delta int64)
type LocalPartyRegistry ¶
type LocalPartyRegistry struct {
// contains filtered or unexported fields
}
func (*LocalPartyRegistry) Create ¶
func (p *LocalPartyRegistry) Create(open bool, maxSize int, presence *rtapi.UserPresence) *PartyHandler
func (*LocalPartyRegistry) Delete ¶
func (p *LocalPartyRegistry) Delete(id uuid.UUID)
func (*LocalPartyRegistry) Join ¶
func (p *LocalPartyRegistry) Join(id uuid.UUID, presences []*Presence)
func (*LocalPartyRegistry) Leave ¶
func (p *LocalPartyRegistry) Leave(id uuid.UUID, presences []*Presence)
func (*LocalPartyRegistry) PartyAccept ¶
func (p *LocalPartyRegistry) PartyAccept(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, presence *rtapi.UserPresence) error
func (*LocalPartyRegistry) PartyClose ¶
func (p *LocalPartyRegistry) PartyClose(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string) error
func (*LocalPartyRegistry) PartyDataSend ¶
func (*LocalPartyRegistry) PartyJoinRequest ¶
func (*LocalPartyRegistry) PartyJoinRequestList ¶
func (p *LocalPartyRegistry) PartyJoinRequestList(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string) ([]*rtapi.UserPresence, error)
func (*LocalPartyRegistry) PartyMatchmakerAdd ¶
func (*LocalPartyRegistry) PartyMatchmakerRemove ¶
func (p *LocalPartyRegistry) PartyMatchmakerRemove(ctx context.Context, id uuid.UUID, node, sessionID, fromNode, ticket string) error
func (*LocalPartyRegistry) PartyPromote ¶
func (p *LocalPartyRegistry) PartyPromote(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, presence *rtapi.UserPresence) error
func (*LocalPartyRegistry) PartyRemove ¶
func (p *LocalPartyRegistry) PartyRemove(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, presence *rtapi.UserPresence) error
type LocalSessionCache ¶ added in v3.2.0
func (*LocalSessionCache) Add ¶ added in v3.2.0
func (s *LocalSessionCache) Add(userID uuid.UUID, sessionExp int64, tokenId string, refreshExp int64, refreshTokenId string)
func (*LocalSessionCache) Ban ¶ added in v3.2.0
func (s *LocalSessionCache) Ban(userIDs []uuid.UUID)
func (*LocalSessionCache) IsValidRefresh ¶ added in v3.2.0
func (s *LocalSessionCache) IsValidRefresh(userID uuid.UUID, exp int64, tokenId string) bool
func (*LocalSessionCache) IsValidSession ¶ added in v3.2.0
func (s *LocalSessionCache) IsValidSession(userID uuid.UUID, exp int64, tokenId string) bool
func (*LocalSessionCache) Remove ¶ added in v3.2.0
func (s *LocalSessionCache) Remove(userID uuid.UUID, sessionExp int64, sessionTokenId string, refreshExp int64, refreshTokenId string)
func (*LocalSessionCache) RemoveAll ¶ added in v3.2.0
func (s *LocalSessionCache) RemoveAll(userID uuid.UUID)
func (*LocalSessionCache) Stop ¶ added in v3.2.0
func (s *LocalSessionCache) Stop()
func (*LocalSessionCache) Unban ¶ added in v3.2.0
func (s *LocalSessionCache) Unban(userIDs []uuid.UUID)
type LocalSessionRegistry ¶
type LocalSessionRegistry struct {
// contains filtered or unexported fields
}
func (*LocalSessionRegistry) Add ¶
func (r *LocalSessionRegistry) Add(session Session)
func (*LocalSessionRegistry) Count ¶
func (r *LocalSessionRegistry) Count() int
func (*LocalSessionRegistry) Disconnect ¶
func (r *LocalSessionRegistry) Disconnect(ctx context.Context, sessionID uuid.UUID, ban bool, reason ...runtime.PresenceReason) error
func (*LocalSessionRegistry) Get ¶
func (r *LocalSessionRegistry) Get(sessionID uuid.UUID) Session
func (*LocalSessionRegistry) Range ¶ added in v3.17.0
func (r *LocalSessionRegistry) Range(fn func(Session) bool)
func (*LocalSessionRegistry) Remove ¶
func (r *LocalSessionRegistry) Remove(sessionID uuid.UUID)
func (*LocalSessionRegistry) SingleSession ¶ added in v3.7.0
func (r *LocalSessionRegistry) SingleSession(ctx context.Context, tracker Tracker, userID, sessionID uuid.UUID)
func (*LocalSessionRegistry) Stop ¶
func (r *LocalSessionRegistry) Stop()
type LocalStatusHandler ¶
type LocalStatusHandler struct {
// contains filtered or unexported fields
}
func (*LocalStatusHandler) GetStatus ¶
func (s *LocalStatusHandler) GetStatus(ctx context.Context) ([]*console.StatusList_Status, error)
type LocalStatusRegistry ¶ added in v3.21.1
func (*LocalStatusRegistry) FillOnlineAccounts ¶ added in v3.21.1
func (s *LocalStatusRegistry) FillOnlineAccounts(accounts []*api.Account)
func (*LocalStatusRegistry) FillOnlineFriends ¶ added in v3.21.1
func (s *LocalStatusRegistry) FillOnlineFriends(friends []*api.Friend)
func (*LocalStatusRegistry) FillOnlineGroupUsers ¶ added in v3.21.1
func (s *LocalStatusRegistry) FillOnlineGroupUsers(groupUsers []*api.GroupUserList_GroupUser)
func (*LocalStatusRegistry) FillOnlineUsers ¶ added in v3.21.1
func (s *LocalStatusRegistry) FillOnlineUsers(users []*api.User)
func (*LocalStatusRegistry) Follow ¶ added in v3.21.1
func (s *LocalStatusRegistry) Follow(sessionID uuid.UUID, userIDs map[uuid.UUID]struct{})
func (*LocalStatusRegistry) IsOnline ¶ added in v3.21.1
func (s *LocalStatusRegistry) IsOnline(userID uuid.UUID) bool
func (*LocalStatusRegistry) Queue ¶ added in v3.21.1
func (s *LocalStatusRegistry) Queue(userID uuid.UUID, joins, leaves []*rtapi.UserPresence)
func (*LocalStatusRegistry) Stop ¶ added in v3.21.1
func (s *LocalStatusRegistry) Stop()
func (*LocalStatusRegistry) Unfollow ¶ added in v3.21.1
func (s *LocalStatusRegistry) Unfollow(sessionID uuid.UUID, userIDs []uuid.UUID)
func (*LocalStatusRegistry) UnfollowAll ¶ added in v3.21.1
func (s *LocalStatusRegistry) UnfollowAll(sessionID uuid.UUID)
type LocalStorageIndex ¶ added in v3.17.0
type LocalStorageIndex struct {
// contains filtered or unexported fields
}
func (*LocalStorageIndex) CreateIndex ¶ added in v3.17.0
func (*LocalStorageIndex) Delete ¶ added in v3.17.0
func (si *LocalStorageIndex) Delete(ctx context.Context, objects StorageOpDeletes) (deletes int)
func (*LocalStorageIndex) Load ¶ added in v3.17.0
func (si *LocalStorageIndex) Load(ctx context.Context) error
func (*LocalStorageIndex) RegisterFilters ¶ added in v3.17.0
func (si *LocalStorageIndex) RegisterFilters(runtime *Runtime)
func (*LocalStorageIndex) Write ¶ added in v3.17.0
func (si *LocalStorageIndex) Write(ctx context.Context, objects []*api.StorageObject) (updates int, deletes int)
type LocalStreamManager ¶
type LocalStreamManager struct {
// contains filtered or unexported fields
}
func (*LocalStreamManager) UserJoin ¶
func (m *LocalStreamManager) UserJoin(stream PresenceStream, userID, sessionID uuid.UUID, hidden, persistence bool, status string) (bool, bool, error)
func (*LocalStreamManager) UserLeave ¶
func (m *LocalStreamManager) UserLeave(stream PresenceStream, userID, sessionID uuid.UUID) error
func (*LocalStreamManager) UserUpdate ¶
func (m *LocalStreamManager) UserUpdate(stream PresenceStream, userID, sessionID uuid.UUID, hidden, persistence bool, status string) (bool, error)
type LocalTracker ¶
func (*LocalTracker) Count ¶
func (t *LocalTracker) Count() int
func (*LocalTracker) CountByStream ¶
func (t *LocalTracker) CountByStream(stream PresenceStream) int
func (*LocalTracker) CountByStreamModeFilter ¶
func (t *LocalTracker) CountByStreamModeFilter(modes map[uint8]*uint8) map[*PresenceStream]int32
func (*LocalTracker) GetLocalBySessionIDStreamUserID ¶
func (t *LocalTracker) GetLocalBySessionIDStreamUserID(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) *PresenceMeta
func (*LocalTracker) ListByStream ¶
func (t *LocalTracker) ListByStream(stream PresenceStream, includeHidden bool, includeNotHidden bool) []*Presence
func (*LocalTracker) ListLocalSessionIDByStream ¶
func (t *LocalTracker) ListLocalSessionIDByStream(stream PresenceStream) []uuid.UUID
func (*LocalTracker) ListNodesForStream ¶
func (t *LocalTracker) ListNodesForStream(stream PresenceStream) map[string]struct{}
func (*LocalTracker) ListPresenceIDByStream ¶
func (t *LocalTracker) ListPresenceIDByStream(stream PresenceStream) []*PresenceID
func (*LocalTracker) ListPresenceIDByStreams ¶ added in v3.20.1
func (t *LocalTracker) ListPresenceIDByStreams(fill map[PresenceStream][]*PresenceID)
func (*LocalTracker) SetMatchJoinListener ¶
func (t *LocalTracker) SetMatchJoinListener(f func(id uuid.UUID, joins []*MatchPresence))
func (*LocalTracker) SetMatchLeaveListener ¶
func (t *LocalTracker) SetMatchLeaveListener(f func(id uuid.UUID, leaves []*MatchPresence))
func (*LocalTracker) SetPartyJoinListener ¶
func (t *LocalTracker) SetPartyJoinListener(f func(id uuid.UUID, joins []*Presence))
func (*LocalTracker) SetPartyLeaveListener ¶
func (t *LocalTracker) SetPartyLeaveListener(f func(id uuid.UUID, leaves []*Presence))
func (*LocalTracker) Stop ¶
func (t *LocalTracker) Stop()
func (*LocalTracker) StreamExists ¶
func (t *LocalTracker) StreamExists(stream PresenceStream) bool
func (*LocalTracker) Track ¶
func (t *LocalTracker) Track(ctx context.Context, sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID, meta PresenceMeta) (bool, bool)
func (*LocalTracker) TrackMulti ¶ added in v3.1.0
func (t *LocalTracker) TrackMulti(ctx context.Context, sessionID uuid.UUID, ops []*TrackerOp, userID uuid.UUID) bool
func (*LocalTracker) Untrack ¶
func (t *LocalTracker) Untrack(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID)
func (*LocalTracker) UntrackAll ¶
func (t *LocalTracker) UntrackAll(sessionID uuid.UUID, reason runtime.PresenceReason)
func (*LocalTracker) UntrackByStream ¶
func (t *LocalTracker) UntrackByStream(stream PresenceStream)
func (*LocalTracker) UntrackLocalByModes ¶ added in v3.7.0
func (t *LocalTracker) UntrackLocalByModes(sessionID uuid.UUID, modes map[uint8]struct{}, skipStream PresenceStream)
func (*LocalTracker) UntrackLocalByStream ¶
func (t *LocalTracker) UntrackLocalByStream(stream PresenceStream)
func (*LocalTracker) UntrackMulti ¶ added in v3.1.0
func (t *LocalTracker) UntrackMulti(sessionID uuid.UUID, streams []*PresenceStream, userID uuid.UUID)
func (*LocalTracker) Update ¶
func (t *LocalTracker) Update(ctx context.Context, sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID, meta PresenceMeta) bool
type LockoutType ¶ added in v3.13.0
type LockoutType uint8
const ( LockoutTypeNone LockoutType = iota LockoutTypeAccount LockoutTypeIp )
type LoggerConfig ¶
type LoggerConfig struct { Level string `yaml:"level" json:"level" usage:"Log level to set. Valid values are 'debug', 'info', 'warn', 'error'. Default 'info'."` Stdout bool `yaml:"stdout" json:"stdout" usage:"Log to standard console output (as well as to a file if set). Default true."` File string `` /* 135-byte string literal not displayed */ Rotation bool `yaml:"rotation" json:"rotation" usage:"Rotate log files. Default is false."` // Reference: https://godoc.org/gopkg.in/natefinch/lumberjack.v2 MaxSize int `` /* 139-byte string literal not displayed */ MaxAge int `` /* 195-byte string literal not displayed */ MaxBackups int `` /* 188-byte string literal not displayed */ LocalTime bool `` /* 184-byte string literal not displayed */ Compress bool `yaml:"compress" json:"compress" usage:"This determines if the rotated log files should be compressed using gzip."` Format string `yaml:"format" json:"format" usage:"Set logging output format. Can either be 'JSON' or 'Stackdriver'. Default is 'JSON'."` }
LoggerConfig is configuration relevant to logging levels and output.
func NewLoggerConfig ¶
func NewLoggerConfig() *LoggerConfig
func (*LoggerConfig) Clone ¶ added in v3.25.0
func (cfg *LoggerConfig) Clone() *LoggerConfig
func (*LoggerConfig) GetLevel ¶ added in v3.25.0
func (cfg *LoggerConfig) GetLevel() string
type LoggingFormat ¶
type LoggingFormat int8
const ( JSONFormat LoggingFormat = iota - 1 StackdriverFormat )
type LoginAttemptCache ¶ added in v3.13.0
type LoginAttemptCache interface { Stop() // Allow checks whether account or IP is locked out or should be allowed to attempt to authenticate. Allow(account, ip string) bool // Add a failed attempt and return current lockout status. Add(account, ip string) (LockoutType, time.Time) // Reset account attempts on successful login. Reset(account string) }
func NewLocalLoginAttemptCache ¶ added in v3.13.0
func NewLocalLoginAttemptCache() LoginAttemptCache
type MFAConfig ¶ added in v3.24.0
type MFAConfig struct { StorageEncryptionKey string `` /* 156-byte string literal not displayed */ AdminAccountOn bool `yaml:"admin_account_enabled" json:"admin_account_enabled" usage:"Require MFA for the Console Admin account."` }
func NewMFAConfig ¶ added in v3.24.0
func NewMFAConfig() *MFAConfig
type MapOf ¶ added in v3.13.0
type MapOf[K comparable, V any] struct { // contains filtered or unexported fields }
MapOf is like a Go map[interface{}]interface{} but is safe for concurrent use by multiple goroutines without additional locking or coordination. Loads, stores, and deletes run in amortized constant time.
The MapOf type is specialized. Most code should use a plain Go map instead, with separate locking or coordination, for better type safety and to make it easier to maintain other invariants along with the map content.
The MapOf type is optimized for two common use cases: (1) when the entry for a given key is only ever written once but read many times, as in caches that only grow, or (2) when multiple goroutines read, write, and overwrite entries for disjoint sets of keys. In these two cases, use of a MapOf may significantly reduce lock contention compared to a Go map paired with a separate Mutex or RWMutex.
The zero MapOf is empty and ready for use. A MapOf must not be copied after first use.
func (*MapOf[K, V]) Delete ¶ added in v3.13.0
func (m *MapOf[K, V]) Delete(key K)
Delete deletes the value for a key.
func (*MapOf[K, V]) Load ¶ added in v3.13.0
Load returns the value stored in the map for a key, or nil if no value is present. The ok result indicates whether value was found in the map.
func (*MapOf[K, V]) LoadAndDelete ¶ added in v3.13.0
LoadAndDelete deletes the value for a key, returning the previous value if any. The loaded result reports whether the key was present.
func (*MapOf[K, V]) LoadOrStore ¶ added in v3.13.0
LoadOrStore returns the existing value for the key if present. Otherwise, it stores and returns the given value. The loaded result is true if the value was loaded, false if stored.
func (*MapOf[K, V]) Range ¶ added in v3.13.0
Range calls f sequentially for each key and value present in the map. If f returns false, range stops the iteration.
Range does not necessarily correspond to any consistent snapshot of the MapOf's contents: no key will be visited more than once, but if the value for any key is stored or deleted concurrently, Range may reflect any mapping for that key from any point during the Range call.
Range may be O(N) with the number of elements in the map even if f returns false after a constant number of calls.
type MatchConfig ¶
type MatchConfig struct { InputQueueSize int `` /* 181-byte string literal not displayed */ CallQueueSize int `` /* 176-byte string literal not displayed */ SignalQueueSize int `` /* 191-byte string literal not displayed */ JoinAttemptQueueSize int `` /* 174-byte string literal not displayed */ DeferredQueueSize int `` /* 190-byte string literal not displayed */ JoinMarkerDeadlineMs int `` /* 198-byte string literal not displayed */ MaxEmptySec int `` /* 198-byte string literal not displayed */ LabelUpdateIntervalMs int `` /* 150-byte string literal not displayed */ }
MatchConfig is configuration relevant to authoritative realtime multiplayer matches.
func NewMatchConfig ¶
func NewMatchConfig() *MatchConfig
func (*MatchConfig) Clone ¶ added in v3.25.0
func (cfg *MatchConfig) Clone() *MatchConfig
type MatchDataMessage ¶
type MatchDataMessage struct { UserID uuid.UUID SessionID uuid.UUID Username string Node string OpCode int64 Data []byte Reliable bool ReceiveTime int64 }
func (*MatchDataMessage) GetData ¶
func (m *MatchDataMessage) GetData() []byte
func (*MatchDataMessage) GetHidden ¶
func (m *MatchDataMessage) GetHidden() bool
func (*MatchDataMessage) GetNodeId ¶
func (m *MatchDataMessage) GetNodeId() string
func (*MatchDataMessage) GetOpCode ¶
func (m *MatchDataMessage) GetOpCode() int64
func (*MatchDataMessage) GetPersistence ¶
func (m *MatchDataMessage) GetPersistence() bool
func (*MatchDataMessage) GetReason ¶ added in v3.2.0
func (m *MatchDataMessage) GetReason() runtime.PresenceReason
func (*MatchDataMessage) GetReceiveTime ¶
func (m *MatchDataMessage) GetReceiveTime() int64
func (*MatchDataMessage) GetReliable ¶
func (m *MatchDataMessage) GetReliable() bool
func (*MatchDataMessage) GetSessionId ¶
func (m *MatchDataMessage) GetSessionId() string
func (*MatchDataMessage) GetStatus ¶
func (m *MatchDataMessage) GetStatus() string
func (*MatchDataMessage) GetUserId ¶
func (m *MatchDataMessage) GetUserId() string
func (*MatchDataMessage) GetUsername ¶
func (m *MatchDataMessage) GetUsername() string
type MatchGetStateResult ¶
type MatchGetStateResult struct { Error error Presences []*MatchPresence Tick int64 State string }
type MatchHandler ¶
type MatchHandler struct { JoinMarkerList *MatchJoinMarkerList PresenceList *MatchPresenceList Core RuntimeMatchCore // Identification not (directly) controlled by match init. ID uuid.UUID Node string IDStr string Stream PresenceStream // Configuration set by match init. Rate int64 // contains filtered or unexported fields }
func NewMatchHandler ¶
func NewMatchHandler(logger *zap.Logger, config Config, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, router MessageRouter, core RuntimeMatchCore, id uuid.UUID, node string, stopped *atomic.Bool, params map[string]interface{}) (*MatchHandler, error)
func (*MatchHandler) CreateTime ¶ added in v3.1.2
func (mh *MatchHandler) CreateTime() int64
func (*MatchHandler) HandlerName ¶ added in v3.1.2
func (mh *MatchHandler) HandlerName() string
func (*MatchHandler) Label ¶
func (mh *MatchHandler) Label() string
func (*MatchHandler) QueueData ¶
func (mh *MatchHandler) QueueData(m *MatchDataMessage)
func (*MatchHandler) QueueGetState ¶
func (mh *MatchHandler) QueueGetState(ctx context.Context, resultCh chan<- *MatchGetStateResult) bool
func (*MatchHandler) QueueJoin ¶
func (mh *MatchHandler) QueueJoin(joins []*MatchPresence, mark bool) bool
func (*MatchHandler) QueueJoinAttempt ¶
func (*MatchHandler) QueueLeave ¶
func (mh *MatchHandler) QueueLeave(leaves []*MatchPresence) bool
func (*MatchHandler) QueueSignal ¶ added in v3.8.0
func (mh *MatchHandler) QueueSignal(ctx context.Context, resultCh chan<- *MatchSignalResult, data string) bool
func (*MatchHandler) QueueTerminate ¶
func (mh *MatchHandler) QueueTerminate(graceSeconds int) bool
func (*MatchHandler) Stop ¶
func (mh *MatchHandler) Stop()
Stop the match handler and clean up all its resources.
func (*MatchHandler) TickRate ¶ added in v3.1.2
func (mh *MatchHandler) TickRate() int
type MatchIndexEntry ¶
type MatchJoinAttemptResult ¶ added in v3.8.0
type MatchJoinMarker ¶
type MatchJoinMarker struct {
// contains filtered or unexported fields
}
Used to monitor when match presences begin and complete their match join process.
type MatchJoinMarkerList ¶
func NewMatchJoinMarkerList ¶
func NewMatchJoinMarkerList(config Config, tickRate int64) *MatchJoinMarkerList
func (*MatchJoinMarkerList) Add ¶
func (m *MatchJoinMarkerList) Add(presence *MatchPresence, currentTick int64)
func (*MatchJoinMarkerList) ClearExpired ¶
func (m *MatchJoinMarkerList) ClearExpired(tick int64) []*MatchPresence
func (*MatchJoinMarkerList) Mark ¶
func (m *MatchJoinMarkerList) Mark(sessionID uuid.UUID)
type MatchNamesListFunction ¶
type MatchNamesListFunction func() []string
type MatchPresence ¶
type MatchPresence struct { Node string UserID uuid.UUID SessionID uuid.UUID Username string Reason runtime.PresenceReason }
Represents routing and identify information for a single match participant.
func (*MatchPresence) GetHidden ¶
func (p *MatchPresence) GetHidden() bool
func (*MatchPresence) GetNodeId ¶
func (p *MatchPresence) GetNodeId() string
func (*MatchPresence) GetPersistence ¶
func (p *MatchPresence) GetPersistence() bool
func (*MatchPresence) GetReason ¶ added in v3.2.0
func (p *MatchPresence) GetReason() runtime.PresenceReason
func (*MatchPresence) GetSessionId ¶
func (p *MatchPresence) GetSessionId() string
func (*MatchPresence) GetStatus ¶
func (p *MatchPresence) GetStatus() string
func (*MatchPresence) GetUserId ¶
func (p *MatchPresence) GetUserId() string
func (*MatchPresence) GetUsername ¶
func (p *MatchPresence) GetUsername() string
type MatchPresenceList ¶
Maintains the match presences for routing and validation purposes.
func NewMatchPresenceList ¶
func NewMatchPresenceList() *MatchPresenceList
func (*MatchPresenceList) Contains ¶
func (m *MatchPresenceList) Contains(presence *PresenceID) bool
func (*MatchPresenceList) FilterPresenceIDs ¶ added in v3.1.0
func (m *MatchPresenceList) FilterPresenceIDs(ids []*PresenceID) []*PresenceID
func (*MatchPresenceList) Join ¶
func (m *MatchPresenceList) Join(joins []*MatchPresence) []*MatchPresence
func (*MatchPresenceList) Leave ¶
func (m *MatchPresenceList) Leave(leaves []*MatchPresence) []*MatchPresence
func (*MatchPresenceList) ListPresenceIDs ¶
func (m *MatchPresenceList) ListPresenceIDs() []*PresenceID
func (*MatchPresenceList) ListPresences ¶
func (m *MatchPresenceList) ListPresences() []*MatchPresence
func (*MatchPresenceList) Size ¶
func (m *MatchPresenceList) Size() int
type MatchPresenceListItem ¶
type MatchPresenceListItem struct { PresenceID *PresenceID Presence *MatchPresence }
type MatchProvider ¶
func NewMatchProvider ¶
func NewMatchProvider() *MatchProvider
func (*MatchProvider) CreateMatch ¶
func (*MatchProvider) RegisterCreateFn ¶
func (mp *MatchProvider) RegisterCreateFn(name string, fn RuntimeMatchCreateFunction)
type MatchRegistry ¶
type MatchRegistry interface { // Create and start a new match, given a Lua module name or registered Go or JS match function. CreateMatch(ctx context.Context, createFn RuntimeMatchCreateFunction, module string, params map[string]interface{}) (string, error) // Register and initialise a match that's ready to run. NewMatch(logger *zap.Logger, id uuid.UUID, core RuntimeMatchCore, stopped *atomic.Bool, params map[string]interface{}) (*MatchHandler, error) // Return a match by ID. GetMatch(ctx context.Context, id string) (*api.Match, string, error) // Remove a tracked match and ensure all its presences are cleaned up. // Does not ensure the match process itself is no longer running, that must be handled separately. RemoveMatch(id uuid.UUID, stream PresenceStream) // Update the label entry for a given match. UpdateMatchLabel(id uuid.UUID, tickRate int, handlerName, label string, createTime int64) error // List (and optionally filter) currently running matches. // This can list across both authoritative and relayed matches. ListMatches(ctx context.Context, limit int, authoritative *wrapperspb.BoolValue, label *wrapperspb.StringValue, minSize *wrapperspb.Int32Value, maxSize *wrapperspb.Int32Value, query *wrapperspb.StringValue, node *wrapperspb.StringValue) ([]*api.Match, []string, error) // Stop the match registry and close all matches it's tracking. Stop(graceSeconds int) chan struct{} // Returns the total number of currently active authoritative matches. Count() int // Pass a user join attempt to a match handler. Returns if the match was found, if the join was accepted, if it's a new user for this match, a reason for any rejection, the match label, and the list of existing match participants. JoinAttempt(ctx context.Context, id uuid.UUID, node string, userID, sessionID uuid.UUID, username string, sessionExpiry int64, vars map[string]string, clientIP, clientPort, fromNode string, metadata map[string]string) (bool, bool, bool, string, string, []*MatchPresence) // Notify a match handler that one or more users have successfully joined the match. // Expects that the caller has already determined the match is hosted on the current node. Join(id uuid.UUID, presences []*MatchPresence) // Notify a match handler that one or more users have left or disconnected. // Expects that the caller has already determined the match is hosted on the current node. Leave(id uuid.UUID, presences []*MatchPresence) // Called by match handlers to request the removal fo a match participant. Kick(stream PresenceStream, presences []*MatchPresence) // Pass a data payload (usually from a user) to the appropriate match handler. // Assumes that the data sender has already been validated as a match participant before this call. SendData(id uuid.UUID, node string, userID, sessionID uuid.UUID, username, fromNode string, opCode int64, data []byte, reliable bool, receiveTime int64) // Signal a match and wait for a response from its arbitrary signal handler function. Signal(ctx context.Context, id, data string) (string, error) // Get a snapshot of the match state in a string representation. GetState(ctx context.Context, id uuid.UUID, node string) ([]*rtapi.UserPresence, int64, string, error) }
func NewLocalMatchRegistry ¶
func NewLocalMatchRegistry(logger, startupLogger *zap.Logger, config Config, sessionRegistry SessionRegistry, tracker Tracker, router MessageRouter, metrics Metrics, node string) MatchRegistry
type MatchSignalResult ¶ added in v3.8.0
type Matchmaker ¶
type Matchmaker interface { Pause() Resume() Stop() OnMatchedEntries(fn func(entries [][]*MatchmakerEntry)) OnStatsUpdate(fn func(stats *api.MatchmakerStats)) Add(ctx context.Context, presences []*MatchmakerPresence, sessionID, partyId, query string, minCount, maxCount, countMultiple int, stringProperties map[string]string, numericProperties map[string]float64) (string, int64, error) Insert(extracts []*MatchmakerExtract) error Extract() []*MatchmakerExtract RemoveSession(sessionID, ticket string) error RemoveSessionAll(sessionID string) error RemoveParty(partyID, ticket string) error RemovePartyAll(partyID string) error RemoveAll(node string) Remove(tickets []string) GetStats() *api.MatchmakerStats SetStats(*api.MatchmakerStats) }
func NewLocalMatchmaker ¶
func NewLocalMatchmaker(logger, startupLogger *zap.Logger, config Config, router MessageRouter, metrics Metrics, runtime *Runtime) Matchmaker
type MatchmakerConfig ¶
type MatchmakerConfig struct { MaxTickets int `` /* 135-byte string literal not displayed */ IntervalSec int `yaml:"interval_sec" json:"interval_sec" usage:"How quickly the matchmaker attempts to form matches, in seconds. Default 15."` MaxIntervals int `` /* 171-byte string literal not displayed */ RevPrecision bool `yaml:"rev_precision" json:"rev_precision" usage:"Reverse matching precision. Default false."` RevThreshold int `yaml:"rev_threshold" json:"rev_threshold" usage:"Reverse matching threshold. Default 1."` }
func NewMatchmakerConfig ¶
func NewMatchmakerConfig() *MatchmakerConfig
func (*MatchmakerConfig) Clone ¶ added in v3.25.0
func (cfg *MatchmakerConfig) Clone() *MatchmakerConfig
type MatchmakerEntry ¶
type MatchmakerEntry struct { Ticket string `json:"ticket"` Presence *MatchmakerPresence `json:"presence"` Properties map[string]interface{} `json:"properties"` PartyId string `json:"party_id"` CreateTime int64 `json:"create_time"` StringProperties map[string]string `json:"-"` NumericProperties map[string]float64 `json:"-"` }
func (*MatchmakerEntry) GetPartyId ¶
func (m *MatchmakerEntry) GetPartyId() string
func (*MatchmakerEntry) GetPresence ¶
func (m *MatchmakerEntry) GetPresence() runtime.Presence
func (*MatchmakerEntry) GetProperties ¶
func (m *MatchmakerEntry) GetProperties() map[string]interface{}
func (*MatchmakerEntry) GetTicket ¶
func (m *MatchmakerEntry) GetTicket() string
type MatchmakerExtract ¶ added in v3.13.0
type MatchmakerIndex ¶
type MatchmakerIndex struct { Ticket string `json:"ticket"` Properties map[string]interface{} `json:"properties"` MinCount int `json:"min_count"` MaxCount int `json:"max_count"` PartyId string `json:"party_id"` CreatedAt int64 `json:"created_at"` // Parameters used for correctly processing various matchmaker operations, but not indexed for searching. Query string `json:"-"` Count int `json:"-"` CountMultiple int `json:"-"` SessionID string `json:"-"` Intervals int `json:"-"` SessionIDs map[string]struct{} `json:"-"` Node string `json:"-"` StringProperties map[string]string `json:"-"` NumericProperties map[string]float64 `json:"-"` ParsedQuery bluge.Query `json:"-"` Entries []*MatchmakerEntry `json:"-"` }
type MatchmakerIndexGroup ¶ added in v3.11.0
type MatchmakerIndexGroup struct {
// contains filtered or unexported fields
}
type MatchmakerPresence ¶
type MatchmakerPresence struct { UserId string `json:"user_id"` SessionId string `json:"session_id"` Username string `json:"username"` Node string `json:"node"` SessionID uuid.UUID `json:"-"` }
func (*MatchmakerPresence) GetHidden ¶
func (p *MatchmakerPresence) GetHidden() bool
func (*MatchmakerPresence) GetNodeId ¶
func (p *MatchmakerPresence) GetNodeId() string
func (*MatchmakerPresence) GetPersistence ¶
func (p *MatchmakerPresence) GetPersistence() bool
func (*MatchmakerPresence) GetReason ¶ added in v3.2.0
func (p *MatchmakerPresence) GetReason() runtime.PresenceReason
func (*MatchmakerPresence) GetSessionId ¶
func (p *MatchmakerPresence) GetSessionId() string
func (*MatchmakerPresence) GetStatus ¶
func (p *MatchmakerPresence) GetStatus() string
func (*MatchmakerPresence) GetUserId ¶
func (p *MatchmakerPresence) GetUserId() string
func (*MatchmakerPresence) GetUsername ¶
func (p *MatchmakerPresence) GetUsername() string
type MatchmakerStatsEntry ¶ added in v3.24.0
type MessageRouter ¶
type MessageRouter interface { SendToPresenceIDs(*zap.Logger, []*PresenceID, *rtapi.Envelope, bool) SendToStream(*zap.Logger, PresenceStream, *rtapi.Envelope, bool) SendDeferred(*zap.Logger, []*DeferredMessage) SendToAll(*zap.Logger, *rtapi.Envelope, bool) }
MessageRouter is responsible for sending a message to a list of presences or to an entire stream.
func NewLocalMessageRouter ¶
func NewLocalMessageRouter(sessionRegistry SessionRegistry, tracker Tracker, protojsonMarshaler *protojson.MarshalOptions) MessageRouter
type MethodName ¶
type MethodName string
type Metrics ¶
type Metrics interface { Stop(logger *zap.Logger) SnapshotLatencyMs() float64 SnapshotRateSec() float64 SnapshotRecvKbSec() float64 SnapshotSentKbSec() float64 Api(name string, elapsed time.Duration, recvBytes, sentBytes int64, isErr bool) ApiRpc(id string, elapsed time.Duration, recvBytes, sentBytes int64, isErr bool) ApiBefore(name string, elapsed time.Duration, isErr bool) ApiAfter(name string, elapsed time.Duration, isErr bool) Message(recvBytes int64, isErr bool) MessageBytesSent(sentBytes int64) GaugeRuntimes(value float64) GaugeLuaRuntimes(value float64) GaugeJsRuntimes(value float64) GaugeAuthoritativeMatches(value float64) CountDroppedEvents(delta int64) CountWebsocketOpened(delta int64) CountWebsocketClosed(delta int64) CountUntaggedGrpcStatsCalls(delta int64) GaugeSessions(value float64) GaugePresences(value float64) GaugeStorageIndexEntries(indexName string, value float64) Matchmaker(tickets, activeTickets float64, processTime time.Duration) PresenceEvent(dequeueElapsed, processElapsed time.Duration) StorageWriteRejectCount(tags map[string]string, delta int64) CustomCounter(name string, tags map[string]string, delta int64) CustomGauge(name string, tags map[string]string, value float64) CustomTimer(name string, tags map[string]string, value time.Duration) }
type MetricsConfig ¶
type MetricsConfig struct { ReportingFreqSec int `yaml:"reporting_freq_sec" json:"reporting_freq_sec" usage:"Frequency of metrics exports. Default is 60 seconds."` Namespace string `yaml:"namespace" json:"namespace" usage:"Namespace for Prometheus metrics. It will always prepend node name."` PrometheusPort int `yaml:"prometheus_port" json:"prometheus_port" usage:"Port to expose Prometheus. If '0' Prometheus exports are disabled."` Prefix string `yaml:"prefix" json:"prefix" usage:"Prefix for metric names. Default is 'nakama', empty string '' disables the prefix."` CustomPrefix string `` /* 147-byte string literal not displayed */ }
MetricsConfig is configuration relevant to metrics capturing and output.
func NewMetricsConfig ¶
func NewMetricsConfig() *MetricsConfig
func (*MetricsConfig) Clone ¶ added in v3.25.0
func (cfg *MetricsConfig) Clone() *MetricsConfig
type MetricsGrpcHandler ¶
type MetricsGrpcHandler struct { MetricsFn func(name string, elapsed time.Duration, recvBytes, sentBytes int64, isErr bool) Metrics Metrics }
func (*MetricsGrpcHandler) HandleConn ¶
func (m *MetricsGrpcHandler) HandleConn(context.Context, stats.ConnStats)
HandleConn processes the Conn stats.
func (*MetricsGrpcHandler) HandleRPC ¶
func (m *MetricsGrpcHandler) HandleRPC(ctx context.Context, rs stats.RPCStats)
HandleRPC processes the RPC stats.
func (*MetricsGrpcHandler) TagConn ¶
func (m *MetricsGrpcHandler) TagConn(ctx context.Context, _ *stats.ConnTagInfo) context.Context
TagConn can attach some information to the given context. The returned context will be used for stats handling. For conn stats handling, the context used in HandleConn for this connection will be derived from the context returned. For RPC stats handling,
- On server side, the context used in HandleRPC for all RPCs on this
connection will be derived from the context returned.
- On client side, the context is not derived from the context returned.
func (*MetricsGrpcHandler) TagRPC ¶
func (m *MetricsGrpcHandler) TagRPC(ctx context.Context, info *stats.RPCTagInfo) context.Context
TagRPC can attach some information to the given context. The context used for the rest lifetime of the RPC will be derived from the returned context.
type OrderedTournaments ¶
type OrderedTournaments []*Leaderboard
OrderedTournaments defines a type alias for a list of tournaments that binds together sorting functions.
func (OrderedTournaments) Len ¶
func (l OrderedTournaments) Len() int
func (OrderedTournaments) Less ¶
func (l OrderedTournaments) Less(i, j int) bool
func (OrderedTournaments) Swap ¶
func (l OrderedTournaments) Swap(i, j int)
type PartyHandler ¶
type PartyHandler struct { sync.RWMutex ID uuid.UUID Node string IDStr string Open bool MaxSize int Stream PresenceStream // contains filtered or unexported fields }
func NewPartyHandler ¶
func NewPartyHandler(logger *zap.Logger, partyRegistry PartyRegistry, matchmaker Matchmaker, tracker Tracker, streamManager StreamManager, router MessageRouter, id uuid.UUID, node string, open bool, maxSize int, presence *rtapi.UserPresence) *PartyHandler
func (*PartyHandler) Accept ¶
func (p *PartyHandler) Accept(sessionID, node string, presence *rtapi.UserPresence, singleParty bool) error
func (*PartyHandler) Close ¶
func (p *PartyHandler) Close(sessionID, node string) error
func (*PartyHandler) DataSend ¶
func (p *PartyHandler) DataSend(sessionID, node string, opCode int64, data []byte) error
func (*PartyHandler) Join ¶
func (p *PartyHandler) Join(presences []*Presence)
func (*PartyHandler) JoinRequest ¶
func (p *PartyHandler) JoinRequest(presence *Presence) (bool, error)
func (*PartyHandler) JoinRequestList ¶
func (p *PartyHandler) JoinRequestList(sessionID, node string) ([]*rtapi.UserPresence, error)
func (*PartyHandler) Leave ¶
func (p *PartyHandler) Leave(presences []*Presence)
func (*PartyHandler) MatchmakerAdd ¶
func (p *PartyHandler) MatchmakerAdd(sessionID, node, query string, minCount, maxCount, countMultiple int, stringProperties map[string]string, numericProperties map[string]float64) (string, []*PresenceID, error)
func (*PartyHandler) MatchmakerRemove ¶
func (p *PartyHandler) MatchmakerRemove(sessionID, node, ticket string) error
func (*PartyHandler) Promote ¶
func (p *PartyHandler) Promote(sessionID, node string, presence *rtapi.UserPresence) error
func (*PartyHandler) Remove ¶
func (p *PartyHandler) Remove(sessionID, node string, presence *rtapi.UserPresence) error
type PartyJoinRequest ¶ added in v3.17.0
type PartyJoinRequest struct { Presence *Presence UserPresence *rtapi.UserPresence }
type PartyLeader ¶ added in v3.17.0
type PartyLeader struct { PresenceID *PresenceID UserPresence *rtapi.UserPresence }
type PartyPresenceList ¶ added in v3.17.0
func NewPartyPresenceList ¶ added in v3.17.0
func NewPartyPresenceList(maxSize int) *PartyPresenceList
func (*PartyPresenceList) Join ¶ added in v3.17.0
func (m *PartyPresenceList) Join(joins []*Presence) ([]*Presence, error)
func (*PartyPresenceList) Leave ¶ added in v3.17.0
func (m *PartyPresenceList) Leave(leaves []*Presence) ([]*Presence, []*Presence)
func (*PartyPresenceList) List ¶ added in v3.17.0
func (m *PartyPresenceList) List() []*PartyPresenceListItem
func (*PartyPresenceList) Oldest ¶ added in v3.17.0
func (m *PartyPresenceList) Oldest() (*PresenceID, *rtapi.UserPresence)
func (*PartyPresenceList) Release ¶ added in v3.17.0
func (m *PartyPresenceList) Release(presence *Presence)
func (*PartyPresenceList) Reserve ¶ added in v3.17.0
func (m *PartyPresenceList) Reserve(presence *Presence) error
func (*PartyPresenceList) Size ¶ added in v3.17.0
func (m *PartyPresenceList) Size() int
type PartyPresenceListItem ¶ added in v3.17.0
type PartyPresenceListItem struct { PresenceID *PresenceID Presence *Presence UserPresence *rtapi.UserPresence }
type PartyRegistry ¶
type PartyRegistry interface { Create(open bool, maxSize int, leader *rtapi.UserPresence) *PartyHandler Delete(id uuid.UUID) Join(id uuid.UUID, presences []*Presence) Leave(id uuid.UUID, presences []*Presence) PartyJoinRequest(ctx context.Context, id uuid.UUID, node string, presence *Presence) (bool, error) PartyPromote(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, presence *rtapi.UserPresence) error PartyAccept(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, presence *rtapi.UserPresence) error PartyRemove(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, presence *rtapi.UserPresence) error PartyClose(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string) error PartyJoinRequestList(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string) ([]*rtapi.UserPresence, error) PartyMatchmakerAdd(ctx context.Context, id uuid.UUID, node, sessionID, fromNode, query string, minCount, maxCount, countMultiple int, stringProperties map[string]string, numericProperties map[string]float64) (string, []*PresenceID, error) PartyMatchmakerRemove(ctx context.Context, id uuid.UUID, node, sessionID, fromNode, ticket string) error PartyDataSend(ctx context.Context, id uuid.UUID, node, sessionID, fromNode string, opCode int64, data []byte) error }
func NewLocalPartyRegistry ¶
func NewLocalPartyRegistry(logger *zap.Logger, config Config, matchmaker Matchmaker, tracker Tracker, streamManager StreamManager, router MessageRouter, node string) PartyRegistry
type Pipeline ¶
type Pipeline struct {
// contains filtered or unexported fields
}
func NewPipeline ¶
func NewPipeline(logger *zap.Logger, config Config, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, sessionRegistry SessionRegistry, statusRegistry StatusRegistry, matchRegistry MatchRegistry, partyRegistry PartyRegistry, matchmaker Matchmaker, tracker Tracker, router MessageRouter, runtime *Runtime) *Pipeline
type Presence ¶
type Presence struct { ID PresenceID Stream PresenceStream UserID uuid.UUID Meta PresenceMeta }
func (*Presence) GetPersistence ¶
func (*Presence) GetReason ¶ added in v3.2.0
func (p *Presence) GetReason() runtime.PresenceReason
func (*Presence) GetSessionId ¶
func (*Presence) GetUsername ¶
type PresenceEvent ¶
type PresenceID ¶
type PresenceID struct { Node string SessionID uuid.UUID }
type PresenceMeta ¶
type PresenceMeta struct { Format SessionFormat Hidden bool Persistence bool Username string Status string Reason uint32 }
func (*PresenceMeta) GetHidden ¶
func (pm *PresenceMeta) GetHidden() bool
func (*PresenceMeta) GetPersistence ¶
func (pm *PresenceMeta) GetPersistence() bool
func (*PresenceMeta) GetReason ¶ added in v3.2.0
func (pm *PresenceMeta) GetReason() runtime.PresenceReason
func (*PresenceMeta) GetStatus ¶
func (pm *PresenceMeta) GetStatus() string
func (*PresenceMeta) GetUsername ¶
func (pm *PresenceMeta) GetUsername() string
type PresenceStream ¶
func BuildChannelId ¶ added in v3.5.0
type RedirectStdLogWriter ¶ added in v3.4.0
type RedirectStdLogWriter struct {
// contains filtered or unexported fields
}
type Runtime ¶
type Runtime struct {
// contains filtered or unexported fields
}
func (*Runtime) AfterAddFriends ¶
func (r *Runtime) AfterAddFriends() RuntimeAfterAddFriendsFunction
func (*Runtime) AfterAddGroupUsers ¶
func (r *Runtime) AfterAddGroupUsers() RuntimeAfterAddGroupUsersFunction
func (*Runtime) AfterAuthenticateApple ¶
func (r *Runtime) AfterAuthenticateApple() RuntimeAfterAuthenticateAppleFunction
func (*Runtime) AfterAuthenticateCustom ¶
func (r *Runtime) AfterAuthenticateCustom() RuntimeAfterAuthenticateCustomFunction
func (*Runtime) AfterAuthenticateDevice ¶
func (r *Runtime) AfterAuthenticateDevice() RuntimeAfterAuthenticateDeviceFunction
func (*Runtime) AfterAuthenticateEmail ¶
func (r *Runtime) AfterAuthenticateEmail() RuntimeAfterAuthenticateEmailFunction
func (*Runtime) AfterAuthenticateFacebook ¶
func (r *Runtime) AfterAuthenticateFacebook() RuntimeAfterAuthenticateFacebookFunction
func (*Runtime) AfterAuthenticateFacebookInstantGame ¶
func (r *Runtime) AfterAuthenticateFacebookInstantGame() RuntimeAfterAuthenticateFacebookInstantGameFunction
func (*Runtime) AfterAuthenticateGameCenter ¶
func (r *Runtime) AfterAuthenticateGameCenter() RuntimeAfterAuthenticateGameCenterFunction
func (*Runtime) AfterAuthenticateGoogle ¶
func (r *Runtime) AfterAuthenticateGoogle() RuntimeAfterAuthenticateGoogleFunction
func (*Runtime) AfterAuthenticateSteam ¶
func (r *Runtime) AfterAuthenticateSteam() RuntimeAfterAuthenticateSteamFunction
func (*Runtime) AfterBanGroupUsers ¶
func (r *Runtime) AfterBanGroupUsers() RuntimeAfterBanGroupUsersFunction
func (*Runtime) AfterBlockFriends ¶
func (r *Runtime) AfterBlockFriends() RuntimeAfterBlockFriendsFunction
func (*Runtime) AfterCreateGroup ¶
func (r *Runtime) AfterCreateGroup() RuntimeAfterCreateGroupFunction
func (*Runtime) AfterDeleteAccount ¶ added in v3.15.0
func (r *Runtime) AfterDeleteAccount() RuntimeAfterDeleteAccountFunction
func (*Runtime) AfterDeleteFriends ¶
func (r *Runtime) AfterDeleteFriends() RuntimeAfterDeleteFriendsFunction
func (*Runtime) AfterDeleteGroup ¶
func (r *Runtime) AfterDeleteGroup() RuntimeAfterDeleteGroupFunction
func (*Runtime) AfterDeleteLeaderboardRecord ¶
func (r *Runtime) AfterDeleteLeaderboardRecord() RuntimeAfterDeleteLeaderboardRecordFunction
func (*Runtime) AfterDeleteNotifications ¶ added in v3.12.0
func (r *Runtime) AfterDeleteNotifications() RuntimeAfterDeleteNotificationsFunction
func (*Runtime) AfterDeleteStorageObjects ¶
func (r *Runtime) AfterDeleteStorageObjects() RuntimeAfterDeleteStorageObjectsFunction
func (*Runtime) AfterDeleteTournamentRecord ¶ added in v3.16.0
func (r *Runtime) AfterDeleteTournamentRecord() RuntimeAfterDeleteTournamentRecordFunction
func (*Runtime) AfterDemoteGroupUsers ¶
func (r *Runtime) AfterDemoteGroupUsers() RuntimeAfterDemoteGroupUsersFunction
func (*Runtime) AfterEvent ¶
func (r *Runtime) AfterEvent() RuntimeAfterEventFunction
func (*Runtime) AfterGetAccount ¶
func (r *Runtime) AfterGetAccount() RuntimeAfterGetAccountFunction
func (*Runtime) AfterGetMatchmakerStats ¶ added in v3.23.0
func (r *Runtime) AfterGetMatchmakerStats() RuntimeAfterGetMatchmakerStatsFunction
func (*Runtime) AfterGetSubscription ¶ added in v3.13.0
func (r *Runtime) AfterGetSubscription() RuntimeAfterGetSubscriptionFunction
func (*Runtime) AfterGetUsers ¶
func (r *Runtime) AfterGetUsers() RuntimeAfterGetUsersFunction
func (*Runtime) AfterImportFacebookFriends ¶
func (r *Runtime) AfterImportFacebookFriends() RuntimeAfterImportFacebookFriendsFunction
func (*Runtime) AfterImportSteamFriends ¶ added in v3.1.0
func (r *Runtime) AfterImportSteamFriends() RuntimeAfterImportSteamFriendsFunction
func (*Runtime) AfterJoinGroup ¶
func (r *Runtime) AfterJoinGroup() RuntimeAfterJoinGroupFunction
func (*Runtime) AfterJoinTournament ¶
func (r *Runtime) AfterJoinTournament() RuntimeAfterJoinTournamentFunction
func (*Runtime) AfterKickGroupUsers ¶
func (r *Runtime) AfterKickGroupUsers() RuntimeAfterKickGroupUsersFunction
func (*Runtime) AfterLeaveGroup ¶
func (r *Runtime) AfterLeaveGroup() RuntimeAfterLeaveGroupFunction
func (*Runtime) AfterLinkApple ¶
func (r *Runtime) AfterLinkApple() RuntimeAfterLinkAppleFunction
func (*Runtime) AfterLinkCustom ¶
func (r *Runtime) AfterLinkCustom() RuntimeAfterLinkCustomFunction
func (*Runtime) AfterLinkDevice ¶
func (r *Runtime) AfterLinkDevice() RuntimeAfterLinkDeviceFunction
func (*Runtime) AfterLinkEmail ¶
func (r *Runtime) AfterLinkEmail() RuntimeAfterLinkEmailFunction
func (*Runtime) AfterLinkFacebook ¶
func (r *Runtime) AfterLinkFacebook() RuntimeAfterLinkFacebookFunction
func (*Runtime) AfterLinkFacebookInstantGame ¶
func (r *Runtime) AfterLinkFacebookInstantGame() RuntimeAfterLinkFacebookInstantGameFunction
func (*Runtime) AfterLinkGameCenter ¶
func (r *Runtime) AfterLinkGameCenter() RuntimeAfterLinkGameCenterFunction
func (*Runtime) AfterLinkGoogle ¶
func (r *Runtime) AfterLinkGoogle() RuntimeAfterLinkGoogleFunction
func (*Runtime) AfterLinkSteam ¶
func (r *Runtime) AfterLinkSteam() RuntimeAfterLinkSteamFunction
func (*Runtime) AfterListChannelMessages ¶
func (r *Runtime) AfterListChannelMessages() RuntimeAfterListChannelMessagesFunction
func (*Runtime) AfterListFriends ¶
func (r *Runtime) AfterListFriends() RuntimeAfterListFriendsFunction
func (*Runtime) AfterListFriendsOfFriends ¶ added in v3.22.0
func (r *Runtime) AfterListFriendsOfFriends() RuntimeAfterListFriendsOfFriendsFunction
func (*Runtime) AfterListGroupUsers ¶
func (r *Runtime) AfterListGroupUsers() RuntimeAfterListGroupUsersFunction
func (*Runtime) AfterListGroups ¶
func (r *Runtime) AfterListGroups() RuntimeAfterListGroupsFunction
func (*Runtime) AfterListLeaderboardRecords ¶
func (r *Runtime) AfterListLeaderboardRecords() RuntimeAfterListLeaderboardRecordsFunction
func (*Runtime) AfterListLeaderboardRecordsAroundOwner ¶
func (r *Runtime) AfterListLeaderboardRecordsAroundOwner() RuntimeAfterListLeaderboardRecordsAroundOwnerFunction
func (*Runtime) AfterListMatches ¶
func (r *Runtime) AfterListMatches() RuntimeAfterListMatchesFunction
func (*Runtime) AfterListNotifications ¶
func (r *Runtime) AfterListNotifications() RuntimeAfterListNotificationsFunction
func (*Runtime) AfterListStorageObjects ¶
func (r *Runtime) AfterListStorageObjects() RuntimeAfterListStorageObjectsFunction
func (*Runtime) AfterListSubscriptions ¶ added in v3.13.0
func (r *Runtime) AfterListSubscriptions() RuntimeAfterListSubscriptionsFunction
func (*Runtime) AfterListTournamentRecords ¶
func (r *Runtime) AfterListTournamentRecords() RuntimeAfterListTournamentRecordsFunction
func (*Runtime) AfterListTournamentRecordsAroundOwner ¶
func (r *Runtime) AfterListTournamentRecordsAroundOwner() RuntimeAfterListTournamentRecordsAroundOwnerFunction
func (*Runtime) AfterListTournaments ¶
func (r *Runtime) AfterListTournaments() RuntimeAfterListTournamentsFunction
func (*Runtime) AfterListUserGroups ¶
func (r *Runtime) AfterListUserGroups() RuntimeAfterListUserGroupsFunction
func (*Runtime) AfterPromoteGroupUsers ¶
func (r *Runtime) AfterPromoteGroupUsers() RuntimeAfterPromoteGroupUsersFunction
func (*Runtime) AfterReadStorageObjects ¶
func (r *Runtime) AfterReadStorageObjects() RuntimeAfterReadStorageObjectsFunction
func (*Runtime) AfterRt ¶
func (r *Runtime) AfterRt(id string) RuntimeAfterRtFunction
func (*Runtime) AfterSessionLogout ¶ added in v3.2.0
func (r *Runtime) AfterSessionLogout() RuntimeAfterSessionLogoutFunction
func (*Runtime) AfterSessionRefresh ¶
func (r *Runtime) AfterSessionRefresh() RuntimeAfterSessionRefreshFunction
func (*Runtime) AfterUnlinkApple ¶
func (r *Runtime) AfterUnlinkApple() RuntimeAfterUnlinkAppleFunction
func (*Runtime) AfterUnlinkCustom ¶
func (r *Runtime) AfterUnlinkCustom() RuntimeAfterUnlinkCustomFunction
func (*Runtime) AfterUnlinkDevice ¶
func (r *Runtime) AfterUnlinkDevice() RuntimeAfterUnlinkDeviceFunction
func (*Runtime) AfterUnlinkEmail ¶
func (r *Runtime) AfterUnlinkEmail() RuntimeAfterUnlinkEmailFunction
func (*Runtime) AfterUnlinkFacebook ¶
func (r *Runtime) AfterUnlinkFacebook() RuntimeAfterUnlinkFacebookFunction
func (*Runtime) AfterUnlinkFacebookInstantGame ¶
func (r *Runtime) AfterUnlinkFacebookInstantGame() RuntimeAfterUnlinkFacebookInstantGameFunction
func (*Runtime) AfterUnlinkGameCenter ¶
func (r *Runtime) AfterUnlinkGameCenter() RuntimeAfterUnlinkGameCenterFunction
func (*Runtime) AfterUnlinkGoogle ¶
func (r *Runtime) AfterUnlinkGoogle() RuntimeAfterUnlinkGoogleFunction
func (*Runtime) AfterUnlinkSteam ¶
func (r *Runtime) AfterUnlinkSteam() RuntimeAfterUnlinkSteamFunction
func (*Runtime) AfterUpdateAccount ¶
func (r *Runtime) AfterUpdateAccount() RuntimeAfterUpdateAccountFunction
func (*Runtime) AfterUpdateGroup ¶
func (r *Runtime) AfterUpdateGroup() RuntimeAfterUpdateGroupFunction
func (*Runtime) AfterValidatePurchaseApple ¶ added in v3.2.0
func (r *Runtime) AfterValidatePurchaseApple() RuntimeAfterValidatePurchaseAppleFunction
func (*Runtime) AfterValidatePurchaseFacebookInstant ¶ added in v3.19.0
func (r *Runtime) AfterValidatePurchaseFacebookInstant() RuntimeAfterValidatePurchaseFacebookInstantFunction
func (*Runtime) AfterValidatePurchaseGoogle ¶ added in v3.2.0
func (r *Runtime) AfterValidatePurchaseGoogle() RuntimeAfterValidatePurchaseGoogleFunction
func (*Runtime) AfterValidatePurchaseHuawei ¶ added in v3.2.0
func (r *Runtime) AfterValidatePurchaseHuawei() RuntimeAfterValidatePurchaseHuaweiFunction
func (*Runtime) AfterValidateSubscriptionApple ¶ added in v3.13.0
func (r *Runtime) AfterValidateSubscriptionApple() RuntimeAfterValidateSubscriptionAppleFunction
func (*Runtime) AfterValidateSubscriptionGoogle ¶ added in v3.13.0
func (r *Runtime) AfterValidateSubscriptionGoogle() RuntimeAfterValidateSubscriptionGoogleFunction
func (*Runtime) AfterWriteLeaderboardRecord ¶
func (r *Runtime) AfterWriteLeaderboardRecord() RuntimeAfterWriteLeaderboardRecordFunction
func (*Runtime) AfterWriteStorageObjects ¶
func (r *Runtime) AfterWriteStorageObjects() RuntimeAfterWriteStorageObjectsFunction
func (*Runtime) AfterWriteTournamentRecord ¶
func (r *Runtime) AfterWriteTournamentRecord() RuntimeAfterWriteTournamentRecordFunction
func (*Runtime) BeforeAddFriends ¶
func (r *Runtime) BeforeAddFriends() RuntimeBeforeAddFriendsFunction
func (*Runtime) BeforeAddGroupUsers ¶
func (r *Runtime) BeforeAddGroupUsers() RuntimeBeforeAddGroupUsersFunction
func (*Runtime) BeforeAuthenticateApple ¶
func (r *Runtime) BeforeAuthenticateApple() RuntimeBeforeAuthenticateAppleFunction
func (*Runtime) BeforeAuthenticateCustom ¶
func (r *Runtime) BeforeAuthenticateCustom() RuntimeBeforeAuthenticateCustomFunction
func (*Runtime) BeforeAuthenticateDevice ¶
func (r *Runtime) BeforeAuthenticateDevice() RuntimeBeforeAuthenticateDeviceFunction
func (*Runtime) BeforeAuthenticateEmail ¶
func (r *Runtime) BeforeAuthenticateEmail() RuntimeBeforeAuthenticateEmailFunction
func (*Runtime) BeforeAuthenticateFacebook ¶
func (r *Runtime) BeforeAuthenticateFacebook() RuntimeBeforeAuthenticateFacebookFunction
func (*Runtime) BeforeAuthenticateFacebookInstantGame ¶
func (r *Runtime) BeforeAuthenticateFacebookInstantGame() RuntimeBeforeAuthenticateFacebookInstantGameFunction
func (*Runtime) BeforeAuthenticateGameCenter ¶
func (r *Runtime) BeforeAuthenticateGameCenter() RuntimeBeforeAuthenticateGameCenterFunction
func (*Runtime) BeforeAuthenticateGoogle ¶
func (r *Runtime) BeforeAuthenticateGoogle() RuntimeBeforeAuthenticateGoogleFunction
func (*Runtime) BeforeAuthenticateSteam ¶
func (r *Runtime) BeforeAuthenticateSteam() RuntimeBeforeAuthenticateSteamFunction
func (*Runtime) BeforeBanGroupUsers ¶
func (r *Runtime) BeforeBanGroupUsers() RuntimeBeforeBanGroupUsersFunction
func (*Runtime) BeforeBlockFriends ¶
func (r *Runtime) BeforeBlockFriends() RuntimeBeforeBlockFriendsFunction
func (*Runtime) BeforeCreateGroup ¶
func (r *Runtime) BeforeCreateGroup() RuntimeBeforeCreateGroupFunction
func (*Runtime) BeforeDeleteAccount ¶ added in v3.15.0
func (r *Runtime) BeforeDeleteAccount() RuntimeBeforeDeleteAccountFunction
func (*Runtime) BeforeDeleteFriends ¶
func (r *Runtime) BeforeDeleteFriends() RuntimeBeforeDeleteFriendsFunction
func (*Runtime) BeforeDeleteGroup ¶
func (r *Runtime) BeforeDeleteGroup() RuntimeBeforeDeleteGroupFunction
func (*Runtime) BeforeDeleteLeaderboardRecord ¶
func (r *Runtime) BeforeDeleteLeaderboardRecord() RuntimeBeforeDeleteLeaderboardRecordFunction
func (*Runtime) BeforeDeleteNotifications ¶ added in v3.12.0
func (r *Runtime) BeforeDeleteNotifications() RuntimeBeforeDeleteNotificationsFunction
func (*Runtime) BeforeDeleteStorageObjects ¶
func (r *Runtime) BeforeDeleteStorageObjects() RuntimeBeforeDeleteStorageObjectsFunction
func (*Runtime) BeforeDeleteTournamentRecord ¶ added in v3.16.0
func (r *Runtime) BeforeDeleteTournamentRecord() RuntimeBeforeDeleteTournamentRecordFunction
func (*Runtime) BeforeDemoteGroupUsers ¶
func (r *Runtime) BeforeDemoteGroupUsers() RuntimeBeforeDemoteGroupUsersFunction
func (*Runtime) BeforeEvent ¶
func (r *Runtime) BeforeEvent() RuntimeBeforeEventFunction
func (*Runtime) BeforeGetAccount ¶
func (r *Runtime) BeforeGetAccount() RuntimeBeforeGetAccountFunction
func (*Runtime) BeforeGetMatchmakerStats ¶ added in v3.23.0
func (r *Runtime) BeforeGetMatchmakerStats() RuntimeBeforeGetMatchmakerStatsFunction
func (*Runtime) BeforeGetSubscription ¶ added in v3.13.0
func (r *Runtime) BeforeGetSubscription() RuntimeBeforeGetSubscriptionFunction
func (*Runtime) BeforeGetUsers ¶
func (r *Runtime) BeforeGetUsers() RuntimeBeforeGetUsersFunction
func (*Runtime) BeforeImportFacebookFriends ¶
func (r *Runtime) BeforeImportFacebookFriends() RuntimeBeforeImportFacebookFriendsFunction
func (*Runtime) BeforeImportSteamFriends ¶ added in v3.1.0
func (r *Runtime) BeforeImportSteamFriends() RuntimeBeforeImportSteamFriendsFunction
func (*Runtime) BeforeJoinGroup ¶
func (r *Runtime) BeforeJoinGroup() RuntimeBeforeJoinGroupFunction
func (*Runtime) BeforeJoinTournament ¶
func (r *Runtime) BeforeJoinTournament() RuntimeBeforeJoinTournamentFunction
func (*Runtime) BeforeKickGroupUsers ¶
func (r *Runtime) BeforeKickGroupUsers() RuntimeBeforeKickGroupUsersFunction
func (*Runtime) BeforeLeaveGroup ¶
func (r *Runtime) BeforeLeaveGroup() RuntimeBeforeLeaveGroupFunction
func (*Runtime) BeforeLinkApple ¶
func (r *Runtime) BeforeLinkApple() RuntimeBeforeLinkAppleFunction
func (*Runtime) BeforeLinkCustom ¶
func (r *Runtime) BeforeLinkCustom() RuntimeBeforeLinkCustomFunction
func (*Runtime) BeforeLinkDevice ¶
func (r *Runtime) BeforeLinkDevice() RuntimeBeforeLinkDeviceFunction
func (*Runtime) BeforeLinkEmail ¶
func (r *Runtime) BeforeLinkEmail() RuntimeBeforeLinkEmailFunction
func (*Runtime) BeforeLinkFacebook ¶
func (r *Runtime) BeforeLinkFacebook() RuntimeBeforeLinkFacebookFunction
func (*Runtime) BeforeLinkFacebookInstantGame ¶
func (r *Runtime) BeforeLinkFacebookInstantGame() RuntimeBeforeLinkFacebookInstantGameFunction
func (*Runtime) BeforeLinkGameCenter ¶
func (r *Runtime) BeforeLinkGameCenter() RuntimeBeforeLinkGameCenterFunction
func (*Runtime) BeforeLinkGoogle ¶
func (r *Runtime) BeforeLinkGoogle() RuntimeBeforeLinkGoogleFunction
func (*Runtime) BeforeLinkSteam ¶
func (r *Runtime) BeforeLinkSteam() RuntimeBeforeLinkSteamFunction
func (*Runtime) BeforeListChannelMessages ¶
func (r *Runtime) BeforeListChannelMessages() RuntimeBeforeListChannelMessagesFunction
func (*Runtime) BeforeListFriends ¶
func (r *Runtime) BeforeListFriends() RuntimeBeforeListFriendsFunction
func (*Runtime) BeforeListFriendsOfFriends ¶ added in v3.22.0
func (r *Runtime) BeforeListFriendsOfFriends() RuntimeBeforeListFriendsOfFriendsFunction
func (*Runtime) BeforeListGroupUsers ¶
func (r *Runtime) BeforeListGroupUsers() RuntimeBeforeListGroupUsersFunction
func (*Runtime) BeforeListGroups ¶
func (r *Runtime) BeforeListGroups() RuntimeBeforeListGroupsFunction
func (*Runtime) BeforeListLeaderboardRecords ¶
func (r *Runtime) BeforeListLeaderboardRecords() RuntimeBeforeListLeaderboardRecordsFunction
func (*Runtime) BeforeListLeaderboardRecordsAroundOwner ¶
func (r *Runtime) BeforeListLeaderboardRecordsAroundOwner() RuntimeBeforeListLeaderboardRecordsAroundOwnerFunction
func (*Runtime) BeforeListMatches ¶
func (r *Runtime) BeforeListMatches() RuntimeBeforeListMatchesFunction
func (*Runtime) BeforeListNotifications ¶
func (r *Runtime) BeforeListNotifications() RuntimeBeforeListNotificationsFunction
func (*Runtime) BeforeListStorageObjects ¶
func (r *Runtime) BeforeListStorageObjects() RuntimeBeforeListStorageObjectsFunction
func (*Runtime) BeforeListSubscriptions ¶ added in v3.13.0
func (r *Runtime) BeforeListSubscriptions() RuntimeBeforeListSubscriptionsFunction
func (*Runtime) BeforeListTournamentRecords ¶
func (r *Runtime) BeforeListTournamentRecords() RuntimeBeforeListTournamentRecordsFunction
func (*Runtime) BeforeListTournamentRecordsAroundOwner ¶
func (r *Runtime) BeforeListTournamentRecordsAroundOwner() RuntimeBeforeListTournamentRecordsAroundOwnerFunction
func (*Runtime) BeforeListTournaments ¶
func (r *Runtime) BeforeListTournaments() RuntimeBeforeListTournamentsFunction
func (*Runtime) BeforeListUserGroups ¶
func (r *Runtime) BeforeListUserGroups() RuntimeBeforeListUserGroupsFunction
func (*Runtime) BeforePromoteGroupUsers ¶
func (r *Runtime) BeforePromoteGroupUsers() RuntimeBeforePromoteGroupUsersFunction
func (*Runtime) BeforeReadStorageObjects ¶
func (r *Runtime) BeforeReadStorageObjects() RuntimeBeforeReadStorageObjectsFunction
func (*Runtime) BeforeRt ¶
func (r *Runtime) BeforeRt(id string) RuntimeBeforeRtFunction
func (*Runtime) BeforeSessionLogout ¶ added in v3.2.0
func (r *Runtime) BeforeSessionLogout() RuntimeBeforeSessionLogoutFunction
func (*Runtime) BeforeSessionRefresh ¶
func (r *Runtime) BeforeSessionRefresh() RuntimeBeforeSessionRefreshFunction
func (*Runtime) BeforeUnlinkApple ¶
func (r *Runtime) BeforeUnlinkApple() RuntimeBeforeUnlinkAppleFunction
func (*Runtime) BeforeUnlinkCustom ¶
func (r *Runtime) BeforeUnlinkCustom() RuntimeBeforeUnlinkCustomFunction
func (*Runtime) BeforeUnlinkDevice ¶
func (r *Runtime) BeforeUnlinkDevice() RuntimeBeforeUnlinkDeviceFunction
func (*Runtime) BeforeUnlinkEmail ¶
func (r *Runtime) BeforeUnlinkEmail() RuntimeBeforeUnlinkEmailFunction
func (*Runtime) BeforeUnlinkFacebook ¶
func (r *Runtime) BeforeUnlinkFacebook() RuntimeBeforeUnlinkFacebookFunction
func (*Runtime) BeforeUnlinkFacebookInstantGame ¶
func (r *Runtime) BeforeUnlinkFacebookInstantGame() RuntimeBeforeUnlinkFacebookInstantGameFunction
func (*Runtime) BeforeUnlinkGameCenter ¶
func (r *Runtime) BeforeUnlinkGameCenter() RuntimeBeforeUnlinkGameCenterFunction
func (*Runtime) BeforeUnlinkGoogle ¶
func (r *Runtime) BeforeUnlinkGoogle() RuntimeBeforeUnlinkGoogleFunction
func (*Runtime) BeforeUnlinkSteam ¶
func (r *Runtime) BeforeUnlinkSteam() RuntimeBeforeUnlinkSteamFunction
func (*Runtime) BeforeUpdateAccount ¶
func (r *Runtime) BeforeUpdateAccount() RuntimeBeforeUpdateAccountFunction
func (*Runtime) BeforeUpdateGroup ¶
func (r *Runtime) BeforeUpdateGroup() RuntimeBeforeUpdateGroupFunction
func (*Runtime) BeforeValidatePurchaseApple ¶ added in v3.2.0
func (r *Runtime) BeforeValidatePurchaseApple() RuntimeBeforeValidatePurchaseAppleFunction
func (*Runtime) BeforeValidatePurchaseFacebookInstant ¶ added in v3.19.0
func (r *Runtime) BeforeValidatePurchaseFacebookInstant() RuntimeBeforeValidatePurchaseFacebookInstantFunction
func (*Runtime) BeforeValidatePurchaseGoogle ¶ added in v3.2.0
func (r *Runtime) BeforeValidatePurchaseGoogle() RuntimeBeforeValidatePurchaseGoogleFunction
func (*Runtime) BeforeValidatePurchaseHuawei ¶ added in v3.2.0
func (r *Runtime) BeforeValidatePurchaseHuawei() RuntimeBeforeValidatePurchaseHuaweiFunction
func (*Runtime) BeforeValidateSubscriptionApple ¶ added in v3.13.0
func (r *Runtime) BeforeValidateSubscriptionApple() RuntimeBeforeValidateSubscriptionAppleFunction
func (*Runtime) BeforeValidateSubscriptionGoogle ¶ added in v3.13.0
func (r *Runtime) BeforeValidateSubscriptionGoogle() RuntimeBeforeValidateSubscriptionGoogleFunction
func (*Runtime) BeforeWriteLeaderboardRecord ¶
func (r *Runtime) BeforeWriteLeaderboardRecord() RuntimeBeforeWriteLeaderboardRecordFunction
func (*Runtime) BeforeWriteStorageObjects ¶
func (r *Runtime) BeforeWriteStorageObjects() RuntimeBeforeWriteStorageObjectsFunction
func (*Runtime) BeforeWriteTournamentRecord ¶
func (r *Runtime) BeforeWriteTournamentRecord() RuntimeBeforeWriteTournamentRecordFunction
func (*Runtime) Event ¶
func (r *Runtime) Event() RuntimeEventCustomFunction
func (*Runtime) EventSessionEnd ¶
func (r *Runtime) EventSessionEnd() RuntimeEventSessionEndFunction
func (*Runtime) EventSessionStart ¶
func (r *Runtime) EventSessionStart() RuntimeEventSessionStartFunction
func (*Runtime) LeaderboardReset ¶
func (r *Runtime) LeaderboardReset() RuntimeLeaderboardResetFunction
func (*Runtime) MatchCreateFunction ¶
func (r *Runtime) MatchCreateFunction() RuntimeMatchCreateFunction
func (*Runtime) MatchmakerMatched ¶
func (r *Runtime) MatchmakerMatched() RuntimeMatchmakerMatchedFunction
func (*Runtime) PurchaseNotificationApple ¶ added in v3.15.0
func (r *Runtime) PurchaseNotificationApple() RuntimePurchaseNotificationAppleFunction
func (*Runtime) PurchaseNotificationGoogle ¶ added in v3.15.0
func (r *Runtime) PurchaseNotificationGoogle() RuntimePurchaseNotificationGoogleFunction
func (*Runtime) Rpc ¶
func (r *Runtime) Rpc(id string) RuntimeRpcFunction
func (*Runtime) Shutdown ¶ added in v3.22.0
func (r *Runtime) Shutdown() RuntimeShutdownFunction
func (*Runtime) StorageIndexFilterFunction ¶ added in v3.17.0
func (r *Runtime) StorageIndexFilterFunction(indexName string) RuntimeStorageIndexFilterFunction
func (*Runtime) SubscriptionNotificationApple ¶ added in v3.15.0
func (r *Runtime) SubscriptionNotificationApple() RuntimeSubscriptionNotificationAppleFunction
func (*Runtime) SubscriptionNotificationGoogle ¶ added in v3.15.0
func (r *Runtime) SubscriptionNotificationGoogle() RuntimeSubscriptionNotificationGoogleFunction
func (*Runtime) TournamentEnd ¶
func (r *Runtime) TournamentEnd() RuntimeTournamentEndFunction
func (*Runtime) TournamentReset ¶
func (r *Runtime) TournamentReset() RuntimeTournamentResetFunction
type RuntimeAfterDeleteAccountFunction ¶ added in v3.15.0
type RuntimeAfterDeleteNotificationsFunction ¶ added in v3.12.0
type RuntimeAfterDeleteTournamentRecordFunction ¶ added in v3.16.0
type RuntimeAfterGetMatchmakerStatsFunction ¶ added in v3.23.0
type RuntimeAfterGetSubscriptionFunction ¶ added in v3.13.0
type RuntimeAfterImportSteamFriendsFunction ¶ added in v3.1.0
type RuntimeAfterListFriendsOfFriendsFunction ¶ added in v3.22.0
type RuntimeAfterListSubscriptionsFunction ¶ added in v3.13.0
type RuntimeAfterReqFunctions ¶
type RuntimeAfterReqFunctions struct {
// contains filtered or unexported fields
}
type RuntimeAfterRtFunction ¶
type RuntimeAfterSessionLogoutFunction ¶ added in v3.2.0
type RuntimeAfterValidatePurchaseAppleFunction ¶ added in v3.2.0
type RuntimeAfterValidatePurchaseFacebookInstantFunction ¶ added in v3.19.0
type RuntimeAfterValidatePurchaseGoogleFunction ¶ added in v3.2.0
type RuntimeAfterValidatePurchaseHuaweiFunction ¶ added in v3.2.0
type RuntimeAfterValidateSubscriptionAppleFunction ¶ added in v3.13.0
type RuntimeAfterValidateSubscriptionGoogleFunction ¶ added in v3.13.0
type RuntimeBeforeAuthenticateFacebookInstantGameFunction ¶
type RuntimeBeforeAuthenticateFacebookInstantGameFunction func(ctx context.Context, logger *zap.Logger, userID, username string, vars map[string]string, expiry int64, clientIP, clientPort string, in *api.AuthenticateFacebookInstantGameRequest) (*api.AuthenticateFacebookInstantGameRequest, error, codes.Code)
type RuntimeBeforeDeleteAccountFunction ¶ added in v3.15.0
type RuntimeBeforeDeleteNotificationsFunction ¶ added in v3.12.0
type RuntimeBeforeDeleteTournamentRecordFunction ¶ added in v3.16.0
type RuntimeBeforeGetMatchmakerStatsFunction ¶ added in v3.23.0
type RuntimeBeforeGetSubscriptionFunction ¶ added in v3.13.0
type RuntimeBeforeImportSteamFriendsFunction ¶ added in v3.1.0
type RuntimeBeforeListFriendsOfFriendsFunction ¶ added in v3.22.0
type RuntimeBeforeListLeaderboardRecordsAroundOwnerFunction ¶
type RuntimeBeforeListLeaderboardRecordsAroundOwnerFunction func(ctx context.Context, logger *zap.Logger, userID, username string, vars map[string]string, expiry int64, clientIP, clientPort string, in *api.ListLeaderboardRecordsAroundOwnerRequest) (*api.ListLeaderboardRecordsAroundOwnerRequest, error, codes.Code)
type RuntimeBeforeListSubscriptionsFunction ¶ added in v3.13.0
type RuntimeBeforeListTournamentRecordsAroundOwnerFunction ¶
type RuntimeBeforeListTournamentRecordsAroundOwnerFunction func(ctx context.Context, logger *zap.Logger, userID, username string, vars map[string]string, expiry int64, clientIP, clientPort string, in *api.ListTournamentRecordsAroundOwnerRequest) (*api.ListTournamentRecordsAroundOwnerRequest, error, codes.Code)
type RuntimeBeforeReqFunctions ¶
type RuntimeBeforeReqFunctions struct {
// contains filtered or unexported fields
}
type RuntimeBeforeRtFunction ¶
type RuntimeBeforeSessionLogoutFunction ¶ added in v3.2.0
type RuntimeBeforeValidatePurchaseAppleFunction ¶ added in v3.2.0
type RuntimeBeforeValidatePurchaseFacebookInstantFunction ¶ added in v3.19.0
type RuntimeBeforeValidatePurchaseFacebookInstantFunction func(ctx context.Context, logger *zap.Logger, userID, username string, vars map[string]string, expiry int64, clientIP, clientPort string, in *api.ValidatePurchaseFacebookInstantRequest) (*api.ValidatePurchaseFacebookInstantRequest, error, codes.Code)
type RuntimeBeforeValidatePurchaseGoogleFunction ¶ added in v3.2.0
type RuntimeBeforeValidatePurchaseHuaweiFunction ¶ added in v3.2.0
type RuntimeBeforeValidateSubscriptionAppleFunction ¶ added in v3.13.0
type RuntimeBeforeValidateSubscriptionGoogleFunction ¶ added in v3.13.0
type RuntimeConfig ¶
type RuntimeConfig struct { Environment map[string]string `yaml:"-" json:"-"` Env []string `yaml:"env" json:"env" usage:"Values to pass into Runtime as environment variables."` Path string `yaml:"path" json:"path" usage:"Path for the server to scan for Lua and Go library files."` HTTPKey string `yaml:"http_key" json:"http_key" usage:"Runtime HTTP Invocation key."` MinCount int `yaml:"min_count" json:"min_count" usage:"Minimum number of Lua runtime instances to allocate. Default 0."` // Kept for backwards compatibility LuaMinCount int `yaml:"lua_min_count" json:"lua_min_count" usage:"Minimum number of Lua runtime instances to allocate. Default 16."` MaxCount int `yaml:"max_count" json:"max_count" usage:"Maximum number of Lua runtime instances to allocate. Default 0."` // Kept for backwards compatibility LuaMaxCount int `yaml:"lua_max_count" json:"lua_max_count" usage:"Maximum number of Lua runtime instances to allocate. Default 48."` JsMinCount int `yaml:"js_min_count" json:"js_min_count" usage:"Maximum number of Javascript runtime instances to allocate. Default 16."` JsMaxCount int `yaml:"js_max_count" json:"js_max_count" usage:"Maximum number of Javascript runtime instances to allocate. Default 32."` CallStackSize int `yaml:"call_stack_size" json:"call_stack_size" usage:"Size of each runtime instance's call stack. Default 0."` // Kept for backwards compatibility LuaCallStackSize int `yaml:"lua_call_stack_size" json:"lua_call_stack_size" usage:"Size of each runtime instance's call stack. Default 128."` RegistrySize int `yaml:"registry_size" json:"registry_size" usage:"Size of each Lua runtime instance's registry. Default 0."` // Kept for backwards compatibility LuaRegistrySize int `yaml:"lua_registry_size" json:"lua_registry_size" usage:"Size of each Lua runtime instance's registry. Default 512."` EventQueueSize int `yaml:"event_queue_size" json:"event_queue_size" usage:"Size of the event queue buffer. Default 65536."` EventQueueWorkers int `` /* 134-byte string literal not displayed */ ReadOnlyGlobals bool `` // Kept for backwards compatibility /* 161-byte string literal not displayed */ LuaReadOnlyGlobals bool `` /* 169-byte string literal not displayed */ JsReadOnlyGlobals bool `` /* 168-byte string literal not displayed */ LuaApiStacktrace bool `` /* 144-byte string literal not displayed */ JsEntrypoint string `yaml:"js_entrypoint" json:"js_entrypoint" usage:"Specifies the location of the bundled JavaScript runtime source code."` }
RuntimeConfig is configuration relevant to the Runtimes.
func NewRuntimeConfig ¶
func NewRuntimeConfig() *RuntimeConfig
func (*RuntimeConfig) Clone ¶ added in v3.25.0
func (r *RuntimeConfig) Clone() *RuntimeConfig
func (*RuntimeConfig) GetEnv ¶ added in v3.25.0
func (r *RuntimeConfig) GetEnv() []string
func (*RuntimeConfig) GetHTTPKey ¶ added in v3.25.0
func (r *RuntimeConfig) GetHTTPKey() string
func (*RuntimeConfig) GetLuaCallStackSize ¶
func (r *RuntimeConfig) GetLuaCallStackSize() int
Function to allow backwards compatibility for CallStackSize config
func (*RuntimeConfig) GetLuaMaxCount ¶
func (r *RuntimeConfig) GetLuaMaxCount() int
Function to allow backwards compatibility for MaxCount config
func (*RuntimeConfig) GetLuaMinCount ¶
func (r *RuntimeConfig) GetLuaMinCount() int
Function to allow backwards compatibility for MinCount config
func (*RuntimeConfig) GetLuaReadOnlyGlobals ¶
func (r *RuntimeConfig) GetLuaReadOnlyGlobals() bool
Function to allow backwards compatibility for LuaReadOnlyGlobals config
func (*RuntimeConfig) GetLuaRegistrySize ¶
func (r *RuntimeConfig) GetLuaRegistrySize() int
Function to allow backwards compatibility for RegistrySize config
type RuntimeConfigClone ¶ added in v3.25.0
type RuntimeConfigClone struct { Name string ShutdownGrace int Logger runtime.LoggerConfig Session runtime.SessionConfig Socket runtime.SocketConfig Social runtime.SocialConfig Runtime runtime.RuntimeConfig Iap runtime.IAPConfig GoogleAuth runtime.GoogleAuthConfig Satori runtime.SatoriConfig }
func (*RuntimeConfigClone) GetGoogleAuth ¶ added in v3.25.0
func (c *RuntimeConfigClone) GetGoogleAuth() runtime.GoogleAuthConfig
func (*RuntimeConfigClone) GetIAP ¶ added in v3.25.0
func (c *RuntimeConfigClone) GetIAP() runtime.IAPConfig
func (*RuntimeConfigClone) GetLogger ¶ added in v3.25.0
func (c *RuntimeConfigClone) GetLogger() runtime.LoggerConfig
func (*RuntimeConfigClone) GetName ¶ added in v3.25.0
func (c *RuntimeConfigClone) GetName() string
func (*RuntimeConfigClone) GetRuntime ¶ added in v3.25.0
func (c *RuntimeConfigClone) GetRuntime() runtime.RuntimeConfig
func (*RuntimeConfigClone) GetSatori ¶ added in v3.25.0
func (c *RuntimeConfigClone) GetSatori() runtime.SatoriConfig
func (*RuntimeConfigClone) GetSession ¶ added in v3.25.0
func (c *RuntimeConfigClone) GetSession() runtime.SessionConfig
func (*RuntimeConfigClone) GetShutdownGraceSec ¶ added in v3.25.0
func (c *RuntimeConfigClone) GetShutdownGraceSec() int
func (*RuntimeConfigClone) GetSocial ¶ added in v3.25.0
func (c *RuntimeConfigClone) GetSocial() runtime.SocialConfig
func (*RuntimeConfigClone) GetSocket ¶ added in v3.25.0
func (c *RuntimeConfigClone) GetSocket() runtime.SocketConfig
type RuntimeEventFunction ¶
type RuntimeEventFunctions ¶
type RuntimeEventFunctions struct {
// contains filtered or unexported fields
}
type RuntimeEventQueue ¶
type RuntimeEventQueue struct {
// contains filtered or unexported fields
}
func NewRuntimeEventQueue ¶
func NewRuntimeEventQueue(logger *zap.Logger, config Config, metrics Metrics) *RuntimeEventQueue
func (*RuntimeEventQueue) Queue ¶
func (b *RuntimeEventQueue) Queue(fn func())
func (*RuntimeEventQueue) Stop ¶
func (b *RuntimeEventQueue) Stop()
type RuntimeExecutionMode ¶
type RuntimeExecutionMode int
const ( RuntimeExecutionModeEvent RuntimeExecutionMode = iota RuntimeExecutionModeRunOnce RuntimeExecutionModeRPC RuntimeExecutionModeBefore RuntimeExecutionModeAfter RuntimeExecutionModeMatch RuntimeExecutionModeMatchmaker RuntimeExecutionModeMatchmakerOverride RuntimeExecutionModeMatchCreate RuntimeExecutionModeTournamentEnd RuntimeExecutionModeTournamentReset RuntimeExecutionModeLeaderboardReset RuntimeExecutionModePurchaseNotificationApple RuntimeExecutionModeSubscriptionNotificationApple RuntimeExecutionModePurchaseNotificationGoogle RuntimeExecutionModeSubscriptionNotificationGoogle RuntimeExecutionModeStorageIndexFilter RuntimeExecutionModeShutdown )
func (RuntimeExecutionMode) String ¶
func (e RuntimeExecutionMode) String() string
type RuntimeGoInitializer ¶
type RuntimeGoInitializer struct {
// contains filtered or unexported fields
}
func (*RuntimeGoInitializer) GetConfig ¶ added in v3.25.0
func (ri *RuntimeGoInitializer) GetConfig() (runtime.Config, error)
func (*RuntimeGoInitializer) RegisterAfterAddFriends ¶
func (ri *RuntimeGoInitializer) RegisterAfterAddFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AddFriendsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAddGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterAddGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AddGroupUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateApple ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateAppleRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateCustom ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateCustomRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateDevice ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateDeviceRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateEmail ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateEmailRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateFacebook ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateFacebookRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateFacebookInstantGame ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateFacebookInstantGame(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateFacebookInstantGameRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateGameCenterRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateGoogle ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateGoogleRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterAuthenticateSteam ¶
func (ri *RuntimeGoInitializer) RegisterAfterAuthenticateSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.AuthenticateSteamRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterBanGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterBanGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.BanGroupUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterBlockFriends ¶
func (ri *RuntimeGoInitializer) RegisterAfterBlockFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.BlockFriendsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterCreateGroup ¶
func (ri *RuntimeGoInitializer) RegisterAfterCreateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Group, in *api.CreateGroupRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteAccount ¶ added in v3.15.0
func (*RuntimeGoInitializer) RegisterAfterDeleteFriends ¶
func (ri *RuntimeGoInitializer) RegisterAfterDeleteFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteFriendsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteGroup ¶
func (ri *RuntimeGoInitializer) RegisterAfterDeleteGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteGroupRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteLeaderboardRecord ¶
func (ri *RuntimeGoInitializer) RegisterAfterDeleteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteLeaderboardRecordRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteNotifications ¶ added in v3.12.0
func (ri *RuntimeGoInitializer) RegisterAfterDeleteNotifications(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteNotificationsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterAfterDeleteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteStorageObjectsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDeleteTournamentRecord ¶ added in v3.16.0
func (ri *RuntimeGoInitializer) RegisterAfterDeleteTournamentRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteTournamentRecordRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterDemoteGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterDemoteGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DemoteGroupUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterEvent ¶
func (*RuntimeGoInitializer) RegisterAfterGetAccount ¶
func (*RuntimeGoInitializer) RegisterAfterGetMatchmakerStats ¶ added in v3.23.0
func (ri *RuntimeGoInitializer) RegisterAfterGetMatchmakerStats(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.MatchmakerStats) error) error
func (*RuntimeGoInitializer) RegisterAfterGetSubscription ¶ added in v3.13.0
func (ri *RuntimeGoInitializer) RegisterAfterGetSubscription(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.ValidatedSubscription, in *api.GetSubscriptionRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterGetUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterGetUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Users, in *api.GetUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterImportFacebookFriends ¶
func (ri *RuntimeGoInitializer) RegisterAfterImportFacebookFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ImportFacebookFriendsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterImportSteamFriends ¶ added in v3.1.0
func (ri *RuntimeGoInitializer) RegisterAfterImportSteamFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ImportSteamFriendsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterJoinGroup ¶
func (ri *RuntimeGoInitializer) RegisterAfterJoinGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.JoinGroupRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterJoinTournament ¶
func (ri *RuntimeGoInitializer) RegisterAfterJoinTournament(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.JoinTournamentRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterKickGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterKickGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.KickGroupUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterLeaveGroup ¶
func (ri *RuntimeGoInitializer) RegisterAfterLeaveGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.LeaveGroupRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkApple ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountApple) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkCustom ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountCustom) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkDevice ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountDevice) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkEmail ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountEmail) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkFacebook ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.LinkFacebookRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkFacebookInstantGame ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkFacebookInstantGame(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountFacebookInstantGame) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGameCenter) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkGoogle ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGoogle) error) error
func (*RuntimeGoInitializer) RegisterAfterLinkSteam ¶
func (ri *RuntimeGoInitializer) RegisterAfterLinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.LinkSteamRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListChannelMessages ¶
func (ri *RuntimeGoInitializer) RegisterAfterListChannelMessages(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.ChannelMessageList, in *api.ListChannelMessagesRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListFriends ¶
func (ri *RuntimeGoInitializer) RegisterAfterListFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.FriendList) error) error
func (*RuntimeGoInitializer) RegisterAfterListFriendsOfFriends ¶ added in v3.22.0
func (ri *RuntimeGoInitializer) RegisterAfterListFriendsOfFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.FriendsOfFriendsList) error) error
func (*RuntimeGoInitializer) RegisterAfterListGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterListGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.GroupUserList, in *api.ListGroupUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListGroups ¶
func (ri *RuntimeGoInitializer) RegisterAfterListGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.GroupList, in *api.ListGroupsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListLeaderboardRecords ¶
func (ri *RuntimeGoInitializer) RegisterAfterListLeaderboardRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.LeaderboardRecordList, in *api.ListLeaderboardRecordsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListLeaderboardRecordsAroundOwner ¶
func (ri *RuntimeGoInitializer) RegisterAfterListLeaderboardRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.LeaderboardRecordList, in *api.ListLeaderboardRecordsAroundOwnerRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListMatches ¶
func (ri *RuntimeGoInitializer) RegisterAfterListMatches(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.MatchList, in *api.ListMatchesRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListNotifications ¶
func (ri *RuntimeGoInitializer) RegisterAfterListNotifications(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.NotificationList, in *api.ListNotificationsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterAfterListStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.StorageObjectList, in *api.ListStorageObjectsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListSubscriptions ¶ added in v3.13.0
func (ri *RuntimeGoInitializer) RegisterAfterListSubscriptions(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.SubscriptionList, in *api.ListSubscriptionsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListTournamentRecords ¶
func (ri *RuntimeGoInitializer) RegisterAfterListTournamentRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.TournamentRecordList, in *api.ListTournamentRecordsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListTournamentRecordsAroundOwner ¶
func (ri *RuntimeGoInitializer) RegisterAfterListTournamentRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.TournamentRecordList, in *api.ListTournamentRecordsAroundOwnerRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListTournaments ¶
func (ri *RuntimeGoInitializer) RegisterAfterListTournaments(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.TournamentList, in *api.ListTournamentsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterListUserGroups ¶
func (ri *RuntimeGoInitializer) RegisterAfterListUserGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.UserGroupList, in *api.ListUserGroupsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterPromoteGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterAfterPromoteGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.PromoteGroupUsersRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterReadStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterAfterReadStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.StorageObjects, in *api.ReadStorageObjectsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterRt ¶
func (*RuntimeGoInitializer) RegisterAfterSessionLogout ¶ added in v3.2.0
func (ri *RuntimeGoInitializer) RegisterAfterSessionLogout(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.SessionLogoutRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterSessionRefresh ¶
func (ri *RuntimeGoInitializer) RegisterAfterSessionRefresh(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.Session, in *api.SessionRefreshRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkApple ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountApple) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkCustom ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountCustom) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkDevice ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountDevice) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkEmail ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountEmail) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkFacebook ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountFacebook) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkFacebookInstantGame ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkFacebookInstantGame(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountFacebookInstantGame) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGameCenter) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkGoogle ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGoogle) error) error
func (*RuntimeGoInitializer) RegisterAfterUnlinkSteam ¶
func (ri *RuntimeGoInitializer) RegisterAfterUnlinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountSteam) error) error
func (*RuntimeGoInitializer) RegisterAfterUpdateAccount ¶
func (ri *RuntimeGoInitializer) RegisterAfterUpdateAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.UpdateAccountRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterUpdateGroup ¶
func (ri *RuntimeGoInitializer) RegisterAfterUpdateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.UpdateGroupRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterValidatePurchaseApple ¶ added in v3.2.0
func (ri *RuntimeGoInitializer) RegisterAfterValidatePurchaseApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.ValidatePurchaseResponse, in *api.ValidatePurchaseAppleRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterValidatePurchaseFacebookInstant ¶ added in v3.19.0
func (ri *RuntimeGoInitializer) RegisterAfterValidatePurchaseFacebookInstant(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.ValidatePurchaseResponse, in *api.ValidatePurchaseFacebookInstantRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterValidatePurchaseGoogle ¶ added in v3.2.0
func (ri *RuntimeGoInitializer) RegisterAfterValidatePurchaseGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.ValidatePurchaseResponse, in *api.ValidatePurchaseGoogleRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterValidatePurchaseHuawei ¶ added in v3.2.0
func (ri *RuntimeGoInitializer) RegisterAfterValidatePurchaseHuawei(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.ValidatePurchaseResponse, in *api.ValidatePurchaseHuaweiRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterValidateSubscriptionApple ¶ added in v3.13.0
func (ri *RuntimeGoInitializer) RegisterAfterValidateSubscriptionApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.ValidateSubscriptionResponse, in *api.ValidateSubscriptionAppleRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterValidateSubscriptionGoogle ¶ added in v3.13.0
func (ri *RuntimeGoInitializer) RegisterAfterValidateSubscriptionGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.ValidateSubscriptionResponse, in *api.ValidateSubscriptionGoogleRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterWriteLeaderboardRecord ¶
func (ri *RuntimeGoInitializer) RegisterAfterWriteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.LeaderboardRecord, in *api.WriteLeaderboardRecordRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterWriteStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterAfterWriteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.StorageObjectAcks, in *api.WriteStorageObjectsRequest) error) error
func (*RuntimeGoInitializer) RegisterAfterWriteTournamentRecord ¶
func (ri *RuntimeGoInitializer) RegisterAfterWriteTournamentRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, out *api.LeaderboardRecord, in *api.WriteTournamentRecordRequest) error) error
func (*RuntimeGoInitializer) RegisterBeforeAddFriends ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAddFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AddFriendsRequest) (*api.AddFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAddGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAddGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AddGroupUsersRequest) (*api.AddGroupUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateApple ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateAppleRequest) (*api.AuthenticateAppleRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateCustom ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateCustomRequest) (*api.AuthenticateCustomRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateDevice ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateDeviceRequest) (*api.AuthenticateDeviceRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateEmail ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateEmailRequest) (*api.AuthenticateEmailRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateFacebook ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateFacebookRequest) (*api.AuthenticateFacebookRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateFacebookInstantGame ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateFacebookInstantGame(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateFacebookInstantGameRequest) (*api.AuthenticateFacebookInstantGameRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateGameCenterRequest) (*api.AuthenticateGameCenterRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateGoogle ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateGoogleRequest) (*api.AuthenticateGoogleRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeAuthenticateSteam ¶
func (ri *RuntimeGoInitializer) RegisterBeforeAuthenticateSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AuthenticateSteamRequest) (*api.AuthenticateSteamRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeBanGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforeBanGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.BanGroupUsersRequest) (*api.BanGroupUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeBlockFriends ¶
func (ri *RuntimeGoInitializer) RegisterBeforeBlockFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.BlockFriendsRequest) (*api.BlockFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeCreateGroup ¶
func (ri *RuntimeGoInitializer) RegisterBeforeCreateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.CreateGroupRequest) (*api.CreateGroupRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteAccount ¶ added in v3.15.0
func (*RuntimeGoInitializer) RegisterBeforeDeleteFriends ¶
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteFriendsRequest) (*api.DeleteFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteGroup ¶
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteGroupRequest) (*api.DeleteGroupRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteLeaderboardRecord ¶
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteLeaderboardRecordRequest) (*api.DeleteLeaderboardRecordRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteNotifications ¶ added in v3.12.0
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteNotifications(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteNotificationsRequest) (*api.DeleteNotificationsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteStorageObjectsRequest) (*api.DeleteStorageObjectsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDeleteTournamentRecord ¶ added in v3.16.0
func (ri *RuntimeGoInitializer) RegisterBeforeDeleteTournamentRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DeleteTournamentRecordRequest) (*api.DeleteTournamentRecordRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeDemoteGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforeDemoteGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.DemoteGroupUsersRequest) (*api.DemoteGroupUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeEvent ¶
func (*RuntimeGoInitializer) RegisterBeforeGetAccount ¶
func (*RuntimeGoInitializer) RegisterBeforeGetMatchmakerStats ¶ added in v3.23.0
func (*RuntimeGoInitializer) RegisterBeforeGetSubscription ¶ added in v3.13.0
func (ri *RuntimeGoInitializer) RegisterBeforeGetSubscription(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.GetSubscriptionRequest) (*api.GetSubscriptionRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeGetUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforeGetUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.GetUsersRequest) (*api.GetUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeImportFacebookFriends ¶
func (ri *RuntimeGoInitializer) RegisterBeforeImportFacebookFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ImportFacebookFriendsRequest) (*api.ImportFacebookFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeImportSteamFriends ¶ added in v3.1.0
func (ri *RuntimeGoInitializer) RegisterBeforeImportSteamFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ImportSteamFriendsRequest) (*api.ImportSteamFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeJoinGroup ¶
func (ri *RuntimeGoInitializer) RegisterBeforeJoinGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.JoinGroupRequest) (*api.JoinGroupRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeJoinTournament ¶
func (ri *RuntimeGoInitializer) RegisterBeforeJoinTournament(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.JoinTournamentRequest) (*api.JoinTournamentRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeKickGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforeKickGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.KickGroupUsersRequest) (*api.KickGroupUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLeaveGroup ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLeaveGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.LeaveGroupRequest) (*api.LeaveGroupRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkApple ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountApple) (*api.AccountApple, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkCustom ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountCustom) (*api.AccountCustom, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkDevice ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountDevice) (*api.AccountDevice, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkEmail ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountEmail) (*api.AccountEmail, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkFacebook ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.LinkFacebookRequest) (*api.LinkFacebookRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkFacebookInstantGame ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkFacebookInstantGame(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountFacebookInstantGame) (*api.AccountFacebookInstantGame, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGameCenter) (*api.AccountGameCenter, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkGoogle ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGoogle) (*api.AccountGoogle, error)) error
func (*RuntimeGoInitializer) RegisterBeforeLinkSteam ¶
func (ri *RuntimeGoInitializer) RegisterBeforeLinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.LinkSteamRequest) (*api.LinkSteamRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListChannelMessages ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListChannelMessages(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListChannelMessagesRequest) (*api.ListChannelMessagesRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListFriends ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListFriendsRequest) (*api.ListFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListFriendsOfFriends ¶ added in v3.22.0
func (ri *RuntimeGoInitializer) RegisterBeforeListFriendsOfFriends(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListFriendsOfFriendsRequest) (*api.ListFriendsOfFriendsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListGroupUsersRequest) (*api.ListGroupUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListGroups ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListGroupsRequest) (*api.ListGroupsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListLeaderboardRecords ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListLeaderboardRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListLeaderboardRecordsRequest) (*api.ListLeaderboardRecordsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListLeaderboardRecordsAroundOwner ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListLeaderboardRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListLeaderboardRecordsAroundOwnerRequest) (*api.ListLeaderboardRecordsAroundOwnerRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListMatches ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListMatches(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListMatchesRequest) (*api.ListMatchesRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListNotifications ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListNotifications(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListNotificationsRequest) (*api.ListNotificationsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListStorageObjectsRequest) (*api.ListStorageObjectsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListSubscriptions ¶ added in v3.13.0
func (ri *RuntimeGoInitializer) RegisterBeforeListSubscriptions(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListSubscriptionsRequest) (*api.ListSubscriptionsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListTournamentRecords ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListTournamentRecords(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListTournamentRecordsRequest) (*api.ListTournamentRecordsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListTournamentRecordsAroundOwner ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListTournamentRecordsAroundOwner(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListTournamentRecordsAroundOwnerRequest) (*api.ListTournamentRecordsAroundOwnerRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListTournaments ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListTournaments(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListTournamentsRequest) (*api.ListTournamentsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeListUserGroups ¶
func (ri *RuntimeGoInitializer) RegisterBeforeListUserGroups(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ListUserGroupsRequest) (*api.ListUserGroupsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforePromoteGroupUsers ¶
func (ri *RuntimeGoInitializer) RegisterBeforePromoteGroupUsers(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.PromoteGroupUsersRequest) (*api.PromoteGroupUsersRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeReadStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterBeforeReadStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ReadStorageObjectsRequest) (*api.ReadStorageObjectsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeRt ¶
func (*RuntimeGoInitializer) RegisterBeforeSessionLogout ¶ added in v3.2.0
func (ri *RuntimeGoInitializer) RegisterBeforeSessionLogout(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.SessionLogoutRequest) (*api.SessionLogoutRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeSessionRefresh ¶
func (ri *RuntimeGoInitializer) RegisterBeforeSessionRefresh(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.SessionRefreshRequest) (*api.SessionRefreshRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkApple ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountApple) (*api.AccountApple, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkCustom ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkCustom(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountCustom) (*api.AccountCustom, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkDevice ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkDevice(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountDevice) (*api.AccountDevice, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkEmail ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkEmail(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountEmail) (*api.AccountEmail, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkFacebook ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkFacebook(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountFacebook) (*api.AccountFacebook, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkFacebookInstantGame ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkFacebookInstantGame(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountFacebookInstantGame) (*api.AccountFacebookInstantGame, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkGameCenter ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkGameCenter(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGameCenter) (*api.AccountGameCenter, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkGoogle ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountGoogle) (*api.AccountGoogle, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUnlinkSteam ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUnlinkSteam(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.AccountSteam) (*api.AccountSteam, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUpdateAccount ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUpdateAccount(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.UpdateAccountRequest) (*api.UpdateAccountRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeUpdateGroup ¶
func (ri *RuntimeGoInitializer) RegisterBeforeUpdateGroup(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.UpdateGroupRequest) (*api.UpdateGroupRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeValidatePurchaseApple ¶ added in v3.2.0
func (ri *RuntimeGoInitializer) RegisterBeforeValidatePurchaseApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ValidatePurchaseAppleRequest) (*api.ValidatePurchaseAppleRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeValidatePurchaseFacebookInstant ¶ added in v3.19.0
func (ri *RuntimeGoInitializer) RegisterBeforeValidatePurchaseFacebookInstant(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ValidatePurchaseFacebookInstantRequest) (*api.ValidatePurchaseFacebookInstantRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeValidatePurchaseGoogle ¶ added in v3.2.0
func (ri *RuntimeGoInitializer) RegisterBeforeValidatePurchaseGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ValidatePurchaseGoogleRequest) (*api.ValidatePurchaseGoogleRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeValidatePurchaseHuawei ¶ added in v3.2.0
func (ri *RuntimeGoInitializer) RegisterBeforeValidatePurchaseHuawei(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ValidatePurchaseHuaweiRequest) (*api.ValidatePurchaseHuaweiRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeValidateSubscriptionApple ¶ added in v3.13.0
func (ri *RuntimeGoInitializer) RegisterBeforeValidateSubscriptionApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ValidateSubscriptionAppleRequest) (*api.ValidateSubscriptionAppleRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeValidateSubscriptionGoogle ¶ added in v3.13.0
func (ri *RuntimeGoInitializer) RegisterBeforeValidateSubscriptionGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.ValidateSubscriptionGoogleRequest) (*api.ValidateSubscriptionGoogleRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeWriteLeaderboardRecord ¶
func (ri *RuntimeGoInitializer) RegisterBeforeWriteLeaderboardRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.WriteLeaderboardRecordRequest) (*api.WriteLeaderboardRecordRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeWriteStorageObjects ¶
func (ri *RuntimeGoInitializer) RegisterBeforeWriteStorageObjects(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.WriteStorageObjectsRequest) (*api.WriteStorageObjectsRequest, error)) error
func (*RuntimeGoInitializer) RegisterBeforeWriteTournamentRecord ¶
func (ri *RuntimeGoInitializer) RegisterBeforeWriteTournamentRecord(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, in *api.WriteTournamentRecordRequest) (*api.WriteTournamentRecordRequest, error)) error
func (*RuntimeGoInitializer) RegisterEvent ¶
func (*RuntimeGoInitializer) RegisterEventSessionEnd ¶
func (*RuntimeGoInitializer) RegisterEventSessionStart ¶
func (*RuntimeGoInitializer) RegisterFleetManager ¶ added in v3.21.0
func (ri *RuntimeGoInitializer) RegisterFleetManager(fleetManager runtime.FleetManagerInitializer) error
func (*RuntimeGoInitializer) RegisterHttp ¶ added in v3.24.0
func (ri *RuntimeGoInitializer) RegisterHttp(pathPattern string, handler func(http.ResponseWriter, *http.Request), methods ...string) error
func (*RuntimeGoInitializer) RegisterLeaderboardReset ¶
func (ri *RuntimeGoInitializer) RegisterLeaderboardReset(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, leaderboard *api.Leaderboard, reset int64) error) error
func (*RuntimeGoInitializer) RegisterMatch ¶
func (*RuntimeGoInitializer) RegisterMatchmakerMatched ¶
func (ri *RuntimeGoInitializer) RegisterMatchmakerMatched(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, entries []runtime.MatchmakerEntry) (string, error)) error
func (*RuntimeGoInitializer) RegisterMatchmakerOverride ¶ added in v3.16.0
func (ri *RuntimeGoInitializer) RegisterMatchmakerOverride(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, matches [][]runtime.MatchmakerEntry) [][]runtime.MatchmakerEntry) error
func (*RuntimeGoInitializer) RegisterPurchaseNotificationApple ¶ added in v3.15.0
func (ri *RuntimeGoInitializer) RegisterPurchaseNotificationApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, purchase *api.ValidatedPurchase, providerPayload string) error) error
func (*RuntimeGoInitializer) RegisterPurchaseNotificationGoogle ¶ added in v3.15.0
func (ri *RuntimeGoInitializer) RegisterPurchaseNotificationGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, purchase *api.ValidatedPurchase, providerPayload string) error) error
func (*RuntimeGoInitializer) RegisterRpc ¶
func (*RuntimeGoInitializer) RegisterShutdown ¶ added in v3.22.0
func (ri *RuntimeGoInitializer) RegisterShutdown(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule)) error
func (*RuntimeGoInitializer) RegisterStorageIndex ¶ added in v3.17.0
func (*RuntimeGoInitializer) RegisterStorageIndexFilter ¶ added in v3.17.0
func (ri *RuntimeGoInitializer) RegisterStorageIndexFilter(indexName string, fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, write *runtime.StorageWrite) bool) error
func (*RuntimeGoInitializer) RegisterSubscriptionNotificationApple ¶ added in v3.15.0
func (ri *RuntimeGoInitializer) RegisterSubscriptionNotificationApple(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, subscription *api.ValidatedSubscription, providerPayload string) error) error
func (*RuntimeGoInitializer) RegisterSubscriptionNotificationGoogle ¶ added in v3.15.0
func (ri *RuntimeGoInitializer) RegisterSubscriptionNotificationGoogle(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, subscription *api.ValidatedSubscription, providerPayload string) error) error
func (*RuntimeGoInitializer) RegisterTournamentEnd ¶
func (ri *RuntimeGoInitializer) RegisterTournamentEnd(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, tournament *api.Tournament, end, reset int64) error) error
func (*RuntimeGoInitializer) RegisterTournamentReset ¶
func (ri *RuntimeGoInitializer) RegisterTournamentReset(fn func(ctx context.Context, logger runtime.Logger, db *sql.DB, nk runtime.NakamaModule, tournament *api.Tournament, end, reset int64) error) error
type RuntimeGoLogger ¶
type RuntimeGoLogger struct {
// contains filtered or unexported fields
}
func (*RuntimeGoLogger) Debug ¶
func (l *RuntimeGoLogger) Debug(format string, v ...interface{})
func (*RuntimeGoLogger) Error ¶
func (l *RuntimeGoLogger) Error(format string, v ...interface{})
func (*RuntimeGoLogger) Fields ¶
func (l *RuntimeGoLogger) Fields() map[string]interface{}
func (*RuntimeGoLogger) Info ¶
func (l *RuntimeGoLogger) Info(format string, v ...interface{})
func (*RuntimeGoLogger) Warn ¶
func (l *RuntimeGoLogger) Warn(format string, v ...interface{})
func (*RuntimeGoLogger) WithField ¶
func (l *RuntimeGoLogger) WithField(key string, v interface{}) nkruntime.Logger
func (*RuntimeGoLogger) WithFields ¶
func (l *RuntimeGoLogger) WithFields(fields map[string]interface{}) nkruntime.Logger
type RuntimeGoMatchCore ¶
type RuntimeGoMatchCore struct {
// contains filtered or unexported fields
}
func (*RuntimeGoMatchCore) BroadcastMessage ¶
func (*RuntimeGoMatchCore) BroadcastMessageDeferred ¶
func (*RuntimeGoMatchCore) Cancel ¶
func (r *RuntimeGoMatchCore) Cancel()
func (*RuntimeGoMatchCore) Cleanup ¶ added in v3.10.0
func (r *RuntimeGoMatchCore) Cleanup()
func (*RuntimeGoMatchCore) CreateTime ¶ added in v3.1.2
func (r *RuntimeGoMatchCore) CreateTime() int64
func (*RuntimeGoMatchCore) GetState ¶
func (r *RuntimeGoMatchCore) GetState(state interface{}) (string, error)
func (*RuntimeGoMatchCore) HandlerName ¶
func (r *RuntimeGoMatchCore) HandlerName() string
func (*RuntimeGoMatchCore) Label ¶
func (r *RuntimeGoMatchCore) Label() string
func (*RuntimeGoMatchCore) MatchInit ¶
func (r *RuntimeGoMatchCore) MatchInit(presenceList *MatchPresenceList, deferMessageFn RuntimeMatchDeferMessageFunction, params map[string]interface{}) (interface{}, int, error)
func (*RuntimeGoMatchCore) MatchJoin ¶
func (r *RuntimeGoMatchCore) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error)
func (*RuntimeGoMatchCore) MatchJoinAttempt ¶
func (*RuntimeGoMatchCore) MatchKick ¶
func (r *RuntimeGoMatchCore) MatchKick(presences []runtime.Presence) error
func (*RuntimeGoMatchCore) MatchLabelUpdate ¶
func (r *RuntimeGoMatchCore) MatchLabelUpdate(label string) error
func (*RuntimeGoMatchCore) MatchLeave ¶
func (r *RuntimeGoMatchCore) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error)
func (*RuntimeGoMatchCore) MatchLoop ¶
func (r *RuntimeGoMatchCore) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error)
func (*RuntimeGoMatchCore) MatchSignal ¶ added in v3.8.0
func (r *RuntimeGoMatchCore) MatchSignal(tick int64, state interface{}, data string) (interface{}, string, error)
func (*RuntimeGoMatchCore) MatchTerminate ¶
func (r *RuntimeGoMatchCore) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error)
func (*RuntimeGoMatchCore) TickRate ¶ added in v3.1.2
func (r *RuntimeGoMatchCore) TickRate() int
type RuntimeGoNakamaModule ¶
func NewRuntimeGoNakamaModule ¶
func NewRuntimeGoNakamaModule(logger *zap.Logger, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, config Config, socialClient *social.Client, leaderboardCache LeaderboardCache, leaderboardRankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchRegistry MatchRegistry, tracker Tracker, metrics Metrics, streamManager StreamManager, router MessageRouter, storageIndex StorageIndex) *RuntimeGoNakamaModule
func (*RuntimeGoNakamaModule) AccountDeleteId ¶
func (n *RuntimeGoNakamaModule) AccountDeleteId(ctx context.Context, userID string, recorded bool) error
@group accounts @summary Delete an account by user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) User ID for the account to be deleted. Must be valid UUID. @param recorded(type=bool, default=false) Whether to record this deletion in the database. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AccountExportId ¶
@group accounts @summary Export account information for a specified user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) User ID for the account to be exported. Must be valid UUID. @return export(string) Account information for the provided user ID, in JSON format. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AccountGetId ¶
func (n *RuntimeGoNakamaModule) AccountGetId(ctx context.Context, userID string) (*api.Account, error)
@group accounts @summary Fetch account information by user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) User ID to fetch information for. Must be valid UUID. @return account(*api.Account) All account information including wallet, device IDs and more. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AccountUpdateId ¶
func (n *RuntimeGoNakamaModule) AccountUpdateId(ctx context.Context, userID, username string, metadata map[string]interface{}, displayName, timezone, location, langTag, avatarUrl string) error
@group accounts @summary Update an account by user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) User ID for which the information is to be updated. Must be valid UUID. @param metadata(type=map[string]interface{}) The metadata to update for this account. @param username(type=string) Username to be set. Must be unique. Use "" if it is not being updated. @param displayName(type=string) Display name to be updated. Use "" if it is not being updated. @param timezone(type=string) Timezone to be updated. Use "" if it is not being updated. @param location(type=string) Location to be updated. Use "" if it is not being updated. @param language(type=string) Lang tag to be updated. Use "" if it is not being updated. @param avatarUrl(type=string) User's avatar URL. Use "" if it is not being updated. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AccountsGetId ¶
func (n *RuntimeGoNakamaModule) AccountsGetId(ctx context.Context, userIDs []string) ([]*api.Account, error)
@group accounts @summary Fetch information for multiple accounts by user IDs. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userIds(type=[]string) Array of user IDs to fetch information for. Must be valid UUID. @return account([]*api.Account) An array of accounts. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AuthenticateApple ¶
func (n *RuntimeGoNakamaModule) AuthenticateApple(ctx context.Context, token, username string, create bool) (string, string, bool, error)
@group authenticate @summary Authenticate user and create a session token using an Apple sign in token. @param ctx(type=context.Context) The context object represents information about the server and requester. @param token(type=string) Apple sign in token. @param username(type=string) The user's username. If left empty, one is generated. @param create(type=bool) Create user if one didn't exist previously. @return userID(string) The user ID of the authenticated user. @return username(string) The username of the authenticated user. @return create(bool) Value indicating if this account was just created or already existed. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AuthenticateCustom ¶
func (n *RuntimeGoNakamaModule) AuthenticateCustom(ctx context.Context, id, username string, create bool) (string, string, bool, error)
@group authenticate @summary Authenticate user and create a session token using a custom authentication managed by an external service or source not already supported by Nakama. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) Custom ID to use to authenticate the user. Must be between 6-128 characters. @param username(type=string, optional=true) The user's username. If left empty, one is generated. @param create(type=bool) Create user if one didn't exist previously. @return userID(string) The user ID of the authenticated user. @return username(string) The username of the authenticated user. @return create(bool) Value indicating if this account was just created or already existed. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AuthenticateDevice ¶
func (n *RuntimeGoNakamaModule) AuthenticateDevice(ctx context.Context, id, username string, create bool) (string, string, bool, error)
@group authenticate @summary Authenticate user and create a session token using a device identifier. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) Device ID to use to authenticate the user. Must be between 1-128 characters. @param username(type=string, optional=true) The user's username. If left empty, one is generated. @param create(type=bool, optional=true, default=true) Create user if one didn't exist previously. @return userID(string) The user ID of the authenticated user. @return username(string) The username of the authenticated user. @return create(bool) Value indicating if this account was just created or already existed. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AuthenticateEmail ¶
func (n *RuntimeGoNakamaModule) AuthenticateEmail(ctx context.Context, email, password, username string, create bool) (string, string, bool, error)
@group authenticate @summary Authenticate user and create a session token using an email address and password. @param ctx(type=context.Context) The context object represents information about the server and requester. @param email(type=string) Email address to use to authenticate the user. Must be between 10-255 characters. @param password(type=string) Password to set. Must be longer than 8 characters. @param username(type=string, optional=true) The user's username. If left empty, one is generated. @param create(type=bool, optional=true, default=true) Create user if one didn't exist previously. @return userID(string) The user ID of the authenticated user. @return username(string) The username of the authenticated user. @return create(bool) Value indicating if this account was just created or already existed. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AuthenticateFacebook ¶
func (n *RuntimeGoNakamaModule) AuthenticateFacebook(ctx context.Context, token string, importFriends bool, username string, create bool) (string, string, bool, error)
@group authenticate @summary Authenticate user and create a session token using a Facebook account token. @param ctx(type=context.Context) The context object represents information about the server and requester. @param token(type=string) Facebook OAuth or Limited Login (JWT) access token. @param import(type=bool) Whether to automatically import Facebook friends after authentication. @param username(type=string, optional=true) The user's username. If left empty, one is generated. @param create(type=bool) Create user if one didn't exist previously. @return userID(string) The user ID of the authenticated user. @return username(string) The username of the authenticated user. @return create(bool) Value indicating if this account was just created or already existed. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AuthenticateFacebookInstantGame ¶
func (n *RuntimeGoNakamaModule) AuthenticateFacebookInstantGame(ctx context.Context, signedPlayerInfo string, username string, create bool) (string, string, bool, error)
@group authenticate @summary Authenticate user and create a session token using a Facebook Instant Game. @param ctx(type=context.Context) The context object represents information about the server and requester. @param playerInfo(type=string) Facebook Player info. @param username(type=string, optional=true) The user's username. If left empty, one is generated. @param create(type=bool) Create user if one didn't exist previously. @return userID(string) The user ID of the authenticated user. @return username(string) The username of the authenticated user. @return create(bool) Value indicating if this account was just created or already existed. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AuthenticateGameCenter ¶
func (n *RuntimeGoNakamaModule) AuthenticateGameCenter(ctx context.Context, playerID, bundleID string, timestamp int64, salt, signature, publicKeyUrl, username string, create bool) (string, string, bool, error)
@group authenticate @summary Authenticate user and create a session token using Apple Game Center credentials. @param ctx(type=context.Context) The context object represents information about the server and requester. @param playerId(type=string) PlayerId provided by GameCenter. @param bundleId(type=string) BundleId of your app on iTunesConnect. @param timestamp(type=int64) Timestamp at which Game Center authenticated the client and issued a signature. @param salt(type=string) A random string returned by Game Center authentication on client. @param signature(type=string) A signature returned by Game Center authentication on client. @param publicKeyUrl(type=string) A URL to the public key returned by Game Center authentication on client. @param username(type=string, optional=true) The user's username. If left empty, one is generated. @param create(type=bool) Create user if one didn't exist previously. @return userID(string) The user ID of the authenticated user. @return username(string) The username of the authenticated user. @return create(bool) Value indicating if this account was just created or already existed. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AuthenticateGoogle ¶
func (n *RuntimeGoNakamaModule) AuthenticateGoogle(ctx context.Context, token, username string, create bool) (string, string, bool, error)
@group authenticate @summary Authenticate user and create a session token using a Google ID token. @param ctx(type=context.Context) The context object represents information about the server and requester. @param token(type=string) Google OAuth access token. @param username(type=string) The user's username. If left empty, one is generated. @param create(type=bool) Create user if one didn't exist previously. @return userID(string) The user ID of the authenticated user. @return username(string) The username of the authenticated user. @return create(bool) Value indicating if this account was just created or already existed. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AuthenticateSteam ¶
func (n *RuntimeGoNakamaModule) AuthenticateSteam(ctx context.Context, token, username string, create bool) (string, string, bool, error)
@group authenticate @summary Authenticate user and create a session token using a Steam account token. @param ctx(type=context.Context) The context object represents information about the server and requester. @param token(type=string) Steam token. @param username(type=string, optional=true) The user's username. If left empty, one is generated. @param create(type=bool, optional=true, default=true) Create user if one didn't exist previously. @return userID(string) The user ID of the authenticated user. @return username(string) The username of the authenticated user. @return create(bool) Value indicating if this account was just created or already existed. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) AuthenticateTokenGenerate ¶
func (n *RuntimeGoNakamaModule) AuthenticateTokenGenerate(userID, username string, exp int64, vars map[string]string) (string, int64, error)
@group authenticate @summary Generate a Nakama session token from a user ID. @param userId(type=string) User ID to use to generate the token. @param username(type=string, optional=true) The user's username. If left empty, one is generated. @param expiresAt(type=int64, optional=true) UTC time in seconds when the token must expire. Defaults to server configured expiry time. @param vars(type=map[string]string, optional=true) Extra information that will be bundled in the session token. @return token(string) The Nakama session token. @return validity(int64) The period for which the token remains valid. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) ChannelIdBuild ¶ added in v3.5.0
func (n *RuntimeGoNakamaModule) ChannelIdBuild(ctx context.Context, senderId, target string, chanType runtime.ChannelType) (string, error)
@group chat @summary Create a channel identifier to be used in other runtime calls. Does not create a channel. @param ctx(type=context.Context) The context object represents information about the server and requester. @param senderId(type=string) UserID of the message sender (when applicable). An empty string defaults to the system user. @param target(type=string) Can be the room name, group identifier, or another username. @param chanType(type=runtime.ChannelType) The type of channel, either Room (1), Direct (2), or Group (3). @return channelId(string) The generated ID representing a channel. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) ChannelMessageRemove ¶ added in v3.15.0
func (n *RuntimeGoNakamaModule) ChannelMessageRemove(ctx context.Context, channelId, messageId string, senderId, senderUsername string, persist bool) (*rtapi.ChannelMessageAck, error)
@group chat @summary Remove a message on a realtime chat channel. @param ctx(type=context.Context) The context object represents information about the server and requester. @param channelId(type=string) The ID of the channel to remove the message on. @param messageId(type=string) The ID of the message to remove. @param senderId(type=string, optional=true) The UUID for the sender of this message. If left empty, it will be assumed that it is a system message. @param senderUsername(type=string, optional=true) The username of the user who sent this message. If left empty, it will be assumed that it is a system message. @param persist(type=bool) Whether to record this in the channel history. @return channelMessageRemove(*rtapi.ChannelMessageAck) Message removed ack containing the following variables: 'channelId', 'contentStr', 'senderId', 'senderUsername', and 'persist'. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) ChannelMessageSend ¶ added in v3.5.0
func (n *RuntimeGoNakamaModule) ChannelMessageSend(ctx context.Context, channelId string, content map[string]interface{}, senderId, senderUsername string, persist bool) (*rtapi.ChannelMessageAck, error)
@group chat @summary Send a message on a realtime chat channel. @param ctx(type=context.Context) The context object represents information about the server and requester. @param channelId(type=string) The ID of the channel to send the message on. @param content(type=map[string]interface{}) Message content. @param senderId(type=string, optional=true) The UUID for the sender of this message. If left empty, it will be assumed that it is a system message. @param senderUsername(type=string, optional=true) The username of the user to send this message as. If left empty, it will be assumed that it is a system message. @param persist(type=bool) Whether to record this message in the channel history. @return channelMessageSend(*rtapi.ChannelMessageAck) Message sent ack containing the following variables: 'channelId', 'contentStr', 'senderId', 'senderUsername', and 'persist'. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) ChannelMessageUpdate ¶ added in v3.6.0
func (n *RuntimeGoNakamaModule) ChannelMessageUpdate(ctx context.Context, channelId, messageId string, content map[string]interface{}, senderId, senderUsername string, persist bool) (*rtapi.ChannelMessageAck, error)
@group chat @summary Update a message on a realtime chat channel. @param ctx(type=context.Context) The context object represents information about the server and requester. @param channelId(type=string) The ID of the channel to send the message on. @param messageId(type=string) The ID of the message to update. @param content(type=map[string]interface{}) Message content. @param senderId(type=string, optional=true) The UUID for the sender of this message. If left empty, it will be assumed that it is a system message. @param senderUsername(type=string, optional=true) The username of the user to send this message as. If left empty, it will be assumed that it is a system message. @param persist(type=bool) Whether to record this message in the channel history. @return channelMessageUpdate(*rtapi.ChannelMessageAck) Message updated ack containing the following variables: 'channelId', 'contentStr', 'senderId', 'senderUsername', and 'persist'. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) ChannelMessagesList ¶ added in v3.12.0
func (n *RuntimeGoNakamaModule) ChannelMessagesList(ctx context.Context, channelId string, limit int, forward bool, cursor string) ([]*api.ChannelMessage, string, string, error)
@group chat @summary List messages from a realtime chat channel. @param ctx(type=context.Context) The context object represents information about the server and requester. @param channelId(type=string) The ID of the channel to list messages from. @param limit(type=int) The number of messages to return per page. @param forward(type=bool) Whether to list messages from oldest to newest, or newest to oldest. @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @return channelMessageList([]*rtapi.ChannelMessage) Messages from the specified channel. @return nextCursor(string) Cursor for the next page of messages, if any. @return prevCursor(string) Cursor for the previous page of messages, if any. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) CronNext ¶ added in v3.21.0
func (n *RuntimeGoNakamaModule) CronNext(expression string, timestamp int64) (int64, error)
@group utils @summary Parses a CRON expression and a timestamp in UTC seconds, and returns the next matching timestamp in UTC seconds. @param expression(type=string) A valid CRON expression in standard format, for example "0 0 * * *" (meaning at midnight). @param timestamp(type=int64) A time value expressed as UTC seconds. @return nextTs(int64) The next UTC seconds timestamp (number) that matches the given CRON expression, and is immediately after the given timestamp. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) CronPrev ¶ added in v3.21.0
func (n *RuntimeGoNakamaModule) CronPrev(expression string, timestamp int64) (int64, error)
@group utils @summary Parses a CRON expression and a timestamp in UTC seconds, and returns the previous matching timestamp in UTC seconds. @param expression(type=string) A valid CRON expression in standard format, for example "0 0 * * *" (meaning at midnight). @param timestamp(type=int64) A time value expressed as UTC seconds. @return prevTs(int64) The previous UTC seconds timestamp (number) that matches the given CRON expression, and is immediately before the given timestamp. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) Event ¶
@group events @summary Generate an event. @param ctx(type=context.Context) The context object represents information about the server and requester. @param evt(type=*api.Event) The event to be generated. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) FriendsAdd ¶ added in v3.11.0
func (n *RuntimeGoNakamaModule) FriendsAdd(ctx context.Context, userID string, username string, ids []string, usernames []string) error
@group friends @summary Add friends to a user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The ID of the user to whom you want to add friends. @param username(type=string) The name of the user to whom you want to add friends. @param ids(type=[]string) The IDs of the users you want to add as friends. @param usernames(type=[]string) The usernames of the users you want to add as friends. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) FriendsBlock ¶ added in v3.12.0
func (n *RuntimeGoNakamaModule) FriendsBlock(ctx context.Context, userID string, username string, ids []string, usernames []string) error
@group friends @summary Block friends for a user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The ID of the user for whom you want to block friends. @param username(type=string) The name of the user for whom you want to block friends. @param ids(type=[]string) The IDs of the users you want to block as friends. @param usernames(type=[]string) The usernames of the users you want to block as friends. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) FriendsDelete ¶ added in v3.11.0
func (n *RuntimeGoNakamaModule) FriendsDelete(ctx context.Context, userID string, username string, ids []string, usernames []string) error
@group friends @summary Delete friends from a user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The ID of the user from whom you want to delete friends. @param username(type=string) The name of the user from whom you want to delete friends. @param ids(type=[]string) The IDs of the users you want to delete as friends. @param usernames(type=[]string) The usernames of the users you want to delete as friends. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) FriendsList ¶
func (n *RuntimeGoNakamaModule) FriendsList(ctx context.Context, userID string, limit int, state *int, cursor string) ([]*api.Friend, string, error)
@group friends @summary List all friends, invites, invited, and blocked which belong to a user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The ID of the user whose friends, invites, invited, and blocked you want to list. @param limit(type=int) The number of friends to retrieve in this page of results. No more than 100 limit allowed per result. @param state(type=int, optional=true) The state of the friendship with the user. If unspecified this returns friends in all states for the user. @param cursor(type=string) Pagination cursor from previous result. Set to "" to start fetching from the beginning. @return friends([]*api.Friend) The user information for users that are friends of the current user. @return cursor(string) An optional next page cursor that can be used to retrieve the next page of records (if any). Will be set to "" or nil when fetching last available page. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) FriendsOfFriendsList ¶ added in v3.22.0
func (n *RuntimeGoNakamaModule) FriendsOfFriendsList(ctx context.Context, userID string, limit int, cursor string) ([]*api.FriendsOfFriendsList_FriendOfFriend, string, error)
@group friends @summary List friends of friends. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The ID of the user whose friends of friends you want to list. @param limit(type=int) The number of friends of friends to retrieve in this page of results. No more than 100 limit allowed per result. @param cursor(type=string) Pagination cursor from previous result. Set to "" to start fetching from the beginning. @return friends([]*api.FriendsOfFriendsList_FriendOfFriend) The user information for users that are friends of friends the current user. @return cursor(string) An optional next page cursor that can be used to retrieve the next page of records (if any). Will be set to "" or nil when fetching last available page. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GetFleetManager ¶ added in v3.21.0
func (n *RuntimeGoNakamaModule) GetFleetManager() runtime.FleetManager
@group fleetmanager @symmary Get the Fleet Manager client. @return fleetManager(runtime.FleetManager) The Fleet Manager client.
func (*RuntimeGoNakamaModule) GetSatori ¶ added in v3.16.0
func (n *RuntimeGoNakamaModule) GetSatori() runtime.Satori
@group satori @summary Get the Satori client. @return satori(runtime.Satori) The Satori client.
func (*RuntimeGoNakamaModule) GroupCreate ¶
func (n *RuntimeGoNakamaModule) GroupCreate(ctx context.Context, userID, name, creatorID, langTag, description, avatarUrl string, open bool, metadata map[string]interface{}, maxCount int) (*api.Group, error)
@group groups @summary Setup a group with various configuration settings. The group will be created if they don't exist or fail if the group name is taken. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be associated as the group superadmin. @param name(type=string) Group name, must be unique. @param creatorId(type=string, optional=true) The user ID to be associated as creator. If not set or nil/null, system user will be set. @param langTag(type=string, optional=true, default="en") Group language. @param description(type=string, optional=true) Group description, can be left empty as nil/null. @param avatarUrl(type=string, optional=true) URL to the group avatar, can be left empty as nil/null. @param open(type=bool, optional=true, default=false) Whether the group is for anyone to join, or members will need to send invitations to join. @param metadata(type=map[string]interface{}, optional=true) Custom information to store for this group. Can be left empty as nil/null. @param maxCount(type=int, default=100) Maximum number of members to have in the group. @return createGroup(*api.Group) The groupId of the newly created group. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupDelete ¶
func (n *RuntimeGoNakamaModule) GroupDelete(ctx context.Context, id string) error
@group groups @summary Delete a group. @param ctx(type=context.Context) The context object represents information about the server and requester. @param groupId(type=string) The ID of the group to delete. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupUpdate ¶
func (n *RuntimeGoNakamaModule) GroupUpdate(ctx context.Context, id, userID, name, creatorID, langTag, description, avatarUrl string, open bool, metadata map[string]interface{}, maxCount int) error
@group groups @summary Update a group with various configuration settings. The group which is updated can change some or all of its fields. @param ctx(type=context.Context) The context object represents information about the server and requester. @param groupId(type=string) The ID of the group to update. @param userId(type=string) User ID calling the update operation for permission checking. Set as empty string to enact the changes as the system user. @param name(type=string) Group name, can be empty if not changed. @param creatorId(type=string) The user ID to be associated as creator. Can be empty if not changed. @param langTag(type=string) Group language. Empty if not updated. @param description(type=string) Group description, can be left empty if not updated. @param avatarUrl(type=string) URL to the group avatar, can be left empty if not updated. @param open(type=bool) Whether the group is for anyone to join or not. @param metadata(type=map[string]interface{}) Custom information to store for this group. Use nil if field is not being updated. @param maxCount(type=int) Maximum number of members to have in the group. Use 0, nil/null if field is not being updated. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupUserJoin ¶
func (n *RuntimeGoNakamaModule) GroupUserJoin(ctx context.Context, groupID, userID, username string) error
@group groups @summary Join a group for a particular user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param groupId(type=string) The ID of the group to join. @param userId(type=string) The user ID to add to this group. @param username(type=string) The username of the user to add to this group. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupUserLeave ¶
func (n *RuntimeGoNakamaModule) GroupUserLeave(ctx context.Context, groupID, userID, username string) error
@group groups @summary Leave a group for a particular user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param groupId(type=string) The ID of the group to leave. @param userId(type=string) The user ID to remove from this group. @param username(type=string) The username of the user to remove from this group. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupUsersAdd ¶
func (n *RuntimeGoNakamaModule) GroupUsersAdd(ctx context.Context, callerID, groupID string, userIDs []string) error
@group groups @summary Add users to a group. @param ctx(type=context.Context) The context object represents information about the server and requester. @param callerId(type=string, optional=true) User ID of the caller, will apply permissions checks of the user. If empty defaults to system user and permissions are bypassed. @param groupId(type=string) The ID of the group to add users to. @param userIds(type=[]string) Table array of user IDs to add to this group. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupUsersBan ¶ added in v3.11.0
func (n *RuntimeGoNakamaModule) GroupUsersBan(ctx context.Context, callerID, groupID string, userIDs []string) error
@group groups @summary Ban users from a group. @param ctx(type=context.Context) The context object represents information about the server and requester. @param callerId(type=string, optional=true) User ID of the caller, will apply permissions checks of the user. If empty defaults to system user and permissions are bypassed. @param groupId(type=string) The ID of the group to ban users from. @param userIds(type=[]string) Table array of user IDs to ban from this group. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupUsersDemote ¶
func (n *RuntimeGoNakamaModule) GroupUsersDemote(ctx context.Context, callerID, groupID string, userIDs []string) error
@group groups @summary Demote users in a group. @param ctx(type=context.Context) The context object represents information about the server and requester. @param callerId(type=string, optional=true) User ID of the caller, will apply permissions checks of the user. If empty defaults to system user and permissions are bypassed. @param groupId(type=string) The ID of the group whose members are being demoted. @param userIds(type=[]string) Table array of user IDs to demote. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupUsersKick ¶
func (n *RuntimeGoNakamaModule) GroupUsersKick(ctx context.Context, callerID, groupID string, userIDs []string) error
@group groups @summary Kick users from a group. @param ctx(type=context.Context) The context object represents information about the server and requester. @param callerId(type=string, optional=true) User ID of the caller, will apply permissions checks of the user. If empty defaults to system user and permissions are bypassed. @param groupId(type=string) The ID of the group to kick users from. @param userIds(type=[]string) Table array of user IDs to kick. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupUsersList ¶
func (n *RuntimeGoNakamaModule) GroupUsersList(ctx context.Context, id string, limit int, state *int, cursor string) ([]*api.GroupUserList_GroupUser, string, error)
@group groups @summary List all members, admins and superadmins which belong to a group. This also lists incoming join requests. @param ctx(type=context.Context) The context object represents information about the server and requester. @param groupId(type=string) The ID of the group to list members for. @param limit(type=int) Return only the required number of users denoted by this limit value. @param state(type=int) Return only the users matching this state value, '0' for superadmins for example. @param cursor(type=string) Pagination cursor from previous result. Don't set to start fetching from the beginning. @return groupUsers([]*api.GroupUserList_GroupUser) The user information for members, admins and superadmins for the group. Also users who sent a join request. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupUsersPromote ¶
func (n *RuntimeGoNakamaModule) GroupUsersPromote(ctx context.Context, callerID, groupID string, userIDs []string) error
@group groups @summary Promote users in a group. @param ctx(type=context.Context) The context object represents information about the server and requester. @param callerId(type=string, optional=true) User ID of the caller, will apply permissions checks of the user. If empty defaults to system user and permissions are bypassed. @param groupId(type=string) The ID of the group whose members are being promoted. @param userIds(type=[]string) Table array of user IDs to promote. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupsGetId ¶
func (n *RuntimeGoNakamaModule) GroupsGetId(ctx context.Context, groupIDs []string) ([]*api.Group, error)
@group groups @summary Fetch one or more groups by their ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param groupIds(type=[]string) An array of strings of the IDs for the groups to get. @return getGroups([]*api.Group) An array of groups with their fields. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupsGetRandom ¶ added in v3.14.0
func (n *RuntimeGoNakamaModule) GroupsGetRandom(ctx context.Context, count int) ([]*api.Group, error)
@group groups @summary Fetch one or more groups randomly. @param ctx(type=context.Context) The context object represents information about the server and requester. @param count(type=int) The number of groups to fetch. @return users([]*api.Group) A list of group record objects. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) GroupsList ¶ added in v3.4.0
func (n *RuntimeGoNakamaModule) GroupsList(ctx context.Context, name, langTag string, members *int, open *bool, limit int, cursor string) ([]*api.Group, string, error)
@group groups @summary Find groups based on the entered criteria. @param ctx(type=context.Context) The context object represents information about the server and requester. @param name(type=string, optional=true) Search for groups that contain this value in their name. Cannot be combined with any other filter. @param langTag(type=string, optional=true) Filter based upon the entered language tag. @param members(type=int, optional=true) Search by number of group members. @param open(type=bool, optional=true) Filter based on whether groups are Open or Closed. @param limit(type=int, optional=true) Return only the required number of groups denoted by this limit value. @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @return groups([]*api.Group) A list of groups. @return cursor(string) An optional next page cursor that can be used to retrieve the next page of records (if any). Will be set to "" or nil when fetching last available page. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LeaderboardCreate ¶
func (n *RuntimeGoNakamaModule) LeaderboardCreate(ctx context.Context, id string, authoritative bool, sortOrder, operator, resetSchedule string, metadata map[string]interface{}, enableRanks bool) error
@group leaderboards @summary Setup a new dynamic leaderboard with the specified ID and various configuration settings. The leaderboard will be created if it doesn't already exist, otherwise its configuration will not be updated. @param ctx(type=context.Context) The context object represents information about the server and requester. @param leaderboardID(type=string) The unique identifier for the new leaderboard. This is used by clients to submit scores. @param authoritative(type=bool, default=false) Mark the leaderboard as authoritative which ensures updates can only be made via the Go runtime. No client can submit a score directly. @param sortOrder(type=string, default="desc") The sort order for records in the leaderboard. Possible values are "asc" or "desc". @param operator(type=string, default="best") The operator that determines how scores behave when submitted. Possible values are "best", "set", or "incr". @param resetSchedule(type=string) The cron format used to define the reset schedule for the leaderboard. This controls when a leaderboard is reset and can be used to power daily/weekly/monthly leaderboards. @param metadata(type=map[string]interface{}) The metadata you want associated to the leaderboard. Some good examples are weather conditions for a racing game. @param enableRanks(type=bool) Whether to enable rank values for the leaderboard. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LeaderboardDelete ¶
func (n *RuntimeGoNakamaModule) LeaderboardDelete(ctx context.Context, id string) error
@group leaderboards @summary Delete a leaderboard and all scores that belong to it. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The unique identifier for the leaderboard to delete. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LeaderboardList ¶ added in v3.4.0
func (n *RuntimeGoNakamaModule) LeaderboardList(limit int, cursor string) (*api.LeaderboardList, error)
@group leaderboards @summary Find leaderboards which have been created on the server. Leaderboards can be filtered with categories. @param limit(type=int) Return only the required number of leaderboards denoted by this limit value. @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @return leaderboardList(*api.LeaderboardList) A list of leaderboard results and possibly a cursor. If cursor is empty/nil there are no further results. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LeaderboardRanksDisable ¶ added in v3.23.0
func (n *RuntimeGoNakamaModule) LeaderboardRanksDisable(ctx context.Context, id string) error
@group leaderboards @summary Disable a leaderboard rank cache freeing its allocated resources. If already disabled is a NOOP. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The leaderboard id. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LeaderboardRecordDelete ¶
func (n *RuntimeGoNakamaModule) LeaderboardRecordDelete(ctx context.Context, id, ownerID string) error
@group leaderboards @summary Remove an owner's record from a leaderboard, if one exists. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The unique identifier for the leaderboard to delete from. @param owner(type=string) The owner of the score to delete. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LeaderboardRecordWrite ¶
func (n *RuntimeGoNakamaModule) LeaderboardRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, metadata map[string]interface{}, overrideOperator *int) (*api.LeaderboardRecord, error)
@group leaderboards @summary Use the preconfigured operator for the given leaderboard to submit a score for a particular user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The unique identifier for the leaderboard to submit to. @param owner(type=string) The owner of this score submission. @param username(type=string) The owner username of this score submission, if it's a user. @param score(type=int64) The score to submit. @param subscore(type=int64, optional=true) A secondary subscore parameter for the submission. @param metadata(type=map[string]interface{}, optional=true) The metadata you want associated to this submission. Some good examples are weather conditions for a racing game. @param overrideOperator(type=*int) An override operator for the new record. The accepted values include: 0 (no override), 1 (best), 2 (set), 3 (incr), 4 (decr). Passing nil is the same as passing a pointer to 0 (no override), which uses the default leaderboard operator. @return record(*api.LeaderboardRecord) The newly created leaderboard record. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LeaderboardRecordsHaystack ¶ added in v3.11.0
func (n *RuntimeGoNakamaModule) LeaderboardRecordsHaystack(ctx context.Context, id, ownerID string, limit int, cursor string, expiry int64) (*api.LeaderboardRecordList, error)
@group leaderboards @summary Fetch the list of leaderboard records around the owner. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The ID of the leaderboard to list records for. @param ownerId(type=string) The owner ID around which to show records. @param limit(type=int) Return only the required number of leaderboard records denoted by this limit value. Between 1-100. @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @param expiry(type=int64) Time since epoch in seconds. Must be greater than 0. @return leaderboardRecordsHaystack(*api.LeaderboardRecordList) A list of leaderboard records and possibly a cursor. If cursor is empty/nil there are no further results. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LeaderboardRecordsList ¶
func (n *RuntimeGoNakamaModule) LeaderboardRecordsList(ctx context.Context, id string, ownerIDs []string, limit int, cursor string, expiry int64) ([]*api.LeaderboardRecord, []*api.LeaderboardRecord, string, string, error)
@group leaderboards @summary List records on the specified leaderboard, optionally filtering to only a subset of records by their owners. Records will be listed in the preconfigured leaderboard sort order. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The unique identifier for the leaderboard to list. @param owners(type=[]string) Array of owners to filter to. @param limit(type=int) The maximum number of records to return (Max 10,000). @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @param overrideExpiry(type=int) Records with expiry in the past are not returned unless within this defined limit. Must be equal or greater than 0. @return records([]*api.LeaderboardRecord) A page of leaderboard records. @return ownerRecords([]*api.LeaderboardRecord) A list of owner leaderboard records (empty if the owners input parameter is not set). @return nextCursor(string) An optional next page cursor that can be used to retrieve the next page of records (if any). @return prevCursor(string) An optional previous page cursor that can be used to retrieve the previous page of records (if any). @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LeaderboardRecordsListCursorFromRank ¶ added in v3.18.0
func (n *RuntimeGoNakamaModule) LeaderboardRecordsListCursorFromRank(id string, rank, expiry int64) (string, error)
@group leaderboards @summary Build a cursor to be used with leaderboardRecordsList to fetch records starting at a given rank. Only available if rank cache is not disabled for the leaderboard. @param leaderboardID(type=string) The unique identifier of the leaderboard. @param rank(type=int64) The rank to start listing leaderboard records from. @param overrideExpiry(type=int64) Records with expiry in the past are not returned unless within this defined limit. Must be equal or greater than 0. @return leaderboardListCursor(string) A string cursor to be used with leaderboardRecordsList. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LeaderboardsGetId ¶ added in v3.4.0
func (n *RuntimeGoNakamaModule) LeaderboardsGetId(ctx context.Context, IDs []string) ([]*api.Leaderboard, error)
@group leaderboards @summary Fetch one or more leaderboards by ID. @param ids(type=[]string) The table array of leaderboard ids. @return leaderboardsGet([]*api.Leaderboard) The leaderboard records according to ID. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LinkApple ¶
func (n *RuntimeGoNakamaModule) LinkApple(ctx context.Context, userID, token string) error
@group authenticate @summary Link Apple authentication to a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be linked. @param token(type=string) Apple sign in token. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LinkCustom ¶
func (n *RuntimeGoNakamaModule) LinkCustom(ctx context.Context, userID, customID string) error
@group authenticate @summary Link custom authentication to a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be linked. @param customId(type=string) Custom ID to be linked to the user. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LinkDevice ¶
func (n *RuntimeGoNakamaModule) LinkDevice(ctx context.Context, userID, deviceID string) error
@group authenticate @summary Link device authentication to a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be linked. @param deviceId(type=string) Device ID to be linked to the user. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LinkEmail ¶
func (n *RuntimeGoNakamaModule) LinkEmail(ctx context.Context, userID, email, password string) error
@group authenticate @summary Link email authentication to a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be linked. @param email(type=string) Authentication email to be linked to the user. @param password(type=string) Password to set. Must be longer than 8 characters. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LinkFacebook ¶
func (n *RuntimeGoNakamaModule) LinkFacebook(ctx context.Context, userID, username, token string, importFriends bool) error
@group authenticate @summary Link Facebook authentication to a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be linked. @param username(type=string, optional=true) If left empty, one is generated. @param token(type=string) Facebook OAuth or Limited Login (JWT) access token. @param importFriends(type=bool) Whether to automatically import Facebook friends after authentication. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LinkFacebookInstantGame ¶
func (n *RuntimeGoNakamaModule) LinkFacebookInstantGame(ctx context.Context, userID, signedPlayerInfo string) error
@group authenticate @summary Link Facebook Instant Game authentication to a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be linked. @param signedPlayerInfo(type=string) Facebook player info. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LinkGameCenter ¶
func (n *RuntimeGoNakamaModule) LinkGameCenter(ctx context.Context, userID, playerID, bundleID string, timestamp int64, salt, signature, publicKeyUrl string) error
@group authenticate @summary Link Apple Game Center authentication to a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be linked. @param playerId(type=string) Player ID provided by Game Center. @param bundleId(type=string) Bundle ID of your app on iTunesConnect. @param timestamp(type=int64) Timestamp at which Game Center authenticated the client and issued a signature. @param salt(type=string) A random string returned by Game Center authentication on client. @param signature(type=string) A signature returned by Game Center authentication on client. @param publicKeyUrl(type=string) A URL to the public key returned by Game Center authentication on client. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LinkGoogle ¶
func (n *RuntimeGoNakamaModule) LinkGoogle(ctx context.Context, userID, token string) error
@group authenticate @summary Link Google authentication to a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be linked. @param token(type=string) Google OAuth access token. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) LinkSteam ¶
func (n *RuntimeGoNakamaModule) LinkSteam(ctx context.Context, userID, username, token string, importFriends bool) error
@group authenticate @summary Link Steam authentication to a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be linked. @param username(type=string, optional=true) If left empty, one is generated. @param token(type=string) Steam access token. @param importFriends(type=bool) Whether to automatically import Steam friends after authentication. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) MatchCreate ¶
func (n *RuntimeGoNakamaModule) MatchCreate(ctx context.Context, module string, params map[string]interface{}) (string, error)
@group matches @summary Create a new authoritative realtime multiplayer match running on the given runtime module name. The given params are passed to the match's init hook. @param ctx(type=context.Context) The context object represents information about the server and requester. @param module(type=string) The name of an available runtime module that will be responsible for the match. This was registered in InitModule. @param params(type=map[string]interface{}) Any value to pass to the match init hook. @return matchId(string) The match ID of the newly created match. Clients can immediately use this ID to join the match. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) MatchGet ¶
@group matches @summary Get information on a running match. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The ID of the match to fetch. @return match(*api.Match) Information for the running match. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) MatchList ¶
func (n *RuntimeGoNakamaModule) MatchList(ctx context.Context, limit int, authoritative bool, label string, minSize, maxSize *int, query string) ([]*api.Match, error)
@group matches @summary List currently running realtime multiplayer matches and optionally filter them by authoritative mode, label, and current participant count. @param ctx(type=context.Context) The context object represents information about the server and requester. @param limit(type=int, optional=true, default=100) The maximum number of matches to list. @param authoritative(type=bool, optional=true, default=false) Set true to only return authoritative matches, false to only return relayed matches. @param label(type=string, default="") A label to filter authoritative matches by. Default "" means any label matches. @param minSize(type=int) Inclusive lower limit of current match participants. @param maxSize(type=int) Inclusive upper limit of current match participants. @param query(type=string) Additional query parameters to shortlist matches. @return match([]*api.Match) A list of matches matching the parameters criteria. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) MatchSignal ¶ added in v3.8.0
func (n *RuntimeGoNakamaModule) MatchSignal(ctx context.Context, id string, data string) (string, error)
@group matches @summary Allow the match handler to be sent a reservation signal to mark a user ID or session ID into the match state ahead of their join attempt and eventual join flow. Called when the match handler receives a runtime signal. @param ctx(type=context.Context) Context object represents information about the match and server for information purposes. @param id(type=string) The user ID or session ID to send a reservation signal for. @param data(type=string) An arbitrary input supplied by the runtime caller of the signal. @return state(interface{}) An (optionally) updated state. May be any non-nil value, or nil to end the match. @return data(string) Arbitrary data to return to the runtime caller of the signal. May be a string or nil. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) MetricsCounterAdd ¶ added in v3.4.0
func (n *RuntimeGoNakamaModule) MetricsCounterAdd(name string, tags map[string]string, delta int64)
@group metrics @summary Add a custom metrics counter. @param name(type=string) The name of the custom metrics counter. @param tags(type=map[string]string) The metrics tags associated with this counter. @param delta(type=int64) Value to update this metric with.
func (*RuntimeGoNakamaModule) MetricsGaugeSet ¶ added in v3.4.0
func (n *RuntimeGoNakamaModule) MetricsGaugeSet(name string, tags map[string]string, value float64)
@group metrics @summary Add a custom metrics gauge. @param name(type=string) The name of the custom metrics gauge. @param tags(type=map[string]string) The metrics tags associated with this gauge. @param value(type=float64) Value to update this metric with.
func (*RuntimeGoNakamaModule) MetricsTimerRecord ¶ added in v3.4.0
func (n *RuntimeGoNakamaModule) MetricsTimerRecord(name string, tags map[string]string, value time.Duration)
@group metrics @summary Add a custom metrics timer. @param name(type=string) The name of the custom metrics timer. @param tags(type=map[string]string) The metrics tags associated with this timer. @param value(type=time.Duration) Value to update this metric with.
func (*RuntimeGoNakamaModule) MultiUpdate ¶
func (n *RuntimeGoNakamaModule) MultiUpdate(ctx context.Context, accountUpdates []*runtime.AccountUpdate, storageWrites []*runtime.StorageWrite, storageDeletes []*runtime.StorageDelete, walletUpdates []*runtime.WalletUpdate, updateLedger bool) ([]*api.StorageObjectAck, []*runtime.WalletUpdateResult, error)
@group users @summary Update account, storage, and wallet information simultaneously. @param ctx(type=context.Context) The context object represents information about the server and requester. @param accountUpdates(type=[]*runtime.AccountUpdate) Array of account information to be updated. @param storageWrites(type=[]*runtime.StorageWrite) Array of storage objects to be updated. @param storageDeletes(type=[]*runtime.StorageDelete) Array of storage objects to be deleted. @param walletUpdates(type=[]*runtime.WalletUpdate) Array of wallet updates to be made. @param updateLedger(type=bool, optional=true, default=false) Whether to record this wallet update in the ledger. @return storageWriteOps([]*api.StorageObjectAck) A list of acks with the version of the written objects. @return walletUpdateOps([]*runtime.WalletUpdateResult) A list of wallet updates results. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) NotificationSend ¶
func (n *RuntimeGoNakamaModule) NotificationSend(ctx context.Context, userID, subject string, content map[string]interface{}, code int, sender string, persistent bool) error
@group notifications @summary Send one in-app notification to a user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID of the user to be sent the notification. @param subject(type=string) Notification subject. @param content(type=map[string]interface{}) Notification content. Must be set but can be an struct. @param code(type=int) Notification code to use. Must be equal or greater than 0. @param sender(type=string, optional=true) The sender of this notification. If left empty, it will be assumed that it is a system notification. @param persistent(type=bool, default=false) Whether to record this in the database for later listing. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) NotificationSendAll ¶ added in v3.11.0
func (n *RuntimeGoNakamaModule) NotificationSendAll(ctx context.Context, subject string, content map[string]interface{}, code int, persistent bool) error
@group notifications @summary Send an in-app notification to all users. @param ctx(type=context.Context) The context object represents information about the server and requester. @param subject(type=string) Notification subject. @param content(type=map[string]interface{}) Notification content. Must be set but can be any empty map. @param code(type=int) Notification code to use. Must be greater than or equal to 0. @param persistent(type=bool) Whether to record this in the database for later listing. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) NotificationsDelete ¶ added in v3.13.0
func (n *RuntimeGoNakamaModule) NotificationsDelete(ctx context.Context, notifications []*runtime.NotificationDelete) error
@group notifications @summary Delete one or more in-app notifications. @param ctx(type=context.Context) The context object represents information about the server and requester. @param notifications(type=[]*runtime.NotificationDelete) A list of notifications to be deleted. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) NotificationsDeleteId ¶ added in v3.23.0
func (n *RuntimeGoNakamaModule) NotificationsDeleteId(ctx context.Context, userID string, ids []string) error
@group notifications @summary Delete notifications by their id. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userID(type=string) Optional userID to scope deletions to that user only. Use empty string to ignore. @param ids(type=[]string) A list of notification ids. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) NotificationsGetId ¶ added in v3.23.0
func (n *RuntimeGoNakamaModule) NotificationsGetId(ctx context.Context, userID string, ids []string) ([]*runtime.Notification, error)
@group notifications @summary Get notifications by their id. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userID(type=string) Optional userID to scope results to that user only. @param ids(type=[]string) A list of notification ids. @return notifications([]*api.Notification) A list of notifications. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) NotificationsList ¶ added in v3.24.0
func (n *RuntimeGoNakamaModule) NotificationsList(ctx context.Context, userID string, limit int, cursor string) ([]*api.Notification, string, error)
@group notifications @summary List notifications by user id. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userID(type=string) Optional userID to scope results to that user only. @param limit(type=int) Limit number of results. Must be a value between 1 and 1000. @param cursor(type=string) Pagination cursor from previous result. Don't set to start fetching from the beginning. @return notifications(*api.NotificationList) A list of notifications. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) NotificationsSend ¶
func (n *RuntimeGoNakamaModule) NotificationsSend(ctx context.Context, notifications []*runtime.NotificationSend) error
@group notifications @summary Send one or more in-app notifications to a user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param notifications(type=[]*runtime.NotificationSend) A list of notifications to be sent together. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) NotificationsUpdate ¶ added in v3.25.0
func (n *RuntimeGoNakamaModule) NotificationsUpdate(ctx context.Context, updates ...runtime.NotificationUpdate) error
@group notifications @summary Update notifications by their id. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userID(type=[]runtime.NotificationUpdate) @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) PurchaseGetByTransactionId ¶ added in v3.2.0
func (n *RuntimeGoNakamaModule) PurchaseGetByTransactionId(ctx context.Context, transactionID string) (*api.ValidatedPurchase, error)
@group purchases @summary Look up a purchase receipt by transaction ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param transactionId(type=string) Transaction ID of the purchase to look up. @return purchase(*api.ValidatedPurchase) A validated purchase. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) PurchaseValidateApple ¶ added in v3.2.0
func (n *RuntimeGoNakamaModule) PurchaseValidateApple(ctx context.Context, userID, receipt string, persist bool, passwordOverride ...string) (*api.ValidatePurchaseResponse, error)
@group purchases @summary Validates and stores the purchases present in an Apple App Store Receipt. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID of the owner of the receipt. @param receipt(type=string) Base-64 encoded receipt data returned by the purchase operation itself. @param persist(type=bool) Persist the purchase so that seenBefore can be computed to protect against replay attacks. @param passwordOverride(type=string, optional=true) Override the iap.apple.shared_password provided in your configuration. @return validation(*api.ValidatePurchaseResponse) The resulting successfully validated purchases. Any previously validated purchases are returned with a seenBefore flag. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) PurchaseValidateFacebookInstant ¶ added in v3.19.0
func (n *RuntimeGoNakamaModule) PurchaseValidateFacebookInstant(ctx context.Context, userID, signedRequest string, persist bool) (*api.ValidatePurchaseResponse, error)
@group purchases @summary Validates and stores a purchase receipt from Facebook Instant Games. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID of the owner of the receipt. @param signedRequest(type=string) The Facebook Instant signedRequest receipt data. @param persist(type=bool) Persist the purchase so that seenBefore can be computed to protect against replay attacks. @return validation(*api.ValidatePurchaseResponse) The resulting successfully validated purchases. Any previously validated purchases are returned with a seenBefore flag. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) PurchaseValidateGoogle ¶ added in v3.2.0
func (n *RuntimeGoNakamaModule) PurchaseValidateGoogle(ctx context.Context, userID, receipt string, persist bool, overrides ...struct { ClientEmail string PrivateKey string }) (*api.ValidatePurchaseResponse, error)
@group purchases @summary Validates and stores a purchase receipt from the Google Play Store. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID of the owner of the receipt. @param receipt(type=string) JSON encoded Google receipt. @param persist(type=bool) Persist the purchase so that seenBefore can be computed to protect against replay attacks. @param overrides(type=string, optional=true) Override the iap.google.client_email and iap.google.private_key provided in your configuration. @return validation(*api.ValidatePurchaseResponse) The resulting successfully validated purchases. Any previously validated purchases are returned with a seenBefore flag. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) PurchaseValidateHuawei ¶ added in v3.2.0
func (n *RuntimeGoNakamaModule) PurchaseValidateHuawei(ctx context.Context, userID, signature, inAppPurchaseData string, persist bool) (*api.ValidatePurchaseResponse, error)
@group purchases @summary Validates and stores a purchase receipt from the Huawei App Gallery. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID of the owner of the receipt. @param receipt(type=string) The Huawei receipt data. @param signature(type=string) The receipt signature. @param persist(type=bool) Persist the purchase so that seenBefore can be computed to protect against replay attacks. @return validation(*api.ValidatePurchaseResponse) The resulting successfully validated purchases. Any previously validated purchases are returned with a seenBefore flag. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) PurchasesList ¶ added in v3.2.0
func (n *RuntimeGoNakamaModule) PurchasesList(ctx context.Context, userID string, limit int, cursor string) (*api.PurchaseList, error)
@group purchases @summary List stored validated purchase receipts. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) Filter by user ID. Can be an empty string to list purchases for all users. @param limit(type=int, optional=true, default=100) Limit number of records retrieved. @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @return listPurchases(*api.PurchaseList) A page of stored validated purchases and possibly a cursor. If cursor is empty/nil there are no further results. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) ReadFile ¶
func (n *RuntimeGoNakamaModule) ReadFile(relPath string) (*os.File, error)
@group utils @summary Read file from user device. @param relPath(type=string) Relative path to the file to be read. @return fileRead(*os.File) The read file. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) SessionDisconnect ¶
func (n *RuntimeGoNakamaModule) SessionDisconnect(ctx context.Context, sessionID string, reason ...runtime.PresenceReason) error
@group sessions @summary Disconnect a session. @param ctx(type=context.Context) The context object represents information about the server and requester. @param sessionId(type=string) The ID of the session to be disconnected. @param reason(type=runtime.PresenceReason, optional=true) The reason for the session disconnect. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) SessionLogout ¶ added in v3.2.0
func (n *RuntimeGoNakamaModule) SessionLogout(userID, token, refreshToken string) error
@group sessions @summary Log out a user from their current session. @param userId(type=string) The ID of the user to be logged out. @param token(type=string, optional=true) The current session authentication token. If the current auth and refresh tokens are not provided, all user sessions will be logged out. @param refreshToken(type=string, optional=true) The current session refresh token. If the current auth and refresh tokens are not provided, all user sessions will be logged out. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) SetEventFn ¶
func (n *RuntimeGoNakamaModule) SetEventFn(fn RuntimeEventCustomFunction)
func (*RuntimeGoNakamaModule) StatusFollow ¶ added in v3.25.0
func (n *RuntimeGoNakamaModule) StatusFollow(sessionID string, userIDs []string) error
@group status @summary Follow a player's status changes on a given session. @param sessionID(type=string) A valid session identifier. @param userIDs(type=[]string) A list of userIDs to follow. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StatusUnfollow ¶ added in v3.25.0
func (n *RuntimeGoNakamaModule) StatusUnfollow(sessionID string, userIDs []string) error
@group status @summary Unfollow a player's status changes on a given session. @param sessionID(type=string) A valid session identifier. @param userIDs(type=[]string) A list of userIDs to unfollow. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StorageDelete ¶
func (n *RuntimeGoNakamaModule) StorageDelete(ctx context.Context, deletes []*runtime.StorageDelete) error
@group storage @summary Remove one or more objects by their collection/keyname and optional user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param objectIds(type=[]*runtime.StorageDelete) An array of object identifiers to be deleted. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StorageIndexList ¶ added in v3.17.0
func (n *RuntimeGoNakamaModule) StorageIndexList(ctx context.Context, callerID, indexName, query string, limit int, order []string, cursor string) (*api.StorageObjects, string, error)
@group storage @summary List storage index entries @param indexName(type=string) Name of the index to list entries from. @param callerId(type=string, optional=true) User ID of the caller, will apply permissions checks of the user. If empty, defaults to system user and permissions are bypassed. @param queryString(type=string) Query to filter index entries. @param limit(type=int) Maximum number of results to be returned. @param order(type=[]string, optional=true) The storage object fields to sort the query results by. The prefix '-' before a field name indicates descending order. All specified fields must be indexed and sortable. @param cursor(type=string) A cursor to fetch the next page of results. @return objects(*api.StorageObjectList) A list of storage objects. @return cursor(type=string) An optional cursor that can be used to retrieve the next page of records (if any). @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StorageList ¶
func (n *RuntimeGoNakamaModule) StorageList(ctx context.Context, callerID, userID, collection string, limit int, cursor string) ([]*api.StorageObject, string, error)
@group storage @summary List records in a collection and page through results. The records returned can be filtered to those owned by the user or "" for public records. @param ctx(type=context.Context) The context object represents information about the server and requester. @param callerId(type=string, optional=true) User ID of the caller, will apply permissions checks of the user. If empty defaults to system user and permissions are bypassed. @param userId(type=string) User ID to list records for or "" (empty string) for public records. @param collection(type=string) Collection to list data from. @param limit(type=int, optional=true, default=100) Limit number of records retrieved. @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @return objects([]*api.StorageObject) A list of storage objects. @return cursor(string) Pagination cursor. Will be set to "" or nil when fetching last available page. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StorageRead ¶
func (n *RuntimeGoNakamaModule) StorageRead(ctx context.Context, reads []*runtime.StorageRead) ([]*api.StorageObject, error)
@group storage @summary Fetch one or more records by their bucket/collection/keyname and optional user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param objectIds(type=[]*runtime.StorageRead) An array of object identifiers to be fetched. @return objects([]*api.StorageObject) A list of storage objects matching the parameters criteria. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StorageWrite ¶
func (n *RuntimeGoNakamaModule) StorageWrite(ctx context.Context, writes []*runtime.StorageWrite) ([]*api.StorageObjectAck, error)
@group storage @summary Write one or more objects by their collection/keyname and optional user. @param ctx(type=context.Context) The context object represents information about the server and requester. @param objectIds(type=[]*runtime.StorageWrite) An array of object identifiers to be written. @return acks([]*api.StorageObjectAck) A list of acks with the version of the written objects. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StreamClose ¶
func (n *RuntimeGoNakamaModule) StreamClose(mode uint8, subject, subcontext, label string) error
@group streams @summary Close a stream and remove all presences on it. @param mode(type=uint8) The Type of stream, '2' for a chat channel for example. @param subject(type=string) The primary stream subject, typically a user ID. @param subcontext(type=string) A secondary subject, for example for direct chat between two users. @param label(type=string) Meta-information about the stream, for example a chat room name. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StreamCount ¶
func (n *RuntimeGoNakamaModule) StreamCount(mode uint8, subject, subcontext, label string) (int, error)
@group streams @summary Get a count of stream presences. @param mode(type=uint8) The Type of stream, '2' for a chat channel for example. @param subject(type=string) The primary stream subject, typically a user ID. @param subcontext(type=string) A secondary subject, for example for direct chat between two users. @param label(type=string) Meta-information about the stream, for example a chat room name. @return countByStream(int) Number of current stream presences. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StreamSend ¶
func (n *RuntimeGoNakamaModule) StreamSend(mode uint8, subject, subcontext, label, data string, presences []runtime.Presence, reliable bool) error
@group streams @summary Send data to presences on a stream. @param mode(type=uint8) The Type of stream, '2' for a chat channel for example. @param subject(type=string) The primary stream subject, typically a user ID. @param subcontext(type=string) A secondary subject, for example for direct chat between two users. @param label(type=string) Meta-information about the stream, for example a chat room name. @param data(type=string) The data to send. @param presences(type=[]runtime.Presence, optional=true, default=all) Array of presences to receive the sent data. @param reliable(type=bool) Whether the sender has been validated prior. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StreamSendRaw ¶
func (n *RuntimeGoNakamaModule) StreamSendRaw(mode uint8, subject, subcontext, label string, msg *rtapi.Envelope, presences []runtime.Presence, reliable bool) error
@group streams @summary Send a message to presences on a stream. @param mode(type=uint8) The Type of stream, '2' for a chat channel for example. @param subject(type=string) The primary stream subject, typically a user ID. @param subcontext(type=string) A secondary subject, for example for direct chat between two users. @param label(type=string) Meta-information about the stream, for example a chat room name. @param msg(type=*rtapi.Envelope) The message to send. @param presences(type=[]runtime.Presence, optional=true, default=all) Array of presences to receive the sent data. @param reliable(type=bool) Whether the sender has been validated prior. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StreamUserGet ¶
func (n *RuntimeGoNakamaModule) StreamUserGet(mode uint8, subject, subcontext, label, userID, sessionID string) (runtime.PresenceMeta, error)
@group streams @summary Retrieve a stream presence and metadata by user ID. @param mode(type=uint8) The type of stream, '2' for a chat channel for example. @param subject(type=string) The primary stream subject, typically a user ID. @param subcontext(type=string) A secondary subject, for example for direct chat between two users. @param label(type=string) Meta-information about the stream, for example a chat room name. @param userId(type=string) The user ID to fetch information for. @param sessionId(type=string) The current session ID for the user. @return meta(runtime.PresenceMeta) Presence and metadata for the user. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StreamUserJoin ¶
func (n *RuntimeGoNakamaModule) StreamUserJoin(mode uint8, subject, subcontext, label, userID, sessionID string, hidden, persistence bool, status string) (bool, error)
@group streams @summary Add a user to a stream. @param mode(type=uint8) The type of stream, '2' for a chat channel for example. @param subject(type=string) The primary stream subject, typically a user ID. @param subcontext(type=string) A secondary subject, for example for direct chat between two users. @param label(type=string) Meta-information about the stream, for example a chat room name. @param userId(type=string) The user ID to be added. @param sessionId(type=string) The current session ID for the user. @param hidden(type=bool) Whether the user will be marked as hidden. @param persistence(type=bool) Whether message data should be stored in the database. @param status(type=string) User status message. @return success(bool) Whether the user was successfully added. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StreamUserKick ¶
func (n *RuntimeGoNakamaModule) StreamUserKick(mode uint8, subject, subcontext, label string, presence runtime.Presence) error
@group streams @summary Kick a user from a stream. @param mode(type=uint8) The Type of stream, '2' for a chat channel for example. @param subject(type=string) The primary stream subject, typically a user ID. @param subcontext(type=string) A secondary subject, for example for direct chat between two users. @param label(type=string) Meta-information about the stream, for example a chat room name. @param presence(runtime.Presence) The presence to be kicked. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StreamUserLeave ¶
func (n *RuntimeGoNakamaModule) StreamUserLeave(mode uint8, subject, subcontext, label, userID, sessionID string) error
@group streams @summary Remove a user from a stream. @param mode(type=uint8) The Type of stream, '2' for a chat channel for example. @param subject(type=string) The primary stream subject, typically a user ID. @param subcontext(type=string) A secondary subject, for example for direct chat between two users. @param label(type=string) Meta-information about the stream, for example a chat room name. @param userId(type=string) The user ID to be removed. @param sessionId(type=string) The current session ID for the user. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StreamUserList ¶
func (n *RuntimeGoNakamaModule) StreamUserList(mode uint8, subject, subcontext, label string, includeHidden, includeNotHidden bool) ([]runtime.Presence, error)
@group streams @summary List all users currently online and connected to a stream. @param mode(type=uint8) The type of stream, '2' for a chat channel for example. @param subject(type=string) The primary stream subject, typically a user ID. @param subcontext(type=string) A secondary subject, for example for direct chat between two users. @param label(type=string) Meta-information about the stream, for example a chat room name. @param includeHidden(type=bool, optional=true) Include stream presences marked as hidden in the results. @param includeNotHidden(type=bool, optional=true) Include stream presences not marked as hidden in the results. @return presences([]runtime.Presence) Array of stream presences and their information. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) StreamUserUpdate ¶
func (n *RuntimeGoNakamaModule) StreamUserUpdate(mode uint8, subject, subcontext, label, userID, sessionID string, hidden, persistence bool, status string) error
@group streams @summary Update a stream user by ID. @param mode(type=uint8) The type of stream, '2' for a chat channel for example. @param subject(type=string) The primary stream subject, typically a user ID. @param subcontext(type=string) A secondary subject, for example for direct chat between two users. @param label(type=string) Meta-information about the stream, for example a chat room name. @param userId(type=string) The user ID to be updated. @param sessionId(type=string) The current session ID for the user. @param hidden(type=bool) Whether the user will be marked as hidden. @param persistence(type=bool) Whether message data should be stored in the database. @param status(type=string) User status message. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) SubscriptionGetByProductId ¶ added in v3.13.0
func (n *RuntimeGoNakamaModule) SubscriptionGetByProductId(ctx context.Context, userID, productID string) (*api.ValidatedSubscription, error)
@group subscriptions @summary Look up a subscription receipt by productID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) User ID of the subscription owner. @param productId(type=string) Product ID of the subscription to look up. @return subscription(*api.ValidatedSubscription) A validated subscription. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) SubscriptionValidateApple ¶ added in v3.13.0
func (n *RuntimeGoNakamaModule) SubscriptionValidateApple(ctx context.Context, userID, receipt string, persist bool, passwordOverride ...string) (*api.ValidateSubscriptionResponse, error)
@group subscriptions @summary Validates and stores the subscription present in an Apple App Store Receipt. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID of the owner of the receipt. @param receipt(type=string) Base-64 encoded receipt data returned by the purchase operation itself. @param persist(type=bool) Persist the subscription. @param passwordOverride(type=string, optional=true) Override the iap.apple.shared_password provided in your configuration. @return validation(*api.ValidateSubscriptionResponse) The resulting successfully validated subscription purchase. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) SubscriptionValidateGoogle ¶ added in v3.13.0
func (n *RuntimeGoNakamaModule) SubscriptionValidateGoogle(ctx context.Context, userID, receipt string, persist bool, overrides ...struct { ClientEmail string PrivateKey string }) (*api.ValidateSubscriptionResponse, error)
@group subscriptions @summary Validates and stores a subscription receipt from the Google Play Store. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID of the owner of the receipt. @param receipt(type=string) JSON encoded Google receipt. @param persist(type=bool) Persist the subscription. @param overrides(type=string, optional=true) Override the iap.google.client_email and iap.google.private_key provided in your configuration. @return validation(*api.ValidateSubscriptionResponse) The resulting successfully validated subscription. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) SubscriptionsList ¶ added in v3.13.0
func (n *RuntimeGoNakamaModule) SubscriptionsList(ctx context.Context, userID string, limit int, cursor string) (*api.SubscriptionList, error)
@group subscriptions @summary List stored validated subscriptions. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) Filter by user ID. Can be an empty string to list purchases for all users. @param limit(type=int, optional=true, default=100) Limit number of records retrieved. @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @return listSubscriptions(*api.SubscriptionList) A page of stored validated subscriptions and possibly a cursor. If cursor is empty/nil there are no further results. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentAddAttempt ¶
func (n *RuntimeGoNakamaModule) TournamentAddAttempt(ctx context.Context, id, ownerID string, count int) error
@group tournaments @summary Add additional score attempts to the owner's tournament record. This overrides the max number of score attempts allowed in the tournament for this specific owner. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The unique identifier for the tournament to update. @param owner(type=string) The owner of the records to increment the count for. @param count(type=int) The number of attempt counts to increment. Can be negative to decrease count. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentCreate ¶
func (n *RuntimeGoNakamaModule) TournamentCreate(ctx context.Context, id string, authoritative bool, sortOrder, operator, resetSchedule string, metadata map[string]interface{}, title, description string, category, startTime, endTime, duration, maxSize, maxNumScore int, joinRequired, enableRanks bool) error
@group tournaments @summary Setup a new dynamic tournament with the specified ID and various configuration settings. The underlying leaderboard will be created if it doesn't already exist, otherwise its configuration will not be updated. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The unique identifier for the new tournament. This is used by clients to submit scores. @param authoritative(type=bool) Whether the tournament created is server authoritative. @param sortOrder(type=string, default="desc") The sort order for records in the tournament. Possible values are "asc" or "desc". @param operator(type=string, default="best") The operator that determines how scores behave when submitted. The possible values are "best", "set", or "incr". @param resetSchedule(type=string) The cron format used to define the reset schedule for the tournament. This controls when the underlying leaderboard resets and the tournament is considered active again. @param metadata(type=map[string]interface{}) The metadata you want associated to the tournament. Some good examples are weather conditions for a racing game. @param title(type=string) The title of the tournament. @param description(type=string) The description of the tournament. @param category(type=int) A category associated with the tournament. This can be used to filter different types of tournaments. Between 0 and 127. @param startTime(type=int, optional=true) The start time of the tournament. Leave empty for immediately or a future time. @param endTime(type=int, optional=true, default=never) The end time of the tournament. When the end time is elapsed, the tournament will not reset and will cease to exist. Must be greater than startTime if set. @param duration(type=int) The active duration for a tournament. This is the duration when clients are able to submit new records. The duration starts from either the reset period or tournament start time, whichever is sooner. A game client can query the tournament for results between end of duration and next reset period. @param maxSize(type=int) Maximum size of participants in a tournament. @param maxNumScore(type=int, default=1000000) Maximum submission attempts for a tournament record. @param joinRequired(type=bool, default=false) Whether the tournament needs to be joined before a record write is allowed. @param enableRanks(type=bool) Whether to enable rank values for the tournament. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentDelete ¶
func (n *RuntimeGoNakamaModule) TournamentDelete(ctx context.Context, id string) error
@group tournaments @summary Delete a tournament and all records that belong to it. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The unique identifier for the tournament to delete. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentJoin ¶
func (n *RuntimeGoNakamaModule) TournamentJoin(ctx context.Context, id, ownerID, username string) error
@group tournaments @summary A tournament may need to be joined before the owner can submit scores. This operation is idempotent and will always succeed for the owner even if they have already joined the tournament. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The unique identifier for the tournament to join. @param ownerId(type=string) The owner of the record. @param username(type=string) The username of the record owner. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentList ¶
func (n *RuntimeGoNakamaModule) TournamentList(ctx context.Context, categoryStart, categoryEnd, startTime, endTime, limit int, cursor string) (*api.TournamentList, error)
@group tournaments @summary Find tournaments which have been created on the server. Tournaments can be filtered with categories and via start and end times. @param ctx(type=context.Context) The context object represents information about the server and requester. @param categoryStart(type=int) Filter tournaments with categories greater or equal than this value. @param categoryEnd(type=int) Filter tournaments with categories equal or less than this value. @param startTime(type=int) Filter tournaments that start after this time. @param endTime(type=int) Filter tournaments that end before this time. @param limit(type=int, default=10) Return only the required number of tournament denoted by this limit value. @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @return tournamentList([]*api.TournamentList) A list of tournament results and possibly a cursor. If cursor is empty/nil there are no further results. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentRanksDisable ¶ added in v3.23.0
func (n *RuntimeGoNakamaModule) TournamentRanksDisable(ctx context.Context, id string) error
@group tournaments @summary Disable a tournament rank cache freeing its allocated resources. If already disabled is a NOOP. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The tournament id. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentRecordDelete ¶ added in v3.16.0
func (n *RuntimeGoNakamaModule) TournamentRecordDelete(ctx context.Context, id, ownerID string) error
@group tournaments @summary Remove an owner's record from a tournament, if one exists. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The unique identifier for the tournament to delete from. @param owner(type=string) The owner of the score to delete. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentRecordWrite ¶
func (n *RuntimeGoNakamaModule) TournamentRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, metadata map[string]interface{}, overrideOperator *int) (*api.LeaderboardRecord, error)
@group tournaments @summary Submit a score and optional subscore to a tournament leaderboard. If the tournament has been configured with join required this will fail unless the owner has already joined the tournament. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The unique identifier for the tournament leaderboard to submit to. @param owner(type=string) The owner of this score submission. @param username(type=string) The owner username of this score submission, if it's a user. @param score(type=int64) The score to submit. @param subscore(type=int64, optional=true) A secondary subscore parameter for the submission. @param metadata(type=map[string]interface{}, optional=true) The metadata you want associated to this submission. Some good examples are weather conditions for a racing game. @param overrideOperator(type=*int) An override operator for the new record. The accepted values include: 0 (no override), 1 (best), 2 (set), 3 (incr), 4 (decr). Passing nil is the same as passing a pointer to 0 (no override), which uses the default leaderboard operator. @return result(*api.LeaderboardRecord) The newly created leaderboard record. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentRecordsHaystack ¶
func (n *RuntimeGoNakamaModule) TournamentRecordsHaystack(ctx context.Context, id, ownerID string, limit int, cursor string, expiry int64) (*api.TournamentRecordList, error)
@group tournaments @summary Fetch the list of tournament records around the owner. @param ctx(type=context.Context) The context object represents information about the server and requester. @param id(type=string) The ID of the tournament to list records for. @param ownerId(type=string) The owner ID around which to show records. @param limit(type=int) Return only the required number of tournament records denoted by this limit value. Between 1-100. @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @param expiry(type=int64) Time since epoch in seconds. Must be greater than 0. @return tournamentRecordsHaystack(*api.TournamentRecordList) A list of tournament records and possibly a cursor. If cursor is empty/nil there are no further results. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentRecordsList ¶
func (n *RuntimeGoNakamaModule) TournamentRecordsList(ctx context.Context, tournamentId string, ownerIDs []string, limit int, cursor string, overrideExpiry int64) ([]*api.LeaderboardRecord, []*api.LeaderboardRecord, string, string, error)
@group tournaments @summary List records on the specified tournament, optionally filtering to only a subset of records by their owners. Records will be listed in the preconfigured tournament sort order. @param ctx(type=context.Context) The context object represents information about the server and requester. @param tournamentId(type=string) The ID of the tournament to list records for. @param ownerIds(type=[]string) Array of owner IDs to filter results by. @param limit(type=int) Return only the required number of tournament records denoted by this limit value. Max is 10000. @param cursor(type=string, optional=true, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @param overrideExpiry(type=int64) Records with expiry in the past are not returned unless within this defined limit. Must be equal or greater than 0. @return records([]*api.LeaderboardRecord) A page of tournament records. @return ownerRecords([]*api.LeaderboardRecord) A list of owner tournament records (empty if the owners input parameter is not set). @return prevCursor(string) An optional previous page cursor that can be used to retrieve the previous page of records (if any). @return nextCursor(string) An optional next page cursor that can be used to retrieve the next page of records (if any). @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) TournamentsGetId ¶
func (n *RuntimeGoNakamaModule) TournamentsGetId(ctx context.Context, tournamentIDs []string) ([]*api.Tournament, error)
@group tournaments @summary Fetch one or more tournaments by ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param ids(type=[]string) The table array of tournament ids. @return result([]*api.Tournament) Array of tournament records. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UnlinkApple ¶
func (n *RuntimeGoNakamaModule) UnlinkApple(ctx context.Context, userID, token string) error
@group authenticate @summary Unlink Apple authentication from a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be unlinked. @param token(type=string) Apple sign in token. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UnlinkCustom ¶
func (n *RuntimeGoNakamaModule) UnlinkCustom(ctx context.Context, userID, customID string) error
@group authenticate @summary Unlink custom authentication from a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be unlinked. @param customId(type=string) Custom ID to be unlinked from the user. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UnlinkDevice ¶
func (n *RuntimeGoNakamaModule) UnlinkDevice(ctx context.Context, userID, deviceID string) error
@group authenticate @summary Unlink device authentication from a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be unlinked. @param deviceId(type=string) Device ID to be unlinked from the user. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UnlinkEmail ¶
func (n *RuntimeGoNakamaModule) UnlinkEmail(ctx context.Context, userID, email string) error
@group authenticate @summary Unlink email authentication from a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be unlinked. @param email(type=string) Email to be unlinked from the user. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UnlinkFacebook ¶
func (n *RuntimeGoNakamaModule) UnlinkFacebook(ctx context.Context, userID, token string) error
@group authenticate @summary Unlink Facebook authentication from a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be unlinked. @param token(type=string) Facebook OAuth or Limited Login (JWT) access token. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UnlinkFacebookInstantGame ¶
func (n *RuntimeGoNakamaModule) UnlinkFacebookInstantGame(ctx context.Context, userID, signedPlayerInfo string) error
@group authenticate @summary Unlink Facebook Instant Game authentication from a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be unlinked. @param playerInfo(type=string) Facebook player info. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UnlinkGameCenter ¶
func (n *RuntimeGoNakamaModule) UnlinkGameCenter(ctx context.Context, userID, playerID, bundleID string, timestamp int64, salt, signature, publicKeyUrl string) error
@group authenticate @summary Unlink Apple Game Center authentication from a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be unlinked. @param playerId(type=string) Player ID provided by Game Center. @param bundleId(type=string) Bundle ID of your app on iTunesConnect. @param timestamp(type=int64) Timestamp at which Game Center authenticated the client and issued a signature. @param salt(type=string) A random string returned by Game Center authentication on client. @param signature(type=string) A signature returned by Game Center authentication on client. @param publicKeyUrl(type=string) A URL to the public key returned by Game Center authentication on client. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UnlinkGoogle ¶
func (n *RuntimeGoNakamaModule) UnlinkGoogle(ctx context.Context, userID, token string) error
@group authenticate @summary Unlink Google authentication from a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be unlinked. @param token(type=string) Google OAuth access token. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UnlinkSteam ¶
func (n *RuntimeGoNakamaModule) UnlinkSteam(ctx context.Context, userID, token string) error
@group authenticate @summary Unlink Steam authentication from a user ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The user ID to be unlinked. @param token(type=string) Steam access token. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UserGroupsList ¶
func (n *RuntimeGoNakamaModule) UserGroupsList(ctx context.Context, userID string, limit int, state *int, cursor string) ([]*api.UserGroupList_UserGroup, string, error)
@group groups @summary List all groups which a user belongs to and whether they've been accepted or if it's an invite. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The ID of the user to list groups for. @param limit(type=int) The maximum number of entries in the listing. @param state(type=int, optional=true) The state of the user within the group. If unspecified this returns users in all states. @param cursor(type=string) Pagination cursor from previous result. Don't set to start fetching from the beginning. @return userGroups([]*api.UserGroupList_UserGroup) A table of groups with their fields. @return cursor(string) An optional next page cursor that can be used to retrieve the next page of records (if any). Will be set to "" or nil when fetching last available page. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UsersBanId ¶
func (n *RuntimeGoNakamaModule) UsersBanId(ctx context.Context, userIDs []string) error
@group users @summary Ban one or more users by ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userIds(type=[]string) An array of user IDs to ban. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UsersGetFriendStatus ¶ added in v3.25.0
func (n *RuntimeGoNakamaModule) UsersGetFriendStatus(ctx context.Context, userID string, userIDs []string) ([]*api.Friend, error)
@group users @summary Get user's friend status information for a list of target users. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userID (type=string) The current user ID. @param userIDs(type=[]string) An array of target user IDs. @return friends([]*api.Friend) A list of user friends objects. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UsersGetId ¶
func (n *RuntimeGoNakamaModule) UsersGetId(ctx context.Context, userIDs []string, facebookIDs []string) ([]*api.User, error)
@group users @summary Fetch one or more users by ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userIds(type=[]string) An array of user IDs to fetch. @return users([]*api.User) A list of user record objects. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UsersGetRandom ¶ added in v3.5.0
@group users @summary Fetch one or more users randomly. @param ctx(type=context.Context) The context object represents information about the server and requester. @param count(type=int) The number of users to fetch. @return users([]*api.User) A list of user record objects. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UsersGetUsername ¶
func (n *RuntimeGoNakamaModule) UsersGetUsername(ctx context.Context, usernames []string) ([]*api.User, error)
@group users @summary Fetch one or more users by username. @param ctx(type=context.Context) The context object represents information about the server and requester. @param usernames(type=[]string) An array of usernames to fetch. @return users([]*api.User) A list of user record objects. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) UsersUnbanId ¶
func (n *RuntimeGoNakamaModule) UsersUnbanId(ctx context.Context, userIDs []string) error
@group users @summary Unban one or more users by ID. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userIds(type=[]string) An array of user IDs to unban. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) WalletLedgerList ¶
func (n *RuntimeGoNakamaModule) WalletLedgerList(ctx context.Context, userID string, limit int, cursor string) ([]runtime.WalletLedgerItem, string, error)
@group wallets @summary List all wallet updates for a particular user from oldest to newest. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The ID of the user to list wallet updates for. @param limit(type=int, optional=true, default=100) Limit number of results. @param cursor(type=string, default="") Pagination cursor from previous result. Don't set to start fetching from the beginning. @return runtimeItems([]runtime.WalletLedgerItem) A Go slice containing wallet entries with Id, UserId, CreateTime, UpdateTime, Changeset, Metadata parameters. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) WalletLedgerUpdate ¶
func (n *RuntimeGoNakamaModule) WalletLedgerUpdate(ctx context.Context, itemID string, metadata map[string]interface{}) (runtime.WalletLedgerItem, error)
@group wallets @summary Update the metadata for a particular wallet update in a user's wallet ledger history. Useful when adding a note to a transaction for example. @param ctx(type=context.Context) The context object represents information about the server and requester. @param itemId(type=string) The ID of the wallet ledger item to update. @param metadata(type=map[string]interface{}) The new metadata to set on the wallet ledger item. @return updateWalletLedger(runtime.WalletLedgerItem) The updated wallet ledger item. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) WalletUpdate ¶
func (n *RuntimeGoNakamaModule) WalletUpdate(ctx context.Context, userID string, changeset map[string]int64, metadata map[string]interface{}, updateLedger bool) (map[string]int64, map[string]int64, error)
@group wallets @summary Update a user's wallet with the given changeset. @param ctx(type=context.Context) The context object represents information about the server and requester. @param userId(type=string) The ID of the user whose wallet to update. @param changeset(type=map[string]int64) The set of wallet operations to apply. @param metadata(type=map[string]interface{}) Additional metadata to tag the wallet update with. @param updateLedger(type=bool, default=false) Whether to record this update in the ledger. @return updatedValue(map) The updated wallet value. @return previousValue(map) The previous wallet value. @return error(error) An optional error value if an error occurred.
func (*RuntimeGoNakamaModule) WalletsUpdate ¶
func (n *RuntimeGoNakamaModule) WalletsUpdate(ctx context.Context, updates []*runtime.WalletUpdate, updateLedger bool) ([]*runtime.WalletUpdateResult, error)
@group wallets @summary Update one or more user wallets with individual changesets. This function will also insert a new wallet ledger item into each user's wallet history that tracks their update. @param ctx(type=context.Context) The context object represents information about the server and requester. @param updates(type=[]*runtime.WalletUpdate) The set of user wallet update operations to apply. @param updateLedger(type=bool, default=false) Whether to record this update in the ledger. @return updateWallets([]runtime.WalletUpdateResult) A list of wallet update results. @return error(error) An optional error value if an error occurred.
type RuntimeHttpHandler ¶ added in v3.24.0
type RuntimeInfo ¶
type RuntimeJS ¶
type RuntimeJS struct {
// contains filtered or unexported fields
}
func (*RuntimeJS) GetCallback ¶
func (r *RuntimeJS) GetCallback(e RuntimeExecutionMode, key string) string
func (*RuntimeJS) InvokeFunction ¶
func (r *RuntimeJS) InvokeFunction(execMode RuntimeExecutionMode, id string, fn goja.Callable, logger goja.Value, httpHeaders, queryParams map[string][]string, uid, username string, vars map[string]string, sessionExpiry int64, sid, clientIP, clientPort, lang string, payloads ...interface{}) (interface{}, error, codes.Code)
func (*RuntimeJS) SetContext ¶ added in v3.13.0
type RuntimeJSModule ¶
type RuntimeJSModuleCache ¶
type RuntimeJSModuleCache struct { Names []string Modules map[string]*RuntimeJSModule }
func (*RuntimeJSModuleCache) Add ¶
func (mc *RuntimeJSModuleCache) Add(m *RuntimeJSModule)
type RuntimeJavaScriptMatchCore ¶
type RuntimeJavaScriptMatchCore struct {
// contains filtered or unexported fields
}
func (*RuntimeJavaScriptMatchCore) Cancel ¶
func (rm *RuntimeJavaScriptMatchCore) Cancel()
func (*RuntimeJavaScriptMatchCore) Cleanup ¶ added in v3.10.0
func (rm *RuntimeJavaScriptMatchCore) Cleanup()
func (*RuntimeJavaScriptMatchCore) CreateTime ¶ added in v3.1.2
func (rm *RuntimeJavaScriptMatchCore) CreateTime() int64
func (*RuntimeJavaScriptMatchCore) GetState ¶
func (rm *RuntimeJavaScriptMatchCore) GetState(state interface{}) (string, error)
func (*RuntimeJavaScriptMatchCore) HandlerName ¶
func (rm *RuntimeJavaScriptMatchCore) HandlerName() string
func (*RuntimeJavaScriptMatchCore) Label ¶
func (rm *RuntimeJavaScriptMatchCore) Label() string
func (*RuntimeJavaScriptMatchCore) MatchInit ¶
func (rm *RuntimeJavaScriptMatchCore) MatchInit(presenceList *MatchPresenceList, deferMessageFn RuntimeMatchDeferMessageFunction, params map[string]interface{}) (interface{}, int, error)
func (*RuntimeJavaScriptMatchCore) MatchJoin ¶
func (rm *RuntimeJavaScriptMatchCore) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error)
func (*RuntimeJavaScriptMatchCore) MatchJoinAttempt ¶
func (*RuntimeJavaScriptMatchCore) MatchLeave ¶
func (rm *RuntimeJavaScriptMatchCore) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error)
func (*RuntimeJavaScriptMatchCore) MatchLoop ¶
func (rm *RuntimeJavaScriptMatchCore) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error)
func (*RuntimeJavaScriptMatchCore) MatchSignal ¶ added in v3.8.0
func (rm *RuntimeJavaScriptMatchCore) MatchSignal(tick int64, state interface{}, data string) (interface{}, string, error)
func (*RuntimeJavaScriptMatchCore) MatchTerminate ¶
func (rm *RuntimeJavaScriptMatchCore) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error)
func (*RuntimeJavaScriptMatchCore) TickRate ¶ added in v3.1.2
func (rm *RuntimeJavaScriptMatchCore) TickRate() int
type RuntimeJavascriptCallbacks ¶
type RuntimeJavascriptCallbacks struct { Rpc map[string]string Before map[string]string After map[string]string StorageIndexFilter map[string]string Matchmaker string TournamentEnd string TournamentReset string LeaderboardReset string Shutdown string PurchaseNotificationApple string SubscriptionNotificationApple string PurchaseNotificationGoogle string SubscriptionNotificationGoogle string }
type RuntimeJavascriptInitModule ¶
type RuntimeJavascriptInitModule struct { Logger *zap.Logger Callbacks *RuntimeJavascriptCallbacks MatchCallbacks *RuntimeJavascriptMatchHandlers // contains filtered or unexported fields }
func NewRuntimeJavascriptInitModule ¶
func NewRuntimeJavascriptInitModule(logger *zap.Logger, config Config, ast *ast.Program, storageIndex StorageIndex, callbacks *RuntimeJavascriptCallbacks, matchCallbacks *RuntimeJavascriptMatchHandlers, announceCallbackFn func(RuntimeExecutionMode, string)) *RuntimeJavascriptInitModule
func (*RuntimeJavascriptInitModule) Constructor ¶
type RuntimeJavascriptLocalCache ¶ added in v3.1.0
func NewRuntimeJavascriptLocalCache ¶ added in v3.1.0
func NewRuntimeJavascriptLocalCache(ctx context.Context) *RuntimeJavascriptLocalCache
func (*RuntimeJavascriptLocalCache) Clear ¶ added in v3.19.0
func (lc *RuntimeJavascriptLocalCache) Clear()
func (*RuntimeJavascriptLocalCache) Delete ¶ added in v3.1.0
func (lc *RuntimeJavascriptLocalCache) Delete(key string)
func (*RuntimeJavascriptLocalCache) Get ¶ added in v3.1.0
func (lc *RuntimeJavascriptLocalCache) Get(key string) (interface{}, bool)
func (*RuntimeJavascriptLocalCache) Put ¶ added in v3.1.0
func (lc *RuntimeJavascriptLocalCache) Put(key string, value interface{}, ttl int64)
type RuntimeJavascriptMatchHandlers ¶
type RuntimeJavascriptMatchHandlers struct { sync.RWMutex // contains filtered or unexported fields }
func (*RuntimeJavascriptMatchHandlers) Add ¶
func (rmh *RuntimeJavascriptMatchHandlers) Add(name string, handlers *jsMatchHandlers)
func (*RuntimeJavascriptMatchHandlers) Get ¶
func (rmh *RuntimeJavascriptMatchHandlers) Get(name string) *jsMatchHandlers
type RuntimeJavascriptNakamaModule ¶ added in v3.25.0
type RuntimeJavascriptNakamaModule struct {
// contains filtered or unexported fields
}
func NewRuntimeJavascriptNakamaModule ¶
func NewRuntimeJavascriptNakamaModule(logger *zap.Logger, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, config Config, socialClient *social.Client, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, storageIndex StorageIndex, localCache *RuntimeJavascriptLocalCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchRegistry MatchRegistry, tracker Tracker, metrics Metrics, streamManager StreamManager, router MessageRouter, eventFn RuntimeEventCustomFunction, matchCreateFn RuntimeMatchCreateFunction) *RuntimeJavascriptNakamaModule
func (*RuntimeJavascriptNakamaModule) Constructor ¶ added in v3.25.0
type RuntimeLua ¶
type RuntimeLua struct {
// contains filtered or unexported fields
}
func (*RuntimeLua) GetCallback ¶
func (r *RuntimeLua) GetCallback(e RuntimeExecutionMode, key string) *lua.LFunction
func (*RuntimeLua) InvokeFunction ¶
func (r *RuntimeLua) InvokeFunction(execMode RuntimeExecutionMode, fn *lua.LFunction, headers, queryParams map[string][]string, uid string, username string, vars map[string]string, sessionExpiry int64, sid string, clientIP, clientPort, lang string, payloads ...interface{}) (interface{}, error, codes.Code, bool)
func (*RuntimeLua) Stop ¶
func (r *RuntimeLua) Stop()
type RuntimeLuaCallbacks ¶
type RuntimeLuaCallbacks struct { RPC *MapOf[string, *lua.LFunction] Before *MapOf[string, *lua.LFunction] After *MapOf[string, *lua.LFunction] Matchmaker *lua.LFunction TournamentEnd *lua.LFunction TournamentReset *lua.LFunction LeaderboardReset *lua.LFunction Shutdown *lua.LFunction PurchaseNotificationApple *lua.LFunction SubscriptionNotificationApple *lua.LFunction PurchaseNotificationGoogle *lua.LFunction SubscriptionNotificationGoogle *lua.LFunction StorageIndexFilter *MapOf[string, *lua.LFunction] }
type RuntimeLuaLocalCache ¶
func NewRuntimeLuaLocalCache ¶
func NewRuntimeLuaLocalCache(ctx context.Context) *RuntimeLuaLocalCache
func (*RuntimeLuaLocalCache) Clear ¶ added in v3.19.0
func (lc *RuntimeLuaLocalCache) Clear()
func (*RuntimeLuaLocalCache) Delete ¶
func (lc *RuntimeLuaLocalCache) Delete(key string)
type RuntimeLuaMatchCore ¶
type RuntimeLuaMatchCore struct {
// contains filtered or unexported fields
}
func (*RuntimeLuaMatchCore) Cancel ¶
func (r *RuntimeLuaMatchCore) Cancel()
func (*RuntimeLuaMatchCore) Cleanup ¶ added in v3.10.0
func (r *RuntimeLuaMatchCore) Cleanup()
func (*RuntimeLuaMatchCore) CreateTime ¶ added in v3.1.2
func (r *RuntimeLuaMatchCore) CreateTime() int64
func (*RuntimeLuaMatchCore) GetState ¶
func (r *RuntimeLuaMatchCore) GetState(state interface{}) (string, error)
func (*RuntimeLuaMatchCore) HandlerName ¶
func (r *RuntimeLuaMatchCore) HandlerName() string
func (*RuntimeLuaMatchCore) Label ¶
func (r *RuntimeLuaMatchCore) Label() string
func (*RuntimeLuaMatchCore) MatchInit ¶
func (r *RuntimeLuaMatchCore) MatchInit(presenceList *MatchPresenceList, deferMessageFn RuntimeMatchDeferMessageFunction, params map[string]interface{}) (interface{}, int, error)
func (*RuntimeLuaMatchCore) MatchJoin ¶
func (r *RuntimeLuaMatchCore) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error)
func (*RuntimeLuaMatchCore) MatchJoinAttempt ¶
func (*RuntimeLuaMatchCore) MatchLeave ¶
func (r *RuntimeLuaMatchCore) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error)
func (*RuntimeLuaMatchCore) MatchLoop ¶
func (r *RuntimeLuaMatchCore) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error)
func (*RuntimeLuaMatchCore) MatchSignal ¶ added in v3.8.0
func (r *RuntimeLuaMatchCore) MatchSignal(tick int64, state interface{}, data string) (interface{}, string, error)
func (*RuntimeLuaMatchCore) MatchTerminate ¶
func (r *RuntimeLuaMatchCore) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error)
func (*RuntimeLuaMatchCore) TickRate ¶ added in v3.1.2
func (r *RuntimeLuaMatchCore) TickRate() int
type RuntimeLuaModule ¶
type RuntimeLuaModuleCache ¶
type RuntimeLuaModuleCache struct { Names []string Modules map[string]*RuntimeLuaModule }
func (*RuntimeLuaModuleCache) Add ¶
func (mc *RuntimeLuaModuleCache) Add(m *RuntimeLuaModule)
type RuntimeLuaNakamaModule ¶
type RuntimeLuaNakamaModule struct {
// contains filtered or unexported fields
}
func NewRuntimeLuaNakamaModule ¶
func NewRuntimeLuaNakamaModule(logger *zap.Logger, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, config Config, version string, socialClient *social.Client, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchRegistry MatchRegistry, tracker Tracker, metrics Metrics, streamManager StreamManager, router MessageRouter, once *sync.Once, localCache *RuntimeLuaLocalCache, storageIndex StorageIndex, matchCreateFn RuntimeMatchCreateFunction, eventFn RuntimeEventCustomFunction, registerCallbackFn func(RuntimeExecutionMode, string, *lua.LFunction), announceCallbackFn func(RuntimeExecutionMode, string)) *RuntimeLuaNakamaModule
type RuntimeMatchCore ¶
type RuntimeMatchCore interface { MatchInit(presenceList *MatchPresenceList, deferMessageFn RuntimeMatchDeferMessageFunction, params map[string]interface{}) (interface{}, int, error) MatchJoinAttempt(tick int64, state interface{}, userID, sessionID uuid.UUID, username string, sessionExpiry int64, vars map[string]string, clientIP, clientPort, node string, metadata map[string]string) (interface{}, bool, string, error) MatchJoin(tick int64, state interface{}, joins []*MatchPresence) (interface{}, error) MatchLeave(tick int64, state interface{}, leaves []*MatchPresence) (interface{}, error) MatchLoop(tick int64, state interface{}, inputCh <-chan *MatchDataMessage) (interface{}, error) MatchTerminate(tick int64, state interface{}, graceSeconds int) (interface{}, error) MatchSignal(tick int64, state interface{}, data string) (interface{}, string, error) GetState(state interface{}) (string, error) Label() string TickRate() int HandlerName() string CreateTime() int64 Cancel() Cleanup() }
func NewRuntimeGoMatchCore ¶
func NewRuntimeGoMatchCore(logger *zap.Logger, module string, matchRegistry MatchRegistry, router MessageRouter, id uuid.UUID, node, version string, stopped *atomic.Bool, db *sql.DB, env map[string]string, nk runtime.NakamaModule, match runtime.Match) (RuntimeMatchCore, error)
func NewRuntimeJavascriptMatchCore ¶
func NewRuntimeJavascriptMatchCore(logger *zap.Logger, module string, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, config Config, socialClient *social.Client, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, localCache *RuntimeJavascriptLocalCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchRegistry MatchRegistry, tracker Tracker, metrics Metrics, streamManager StreamManager, router MessageRouter, matchCreateFn RuntimeMatchCreateFunction, eventFn RuntimeEventCustomFunction, id uuid.UUID, node, version string, stopped *atomic.Bool, matchHandlers *jsMatchHandlers, modCache *RuntimeJSModuleCache, storageIndex StorageIndex) (RuntimeMatchCore, error)
func NewRuntimeLuaMatchCore ¶
func NewRuntimeLuaMatchCore(logger *zap.Logger, module string, db *sql.DB, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, config Config, version string, socialClient *social.Client, leaderboardCache LeaderboardCache, rankCache LeaderboardRankCache, leaderboardScheduler LeaderboardScheduler, sessionRegistry SessionRegistry, sessionCache SessionCache, statusRegistry StatusRegistry, matchRegistry MatchRegistry, tracker Tracker, metrics Metrics, streamManager StreamManager, router MessageRouter, stdLibs map[string]lua.LGFunction, once *sync.Once, localCache *RuntimeLuaLocalCache, eventFn RuntimeEventCustomFunction, sharedReg, sharedGlobals *lua.LTable, id uuid.UUID, node string, stopped *atomic.Bool, name string, matchProvider *MatchProvider, storageIndex StorageIndex) (RuntimeMatchCore, error)
type RuntimeMatchDeferMessageFunction ¶
type RuntimeMatchDeferMessageFunction func(msg *DeferredMessage) error
type RuntimeMatchmakerOverrideFunction ¶ added in v3.16.0
type RuntimeMatchmakerOverrideFunction func(ctx context.Context, candidateMatches [][]*MatchmakerEntry) (matches [][]*MatchmakerEntry)
type RuntimeProviderJS ¶
type RuntimeProviderJS struct {
// contains filtered or unexported fields
}
func (*RuntimeProviderJS) Get ¶
func (rp *RuntimeProviderJS) Get(ctx context.Context) (*RuntimeJS, error)
func (*RuntimeProviderJS) LeaderboardReset ¶
func (rp *RuntimeProviderJS) LeaderboardReset(ctx context.Context, leaderboard *api.Leaderboard, reset int64) error
func (*RuntimeProviderJS) MatchmakerMatched ¶
func (rp *RuntimeProviderJS) MatchmakerMatched(ctx context.Context, entries []*MatchmakerEntry) (string, bool, error)
func (*RuntimeProviderJS) PurchaseNotificationApple ¶ added in v3.15.0
func (rp *RuntimeProviderJS) PurchaseNotificationApple(ctx context.Context, purchase *api.ValidatedPurchase, providerPayload string) error
func (*RuntimeProviderJS) PurchaseNotificationGoogle ¶ added in v3.15.0
func (rp *RuntimeProviderJS) PurchaseNotificationGoogle(ctx context.Context, purchase *api.ValidatedPurchase, providerPayload string) error
func (*RuntimeProviderJS) Put ¶
func (rp *RuntimeProviderJS) Put(r *RuntimeJS)
func (*RuntimeProviderJS) Shutdown ¶ added in v3.22.0
func (rp *RuntimeProviderJS) Shutdown(ctx context.Context)
func (*RuntimeProviderJS) StorageIndexFilter ¶ added in v3.17.0
func (rp *RuntimeProviderJS) StorageIndexFilter(ctx context.Context, indexName string, storageWrite *StorageOpWrite) (bool, error)
func (*RuntimeProviderJS) SubscriptionNotificationApple ¶ added in v3.15.0
func (rp *RuntimeProviderJS) SubscriptionNotificationApple(ctx context.Context, subscription *api.ValidatedSubscription, providerPayload string) error
func (*RuntimeProviderJS) SubscriptionNotificationGoogle ¶ added in v3.15.0
func (rp *RuntimeProviderJS) SubscriptionNotificationGoogle(ctx context.Context, subscription *api.ValidatedSubscription, providerPayload string) error
func (*RuntimeProviderJS) TournamentEnd ¶
func (rp *RuntimeProviderJS) TournamentEnd(ctx context.Context, tournament *api.Tournament, end, reset int64) error
func (*RuntimeProviderJS) TournamentReset ¶
func (rp *RuntimeProviderJS) TournamentReset(ctx context.Context, tournament *api.Tournament, end, reset int64) error
type RuntimeProviderLua ¶
type RuntimeProviderLua struct {
// contains filtered or unexported fields
}
func (*RuntimeProviderLua) Get ¶
func (rp *RuntimeProviderLua) Get(ctx context.Context) (*RuntimeLua, error)
func (*RuntimeProviderLua) LeaderboardReset ¶
func (rp *RuntimeProviderLua) LeaderboardReset(ctx context.Context, leaderboard *api.Leaderboard, reset int64) error
func (*RuntimeProviderLua) MatchmakerMatched ¶
func (rp *RuntimeProviderLua) MatchmakerMatched(ctx context.Context, entries []*MatchmakerEntry) (string, bool, error)
func (*RuntimeProviderLua) PurchaseNotificationApple ¶ added in v3.15.0
func (rp *RuntimeProviderLua) PurchaseNotificationApple(ctx context.Context, purchase *api.ValidatedPurchase, providerPayload string) error
func (*RuntimeProviderLua) PurchaseNotificationGoogle ¶ added in v3.15.0
func (rp *RuntimeProviderLua) PurchaseNotificationGoogle(ctx context.Context, purchase *api.ValidatedPurchase, providerPayload string) error
func (*RuntimeProviderLua) Put ¶
func (rp *RuntimeProviderLua) Put(r *RuntimeLua)
func (*RuntimeProviderLua) Shutdown ¶ added in v3.22.0
func (rp *RuntimeProviderLua) Shutdown(ctx context.Context)
func (*RuntimeProviderLua) StorageIndexFilter ¶ added in v3.17.0
func (rp *RuntimeProviderLua) StorageIndexFilter(ctx context.Context, indexName string, write *StorageOpWrite) (bool, error)
func (*RuntimeProviderLua) SubscriptionNotificationApple ¶ added in v3.15.0
func (rp *RuntimeProviderLua) SubscriptionNotificationApple(ctx context.Context, subscription *api.ValidatedSubscription, providerPayload string) error
func (*RuntimeProviderLua) SubscriptionNotificationGoogle ¶ added in v3.15.0
func (rp *RuntimeProviderLua) SubscriptionNotificationGoogle(ctx context.Context, subscription *api.ValidatedSubscription, providerPayload string) error
func (*RuntimeProviderLua) TournamentEnd ¶
func (rp *RuntimeProviderLua) TournamentEnd(ctx context.Context, tournament *api.Tournament, end, reset int64) error
func (*RuntimeProviderLua) TournamentReset ¶
func (rp *RuntimeProviderLua) TournamentReset(ctx context.Context, tournament *api.Tournament, end, reset int64) error
type RuntimePurchaseNotificationAppleFunction ¶ added in v3.15.0
type RuntimePurchaseNotificationGoogleFunction ¶ added in v3.15.0
type RuntimeRpcFunction ¶
type RuntimeShutdownFunction ¶ added in v3.22.0
type RuntimeStorageIndexFilterFunction ¶ added in v3.17.0
type RuntimeStorageIndexFilterFunction func(ctx context.Context, write *StorageOpWrite) (bool, error)
type RuntimeSubscriptionNotificationAppleFunction ¶ added in v3.15.0
type RuntimeSubscriptionNotificationGoogleFunction ¶ added in v3.15.0
type SatoriConfig ¶ added in v3.16.0
type SatoriConfig struct { Url string `yaml:"url" json:"url" usage:"Satori URL."` ApiKeyName string `yaml:"api_key_name" json:"api_key_name" usage:"Satori Api key name."` ApiKey string `yaml:"api_key" json:"api_key" usage:"Satori Api key."` SigningKey string `yaml:"signing_key" json:"signing_key" usage:"Key used to sign Satori session tokens."` }
func NewSatoriConfig ¶ added in v3.16.0
func NewSatoriConfig() *SatoriConfig
func (*SatoriConfig) Clone ¶ added in v3.25.0
func (sc *SatoriConfig) Clone() *SatoriConfig
func (*SatoriConfig) GetApiKey ¶ added in v3.25.0
func (sc *SatoriConfig) GetApiKey() string
func (*SatoriConfig) GetApiKeyName ¶ added in v3.25.0
func (sc *SatoriConfig) GetApiKeyName() string
func (*SatoriConfig) GetSigningKey ¶ added in v3.25.0
func (sc *SatoriConfig) GetSigningKey() string
func (*SatoriConfig) GetUrl ¶ added in v3.25.0
func (sc *SatoriConfig) GetUrl() string
func (*SatoriConfig) Validate ¶ added in v3.16.0
func (sc *SatoriConfig) Validate(logger *zap.Logger)
type Scannable ¶
type Scannable interface {
Scan(dest ...interface{}) error
}
Scannable Interface to help utility functions accept either *sql.Row or *sql.Rows for scanning one row at a time.
type Session ¶
type Session interface { Logger() *zap.Logger ID() uuid.UUID UserID() uuid.UUID Vars() map[string]string ClientIP() string ClientPort() string Lang() string Context() context.Context Username() string SetUsername(string) Expiry() int64 Consume() Format() SessionFormat Send(envelope *rtapi.Envelope, reliable bool) error SendBytes(payload []byte, reliable bool) error Close(msg string, reason runtime.PresenceReason, envelopes ...*rtapi.Envelope) CloseLock() CloseUnlock() }
func NewSessionWS ¶
func NewSessionWS(logger *zap.Logger, config Config, format SessionFormat, sessionID, userID uuid.UUID, username string, vars map[string]string, expiry int64, clientIP, clientPort, lang string, protojsonMarshaler *protojson.MarshalOptions, protojsonUnmarshaler *protojson.UnmarshalOptions, conn *websocket.Conn, sessionRegistry SessionRegistry, statusRegistry StatusRegistry, matchmaker Matchmaker, tracker Tracker, metrics Metrics, pipeline *Pipeline, runtime *Runtime) Session
type SessionCache ¶ added in v3.2.0
type SessionCache interface { Stop() // Check if a given user, expiry, and session token combination is valid. IsValidSession(userID uuid.UUID, exp int64, tokenId string) bool // Check if a given user, expiry, and refresh token combination is valid. IsValidRefresh(userID uuid.UUID, exp int64, tokenId string) bool // Add a valid session and/or refresh token for a given user. Add(userID uuid.UUID, sessionExp int64, sessionTokenId string, refreshExp int64, refreshTokenId string) // Remove a session and/or refresh token for a given user. Remove(userID uuid.UUID, sessionExp int64, sessionTokenId string, refreshExp int64, refreshTokenId string) // Remove all of a user's session and refresh tokens. RemoveAll(userID uuid.UUID) // Mark a set of users as banned. Ban(userIDs []uuid.UUID) // Unban a set of users. Unban(userIDs []uuid.UUID) }
func NewLocalSessionCache ¶ added in v3.2.0
func NewLocalSessionCache(tokenExpirySec, refreshTokenExpirySec int64) SessionCache
type SessionConfig ¶
type SessionConfig struct { EncryptionKey string `yaml:"encryption_key" json:"encryption_key" usage:"The encryption key used to produce the client token."` TokenExpirySec int64 `yaml:"token_expiry_sec" json:"token_expiry_sec" usage:"Token expiry in seconds."` RefreshEncryptionKey string `` /* 128-byte string literal not displayed */ RefreshTokenExpirySec int64 `yaml:"refresh_token_expiry_sec" json:"refresh_token_expiry_sec" usage:"Refresh token expiry in seconds."` SingleSocket bool `` /* 129-byte string literal not displayed */ SingleMatch bool `` /* 158-byte string literal not displayed */ SingleParty bool `` /* 158-byte string literal not displayed */ SingleSession bool `` /* 164-byte string literal not displayed */ }
SessionConfig is configuration relevant to the session.
func NewSessionConfig ¶
func NewSessionConfig() *SessionConfig
func (*SessionConfig) Clone ¶ added in v3.25.0
func (cfg *SessionConfig) Clone() *SessionConfig
func (*SessionConfig) GetEncryptionKey ¶ added in v3.25.0
func (cfg *SessionConfig) GetEncryptionKey() string
func (*SessionConfig) GetRefreshEncryptionKey ¶ added in v3.25.0
func (cfg *SessionConfig) GetRefreshEncryptionKey() string
func (*SessionConfig) GetRefreshTokenExpirySec ¶ added in v3.25.0
func (cfg *SessionConfig) GetRefreshTokenExpirySec() int64
func (*SessionConfig) GetSingleMatch ¶ added in v3.25.0
func (cfg *SessionConfig) GetSingleMatch() bool
func (*SessionConfig) GetSingleParty ¶ added in v3.25.0
func (cfg *SessionConfig) GetSingleParty() bool
func (*SessionConfig) GetSingleSession ¶ added in v3.25.0
func (cfg *SessionConfig) GetSingleSession() bool
func (*SessionConfig) GetSingleSocket ¶ added in v3.25.0
func (cfg *SessionConfig) GetSingleSocket() bool
func (*SessionConfig) GetTokenExpirySec ¶ added in v3.25.0
func (cfg *SessionConfig) GetTokenExpirySec() int64
type SessionFormat ¶
type SessionFormat uint8
const ( SessionFormatJson SessionFormat = iota SessionFormatProtobuf )
type SessionRegistry ¶
type SessionRegistry interface { Stop() Count() int Get(sessionID uuid.UUID) Session Add(session Session) Remove(sessionID uuid.UUID) Disconnect(ctx context.Context, sessionID uuid.UUID, ban bool, reason ...runtime.PresenceReason) error SingleSession(ctx context.Context, tracker Tracker, userID, sessionID uuid.UUID) Range(fn func(session Session) bool) }
func NewLocalSessionRegistry ¶
func NewLocalSessionRegistry(metrics Metrics) SessionRegistry
type SessionTokenClaims ¶
type SessionTokenClaims struct { TokenId string `json:"tid,omitempty"` UserId string `json:"uid,omitempty"` Username string `json:"usn,omitempty"` Vars map[string]string `json:"vrs,omitempty"` ExpiresAt int64 `json:"exp,omitempty"` IssuedAt int64 `json:"iat,omitempty"` }
func (*SessionTokenClaims) Valid ¶
func (stc *SessionTokenClaims) Valid() error
type SocialConfig ¶
type SocialConfig struct { Steam *SocialConfigSteam `yaml:"steam" json:"steam" usage:"Steam configuration."` FacebookInstantGame *SocialConfigFacebookInstantGame `yaml:"facebook_instant_game" json:"facebook_instant_game" usage:"Facebook Instant Game configuration."` FacebookLimitedLogin *SocialConfigFacebookLimitedLogin `yaml:"facebook_limited_login" json:"facebook_limited_login" usage:"Facebook Limited Login configuration."` Apple *SocialConfigApple `yaml:"apple" json:"apple" usage:"Apple Sign In configuration."` }
SocialConfig is configuration relevant to the social authentication providers.
func NewSocialConfig ¶
func NewSocialConfig() *SocialConfig
func (*SocialConfig) Clone ¶ added in v3.25.0
func (cfg *SocialConfig) Clone() *SocialConfig
func (*SocialConfig) GetApple ¶ added in v3.25.0
func (cfg *SocialConfig) GetApple() runtime.SocialConfigApple
func (*SocialConfig) GetFacebookInstantGame ¶ added in v3.25.0
func (cfg *SocialConfig) GetFacebookInstantGame() runtime.SocialConfigFacebookInstantGame
func (*SocialConfig) GetFacebookLimitedLogin ¶ added in v3.25.0
func (cfg *SocialConfig) GetFacebookLimitedLogin() runtime.SocialConfigFacebookLimitedLogin
func (*SocialConfig) GetSteam ¶ added in v3.25.0
func (cfg *SocialConfig) GetSteam() runtime.SocialConfigSteam
type SocialConfigApple ¶
type SocialConfigApple struct {
BundleId string `yaml:"bundle_id" json:"bundle_id" usage:"Apple Sign In bundle ID."`
}
SocialConfigApple is configuration relevant to Apple Sign In.
func (SocialConfigApple) GetBundleId ¶ added in v3.25.0
func (s SocialConfigApple) GetBundleId() string
type SocialConfigFacebookInstantGame ¶
type SocialConfigFacebookInstantGame struct {
AppSecret string `yaml:"app_secret" json:"app_secret" usage:"Facebook Instant App secret."`
}
SocialConfigFacebookInstantGame is configuration relevant to Facebook Instant Games.
func (SocialConfigFacebookInstantGame) GetAppSecret ¶ added in v3.25.0
func (s SocialConfigFacebookInstantGame) GetAppSecret() string
type SocialConfigFacebookLimitedLogin ¶ added in v3.2.0
type SocialConfigFacebookLimitedLogin struct {
AppId string `yaml:"app_id" json:"app_id" usage:"Facebook Limited Login App ID."`
}
SocialConfigFacebookLimitedLogin is configuration relevant to Facebook Limited Login.
func (SocialConfigFacebookLimitedLogin) GetAppId ¶ added in v3.25.0
func (s SocialConfigFacebookLimitedLogin) GetAppId() string
type SocialConfigSteam ¶
type SocialConfigSteam struct { PublisherKey string `yaml:"publisher_key" json:"publisher_key" usage:"Steam Publisher Key value."` AppID int `yaml:"app_id" json:"app_id" usage:"Steam App ID."` }
SocialConfigSteam is configuration relevant to Steam.
func (SocialConfigSteam) GetAppID ¶ added in v3.25.0
func (s SocialConfigSteam) GetAppID() int
func (SocialConfigSteam) GetPublisherKey ¶ added in v3.25.0
func (s SocialConfigSteam) GetPublisherKey() string
type SocketConfig ¶
type SocketConfig struct { ServerKey string `yaml:"server_key" json:"server_key" usage:"Server key to use to establish a connection to the server."` Port int `` /* 154-byte string literal not displayed */ Address string `` /* 156-byte string literal not displayed */ Protocol string `` /* 198-byte string literal not displayed */ MaxMessageSizeBytes int64 `` /* 186-byte string literal not displayed */ MaxRequestSizeBytes int64 `` /* 180-byte string literal not displayed */ ReadBufferSizeBytes int `` /* 136-byte string literal not displayed */ WriteBufferSizeBytes int `` /* 139-byte string literal not displayed */ ReadTimeoutMs int `` /* 145-byte string literal not displayed */ WriteTimeoutMs int `` /* 157-byte string literal not displayed */ IdleTimeoutMs int `` /* 178-byte string literal not displayed */ WriteWaitMs int `` /* 156-byte string literal not displayed */ PongWaitMs int `` /* 156-byte string literal not displayed */ PingPeriodMs int `` /* 204-byte string literal not displayed */ PingBackoffThreshold int `` /* 293-byte string literal not displayed */ OutgoingQueueSize int `` /* 245-byte string literal not displayed */ SSLCertificate string `` /* 192-byte string literal not displayed */ SSLPrivateKey string `` /* 192-byte string literal not displayed */ ResponseHeaders []string `` /* 219-byte string literal not displayed */ Headers map[string]string `yaml:"-" json:"-"` // Created by parsing ResponseHeaders above, not set from input args directly. CertPEMBlock []byte `yaml:"-" json:"-"` // Created by fully reading the file contents of SSLCertificate, not set from input args directly. KeyPEMBlock []byte `yaml:"-" json:"-"` // Created by fully reading the file contents of SSLPrivateKey, not set from input args directly. TLSCert []tls.Certificate `yaml:"-" json:"-"` // Created by processing CertPEMBlock and KeyPEMBlock, not set from input args directly. }
SocketConfig is configuration relevant to the transport socket and protocol.
func NewSocketConfig ¶
func NewSocketConfig() *SocketConfig
func (*SocketConfig) Clone ¶ added in v3.25.0
func (cfg *SocketConfig) Clone() (*SocketConfig, error)
func (*SocketConfig) GetAddress ¶ added in v3.25.0
func (cfg *SocketConfig) GetAddress() string
func (*SocketConfig) GetPort ¶ added in v3.25.0
func (cfg *SocketConfig) GetPort() int
func (*SocketConfig) GetProtocol ¶ added in v3.25.0
func (cfg *SocketConfig) GetProtocol() string
func (*SocketConfig) GetServerKey ¶ added in v3.25.0
func (cfg *SocketConfig) GetServerKey() string
type StatusHandler ¶
type StatusHandler interface {
GetStatus(ctx context.Context) ([]*console.StatusList_Status, error)
}
func NewLocalStatusHandler ¶
func NewLocalStatusHandler(logger *zap.Logger, sessionRegistry SessionRegistry, matchRegistry MatchRegistry, tracker Tracker, metrics Metrics, node string) StatusHandler
type StatusRegistry ¶ added in v3.1.1
type StatusRegistry interface { Stop() Follow(sessionID uuid.UUID, userIDs map[uuid.UUID]struct{}) Unfollow(sessionID uuid.UUID, userIDs []uuid.UUID) UnfollowAll(sessionID uuid.UUID) IsOnline(userID uuid.UUID) bool FillOnlineUsers(users []*api.User) FillOnlineAccounts(accounts []*api.Account) FillOnlineFriends(friends []*api.Friend) FillOnlineGroupUsers(groupUsers []*api.GroupUserList_GroupUser) Queue(userID uuid.UUID, joins, leaves []*rtapi.UserPresence) }
func NewLocalStatusRegistry ¶ added in v3.21.1
func NewLocalStatusRegistry(logger *zap.Logger, config Config, sessionRegistry SessionRegistry, protojsonMarshaler *protojson.MarshalOptions) StatusRegistry
type StorageConfig ¶ added in v3.18.0
type StorageConfig struct {
DisableIndexOnly bool `` /* 159-byte string literal not displayed */
}
func NewStorageConfig ¶ added in v3.18.0
func NewStorageConfig() *StorageConfig
func (*StorageConfig) Clone ¶ added in v3.25.0
func (cfg *StorageConfig) Clone() *StorageConfig
type StorageIndex ¶ added in v3.17.0
type StorageIndex interface { Write(ctx context.Context, objects []*api.StorageObject) (creates int, deletes int) Delete(ctx context.Context, objects StorageOpDeletes) (deletes int) List(ctx context.Context, callerID uuid.UUID, indexName, query string, limit int, order []string, cursor string) (*api.StorageObjects, string, error) Load(ctx context.Context) error CreateIndex(ctx context.Context, name, collection, key string, fields []string, sortFields []string, maxEntries int, indexOnly bool) error RegisterFilters(runtime *Runtime) }
func NewLocalStorageIndex ¶ added in v3.17.0
func NewLocalStorageIndex(logger *zap.Logger, db *sql.DB, config *StorageConfig, metrics Metrics) (StorageIndex, error)
type StorageOpDelete ¶
type StorageOpDelete struct { OwnerID string ObjectID *api.DeleteStorageObjectId }
type StorageOpDeletes ¶
type StorageOpDeletes []*StorageOpDelete
Internal representation for a batch of storage delete operations.
func (StorageOpDeletes) Len ¶
func (s StorageOpDeletes) Len() int
func (StorageOpDeletes) Less ¶
func (s StorageOpDeletes) Less(i, j int) bool
func (StorageOpDeletes) Swap ¶
func (s StorageOpDeletes) Swap(i, j int)
type StorageOpWrite ¶
type StorageOpWrite struct { OwnerID string Object *api.WriteStorageObject }
type StorageOpWrites ¶
type StorageOpWrites []*StorageOpWrite
Internal representation for a batch of storage write operations.
func (StorageOpWrites) Len ¶
func (s StorageOpWrites) Len() int
func (StorageOpWrites) Less ¶
func (s StorageOpWrites) Less(i, j int) bool
func (StorageOpWrites) Swap ¶
func (s StorageOpWrites) Swap(i, j int)
type StreamManager ¶
type StreamManager interface { UserJoin(stream PresenceStream, userID, sessionID uuid.UUID, hidden, persistence bool, status string) (bool, bool, error) UserUpdate(stream PresenceStream, userID, sessionID uuid.UUID, hidden, persistence bool, status string) (bool, error) UserLeave(stream PresenceStream, userID, sessionID uuid.UUID) error }
func NewLocalStreamManager ¶
func NewLocalStreamManager(config Config, sessionRegistry SessionRegistry, tracker Tracker) StreamManager
type TournamentListCursor ¶
type TournamentListCursor struct {
Id string
}
type Tracker ¶
type Tracker interface { SetMatchJoinListener(func(id uuid.UUID, joins []*MatchPresence)) SetMatchLeaveListener(func(id uuid.UUID, leaves []*MatchPresence)) SetPartyJoinListener(func(id uuid.UUID, joins []*Presence)) SetPartyLeaveListener(func(id uuid.UUID, leaves []*Presence)) Stop() // Track returns success true/false, and new presence true/false. Track(ctx context.Context, sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID, meta PresenceMeta) (bool, bool) TrackMulti(ctx context.Context, sessionID uuid.UUID, ops []*TrackerOp, userID uuid.UUID) bool Untrack(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) UntrackMulti(sessionID uuid.UUID, streams []*PresenceStream, userID uuid.UUID) UntrackAll(sessionID uuid.UUID, reason runtime.PresenceReason) // Update returns success true/false - will only fail if the user has no presence, otherwise is an upsert. Update(ctx context.Context, sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID, meta PresenceMeta) bool // Remove all presences on a stream, effectively closing it. UntrackByStream(stream PresenceStream) // Remove all presences on a stream from the local node. UntrackLocalByStream(stream PresenceStream) // Remove the given session from any streams matching the given mode, except the specified stream. UntrackLocalByModes(sessionID uuid.UUID, modes map[uint8]struct{}, skipStream PresenceStream) // List the nodes that have at least one presence for the given stream. ListNodesForStream(stream PresenceStream) map[string]struct{} // Check if a stream exists (has any presences) or not. StreamExists(stream PresenceStream) bool // Get current total number of presences. Count() int // Get the number of presences in the given stream. CountByStream(stream PresenceStream) int // Get a snapshot of current presence counts for streams with one of the given stream modes. CountByStreamModeFilter(modes map[uint8]*uint8) map[*PresenceStream]int32 // Check if a single presence on the current node exists. GetLocalBySessionIDStreamUserID(sessionID uuid.UUID, stream PresenceStream, userID uuid.UUID) *PresenceMeta // List presences by stream, optionally include hidden ones and not hidden ones. ListByStream(stream PresenceStream, includeHidden bool, includeNotHidden bool) []*Presence // Fast lookup of local session IDs to use for message delivery. ListLocalSessionIDByStream(stream PresenceStream) []uuid.UUID // Fast lookup of node + session IDs to use for message delivery. ListPresenceIDByStream(stream PresenceStream) []*PresenceID // Fast lookup of presences for a set of user IDs + stream mode. ListPresenceIDByStreams(fill map[PresenceStream][]*PresenceID) }
func StartLocalTracker ¶
func StartLocalTracker(logger *zap.Logger, config Config, sessionRegistry SessionRegistry, statusRegistry StatusRegistry, metrics Metrics, protojsonMarshaler *protojson.MarshalOptions) Tracker
type TrackerConfig ¶
type TrackerConfig struct {
EventQueueSize int `` /* 210-byte string literal not displayed */
}
TrackerConfig is configuration relevant to the presence tracker.
func NewTrackerConfig ¶
func NewTrackerConfig() *TrackerConfig
func (*TrackerConfig) Clone ¶ added in v3.25.0
func (cfg *TrackerConfig) Clone() *TrackerConfig
type TrackerOp ¶ added in v3.1.0
type TrackerOp struct { Stream PresenceStream Meta PresenceMeta }
type Tx ¶
type Tx interface { ExecContext(context.Context, string, ...interface{}) (sql.Result, error) Commit() error Rollback() error }
Tx is used to permit clients to implement custom transaction logic.
type TxnRestartError ¶
type TxnRestartError struct {
// contains filtered or unexported fields
}
TxnRestartError represents an error when restarting a transaction. `cause` is the error from restarting the txn and `retryCause` is the original error which triggered the restart.
func (*TxnRestartError) Cause ¶
func (e *TxnRestartError) Cause() error
Cause implements the ErrorCauser interface.
func (*TxnRestartError) Error ¶
func (e *TxnRestartError) Error() string
Error implements the error interface.
func (*TxnRestartError) RetryCause ¶
func (e *TxnRestartError) RetryCause() error
RetryCause returns the error that caused the transaction to be restarted.
type UserMFASetupToken ¶ added in v3.24.0
type UserMFASetupToken struct { UserID string `json:"user_id,omitempty"` UserEmail string `json:"user_email,omitempty"` ExpiryTime int64 `json:"exp,omitempty"` CreateTime int64 `json:"crt,omitempty"` MFASecret string `json:"secret,omitempty"` MFAUrl string `json:"mfa_url,omitempty"` MFARequired bool `json:"mfa_required,omitempty"` }
func (*UserMFASetupToken) Valid ¶ added in v3.24.0
func (t *UserMFASetupToken) Valid() error
type ValidatableQuery ¶ added in v3.9.0
type ValidatableQuery interface {
Validate() error
}
Source Files ¶
- api.go
- api_account.go
- api_authenticate.go
- api_channel.go
- api_event.go
- api_friend.go
- api_group.go
- api_leaderboard.go
- api_link.go
- api_match.go
- api_matchmaker.go
- api_notification.go
- api_purchase.go
- api_rpc.go
- api_session.go
- api_storage.go
- api_subscription.go
- api_tournament.go
- api_unlink.go
- api_user.go
- config.go
- console.go
- console_account.go
- console_api_explorer.go
- console_authenticate.go
- console_channel.go
- console_config.go
- console_group.go
- console_leaderboard.go
- console_match.go
- console_notification.go
- console_purchase.go
- console_runtime.go
- console_status.go
- console_storage.go
- console_storage_import.go
- console_subscription.go
- console_unlink.go
- console_user.go
- core_account.go
- core_authenticate.go
- core_channel.go
- core_file.go
- core_friend.go
- core_group.go
- core_leaderboard.go
- core_link.go
- core_multi.go
- core_notification.go
- core_purchase.go
- core_session.go
- core_storage.go
- core_subscription.go
- core_tournament.go
- core_unlink.go
- core_user.go
- core_wallet.go
- db.go
- db_error.go
- encryption.go
- fleet_manager_callback_handler.go
- google_refund_scheduler.go
- jwt.go
- leaderboard_cache.go
- leaderboard_rank_cache.go
- leaderboard_scheduler.go
- logger.go
- login_attempt_cache.go
- map.go
- match_common.go
- match_handler.go
- match_presence.go
- match_registry.go
- matchmaker.go
- matchmaker_process.go
- message_router.go
- metrics.go
- metrics_grpc_handler.go
- mfa.go
- party_handler.go
- party_presence.go
- party_registry.go
- pipeline.go
- pipeline_channel.go
- pipeline_match.go
- pipeline_matchmaker.go
- pipeline_party.go
- pipeline_ping.go
- pipeline_rpc.go
- pipeline_status.go
- runtime.go
- runtime_config.go
- runtime_event.go
- runtime_go.go
- runtime_go_context.go
- runtime_go_logger.go
- runtime_go_match_core.go
- runtime_go_nakama.go
- runtime_javascript.go
- runtime_javascript_context.go
- runtime_javascript_init.go
- runtime_javascript_localcache.go
- runtime_javascript_logger.go
- runtime_javascript_match_core.go
- runtime_javascript_nakama.go
- runtime_lua.go
- runtime_lua_bit32.go
- runtime_lua_context.go
- runtime_lua_loadlib.go
- runtime_lua_localcache.go
- runtime_lua_match_core.go
- runtime_lua_nakama.go
- runtime_lua_oslib.go
- runtime_lua_utils.go
- session_cache.go
- session_registry.go
- session_ws.go
- shutdown.go
- socket_ws.go
- status_handler.go
- status_registry.go
- storage_index.go
- stream_manager.go
- tracker.go