Versions in this module Expand all Collapse all v1 v1.1.2 Aug 11, 2026 Changes in this version + func ErrBadRequest(msg string) error + type FleetManager = fleet.Manager v1.1.1 Aug 4, 2026 v1.1.0 Aug 3, 2026 Changes in this version + const CtxClientIP + const CtxEnv + const CtxExecutionMode + const CtxHeaders + const CtxQueryParams + const CtxUserID + const CtxUsername + const CtxVars + const RpcFuncHookID + func ApplyRpcFuncBeforeResult(req map[string]interface{}, result interface{}) map[string]interface + func CodeFromError(err error) codes.Code + func EmitStreamPresenceRemovals(router presence.MessageRouter, tracker *presence.LocalTracker, ...) + func EnvelopeHookIDFromJSON(m map[string]interface{}) string + func ExecuteJSAfterHook(vm *goja.Runtime, funcName string, ctx context.Context, out interface{}, ...) error + func ExecuteJSBeforeHook(vm *goja.Runtime, funcName string, ctx context.Context, in interface{}) (interface{}, error) + func ExecuteJSRPC(vm *goja.Runtime, funcName string, ctx context.Context, payload string) (string, error) + func ExecuteLuaAfterHook(L *lua.LState, funcName string, ctx context.Context, out interface{}, ...) error + func ExecuteLuaBeforeHook(L *lua.LState, funcName string, ctx context.Context, in interface{}) (interface{}, error) + func ExecuteLuaRPC(L *lua.LState, funcName string, ctx context.Context, payload string) (string, error) + func LoadJSModules(ctx context.Context, dir string, vm *goja.Runtime, logger Logger) error + func LoadLuaModules(ctx context.Context, dir string, L *lua.LState, logger Logger) error + func MapJSNK(vm *goja.Runtime, nk RuntimeModule, timeout time.Duration, ...) + func MapLuaNK(L *lua.LState, nk RuntimeModule, registry ...*HookRegistry) + func MountHTTPHandlers(mux *http.ServeMux, handlers []*RuntimeHTTPHandler) + func ParseEnvelopeMap(payload []byte) (map[string]interface{}, error) + func RegisterCronEnabled() bool + func ResolveRtHookID(hookID string) string + func ToGoValue(val lua.LValue) interface + func ToLuaValue(L *lua.LState, val interface{}) lua.LValue + type Account struct + CreateTime time.Time + ID string + UpdateTime time.Time + Username string + type AccountUpdateParams struct + AvatarURL *string + DisplayName *string + LangTag *string + Location *string + Metadata *string + Timezone *string + UserID string + Username *string + type AddFriendsRequest struct + IDs []string + Usernames []string + type AddGroupUsersRequest struct + GroupID string + UserIDs []string + type AfterHook func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) error + type AuthenticateAppleRequest struct + Create *bool + Token string + Username string + Vars map[string]string + type AuthenticateCustomRequest struct + Create *bool + ID string + Username string + Vars map[string]string + type AuthenticateDeviceRequest struct + Create *bool + ID string + Username string + Vars map[string]string + type AuthenticateEmailRequest struct + DisplayName string + Email string + Password string + Register bool + Username string + type AuthenticateFacebookInstantGameRequest struct + Create *bool + SignedPlayerInfo string + Username string + Vars map[string]string + type AuthenticateFacebookRequest struct + Create *bool + Token string + Username string + Vars map[string]string + type AuthenticateGameCenterRequest struct + BundleID string + Create *bool + PlayerID string + PublicKeyURL string + Salt string + Signature string + Timestamp int64 + Username string + Vars map[string]string + type AuthenticateGoogleRequest struct + Create *bool + Token string + Username string + Vars map[string]string + type AuthenticateSteamRequest struct + Create *bool + Token string + Username string + Vars map[string]string + type BanGroupUsersRequest struct + GroupID string + UserIDs []string + type BeforeHook func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) (interface{}, error) + type BlockFriendsRequest struct + IDs []string + Usernames []string + type ChannelMessageAckView struct + ChannelID string + Code int16 + CreateTime time.Time + GroupID string + MessageID string + Persistent bool + RoomName string + UpdateTime time.Time + UserIDOne string + UserIDTwo string + Username string + type ChannelMessageList struct + CacheableCursor string + Messages []*ChannelMessageView + NextCursor string + PrevCursor string + type ChannelMessageView struct + ChannelID string + Code int16 + Content string + CreateTime time.Time + GroupID string + MessageID string + Persistent bool + RoomName string + SenderID string + UpdateTime time.Time + UserIDOne string + UserIDTwo string + Username string + type CreateGroupRequest struct + AvatarURL string + Description string + LangTag string + MaxCount int32 + Metadata string + Name string + Open bool + type CreateMatchRequest struct + Name string + type CreatePartyRequest struct + MaxSize int32 + Open bool + type CronClusterLock struct + func NewCronClusterLock(rdb *redis.Client, nodeID string) *CronClusterLock + func NewNamedClusterLock(rdb *redis.Client, nodeID, key string) *CronClusterLock + func (l *CronClusterLock) TryAcquire(ctx context.Context) bool + type CronJob struct + Expr *cronexpr.Expression + Handler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule) error + Schedule string + type CronScheduler struct + func NewCronScheduler(registry *HookRegistry, logger Logger, db *sql.DB, nk RuntimeModule) *CronScheduler + func (s *CronScheduler) SetClusterLock(lock *CronClusterLock) + func (s *CronScheduler) Start(parent context.Context) + func (s *CronScheduler) Stop() + type DeleteAccountRequest struct + type DeleteFriendsRequest struct + IDs []string + Usernames []string + type DeleteGroupRequest struct + GroupID string + type DeleteLeaderboardRecordRequest struct + LeaderboardID string + type DeleteNotificationsRequest struct + IDs []string + type DeleteStorageObjectsRequest struct + ObjectIDs []StorageDelete + type DeleteTournamentRecordRequest struct + TournamentID string + type DemoteGroupUsersRequest struct + GroupID string + UserIDs []string + type Error struct + Code codes.Code + Message string + func NewError(msg string, code int) *Error + func (e *Error) Error() string + type Event struct + Name string + Properties map[string]string + Timestamp int64 + type EventHandler func(ctx context.Context, logger Logger, evt *Event) + type EventRequest struct + External bool + Name string + Properties map[string]string + Timestamp int64 + type Friend struct + Metadata string + State int + UpdateTime time.Time + User *UserView + type FriendEdge struct + DisplayName string + Metadata string + State int + UpdateTime time.Time + UserID string + Username string + type FriendList struct + Friends []*Friend + NextCursor string + type FriendOfFriend struct + Referrer string + User *UserView + type FriendOfFriendEdge struct + Referrer string + UserID string + Username string + type FriendsOfFriendsList struct + Cursor string + FriendsOfFriends []*FriendOfFriend + type GetAccountRequest struct + type GetMatchmakerStatsRequest struct + type GetSubscriptionRequest struct + ProductID string + type GetUsersRequest struct + FacebookIDs []string + IDs []string + Usernames []string + type GetWalletRequest struct + type GoRuntimeManager struct + func NewGoRuntimeManager(logger Logger, db *sql.DB, nk RuntimeModule) *GoRuntimeManager + func (m *GoRuntimeManager) DB() *sql.DB + func (m *GoRuntimeManager) DispatchRPC(ctx context.Context, id, payload string, opts RPCDispatchOpts, ...) (string, codes.Code, error) + func (m *GoRuntimeManager) HasAfterHook(name string) bool + func (m *GoRuntimeManager) HasBeforeHook(name string) bool + func (m *GoRuntimeManager) HasRPC(id string) bool + func (m *GoRuntimeManager) InvokeAfterHook(ctx context.Context, name string, response interface{}, request interface{}) error + func (m *GoRuntimeManager) InvokeBeforeHook(ctx context.Context, name string, in interface{}) (out interface{}, err error) + func (m *GoRuntimeManager) InvokeRPC(ctx context.Context, id string, payload string) (result string, err error) + func (m *GoRuntimeManager) LoadPlugins(ctx context.Context, dir string) error + func (m *GoRuntimeManager) Logger() Logger + func (m *GoRuntimeManager) NK() RuntimeModule + func (m *GoRuntimeManager) NewInitializer() Initializer + func (m *GoRuntimeManager) Registry() *HookRegistry + type GoRuntimeModule struct + func NewGoRuntimeModule(dbPool *pgxpool.Pool, logger Logger) *GoRuntimeModule + func (m *GoRuntimeModule) AccountDeleteId(ctx context.Context, userID string) error + func (m *GoRuntimeModule) AccountGetId(ctx context.Context, userID string) (*Account, error) + func (m *GoRuntimeModule) AccountUpdateId(ctx context.Context, userID, username string, metadata map[string]interface{}, ...) error + func (m *GoRuntimeModule) AuthenticateCustom(ctx context.Context, id, username string, create bool) (string, string, bool, error) + func (m *GoRuntimeModule) AuthenticateDevice(ctx context.Context, id, username string, create bool) (string, string, bool, error) + func (m *GoRuntimeModule) AuthenticateEmail(ctx context.Context, email, password, username string, create bool) (string, string, bool, error) + func (m *GoRuntimeModule) AuthenticateTokenGenerate(userID, username string, expiresAt int64, vars map[string]string) (string, int64, error) + func (m *GoRuntimeModule) BcryptCompare(hashStr, password string) bool + func (m *GoRuntimeModule) BcryptHash(password string) (string, error) + func (m *GoRuntimeModule) ChannelIdBuild(ctx context.Context, userID, target string, chanType int) (string, error) + func (m *GoRuntimeModule) ChannelMessageRemove(ctx context.Context, channelID, messageID, senderID, senderUsername string, ...) (*ChannelMessageAckView, error) + func (m *GoRuntimeModule) ChannelMessageSend(ctx context.Context, channelID string, content map[string]interface{}, ...) (*ChannelMessageAckView, error) + func (m *GoRuntimeModule) ChannelMessageUpdate(ctx context.Context, channelID, messageID string, ...) (*ChannelMessageAckView, error) + func (m *GoRuntimeModule) ChannelMessagesList(ctx context.Context, channelID string, limit int, forward bool, cursor string) ([]*ChannelMessageView, string, string, string, error) + func (m *GoRuntimeModule) CronNext(expression string, timestamp int64) (int64, error) + func (m *GoRuntimeModule) CronPrev(expression string, timestamp int64) (int64, error) + func (m *GoRuntimeModule) CryptoHash(algo, input string) (string, error) + func (m *GoRuntimeModule) CryptoHmacHash(algo, key, input string) (string, error) + func (m *GoRuntimeModule) FriendMetadataUpdate(ctx context.Context, userID, friendID string, metadata map[string]any) error + func (m *GoRuntimeModule) FriendsAdd(ctx context.Context, userID string, ids, usernames []string, ...) error + func (m *GoRuntimeModule) FriendsBlock(ctx context.Context, userID string, ids, usernames []string) error + func (m *GoRuntimeModule) FriendsDelete(ctx context.Context, userID string, ids, usernames []string) error + func (m *GoRuntimeModule) FriendsList(ctx context.Context, userID string, limit int, state *int, cursor string) ([]*FriendEdge, string, error) + func (m *GoRuntimeModule) FriendsOfFriendsList(ctx context.Context, userID string, limit int, cursor string) ([]*FriendOfFriendEdge, string, error) + func (m *GoRuntimeModule) GetFleetManager() fleet.Manager + func (m *GoRuntimeModule) GetSatori() satori.Satori + func (m *GoRuntimeModule) GroupCreate(ctx context.Context, ...) (*GroupView, error) + func (m *GoRuntimeModule) GroupDelete(ctx context.Context, groupID, userID string) error + func (m *GoRuntimeModule) GroupUpdate(ctx context.Context, ...) error + func (m *GoRuntimeModule) GroupUserJoin(ctx context.Context, groupID, userID, username string) error + func (m *GoRuntimeModule) GroupUserLeave(ctx context.Context, groupID, userID, username string) error + func (m *GoRuntimeModule) GroupUsersAdd(ctx context.Context, groupID, callerID string, userIDs []string) error + func (m *GoRuntimeModule) GroupUsersBan(ctx context.Context, groupID, callerID string, userIDs []string) error + func (m *GoRuntimeModule) GroupUsersDemote(ctx context.Context, groupID, callerID string, userIDs []string) error + func (m *GoRuntimeModule) GroupUsersKick(ctx context.Context, groupID, callerID string, userIDs []string) error + func (m *GoRuntimeModule) GroupUsersList(ctx context.Context, groupID string, limit int, cursor string) ([]*GroupUserView, string, error) + func (m *GoRuntimeModule) GroupUsersPromote(ctx context.Context, groupID, callerID string, userIDs []string) error + func (m *GoRuntimeModule) GroupsGetId(ctx context.Context, groupIDs []string) ([]*GroupView, error) + func (m *GoRuntimeModule) GroupsGetRandom(ctx context.Context, count int) ([]*GroupView, error) + func (m *GoRuntimeModule) GroupsList(ctx context.Context, name, langTag string, open *bool, members, limit int, ...) ([]*GroupView, string, error) + func (m *GoRuntimeModule) HttpRequest(ctx context.Context, urlStr, method string, headers map[string]string, ...) (int, map[string]string, string, error) + func (m *GoRuntimeModule) LeaderboardCreate(ctx context.Context, id string, authoritative bool, sortOrder int, ...) error + func (m *GoRuntimeModule) LeaderboardDelete(ctx context.Context, id string) error + func (m *GoRuntimeModule) LeaderboardList(ctx context.Context, limit int, cursor string) ([]*Leaderboard, string, error) + func (m *GoRuntimeModule) LeaderboardRanksDisable(ctx context.Context, id string) error + func (m *GoRuntimeModule) LeaderboardRecordDelete(ctx context.Context, id, ownerID string) error + func (m *GoRuntimeModule) LeaderboardRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, ...) (*LeaderboardRecord, error) + func (m *GoRuntimeModule) LeaderboardRecordsAroundOwner(ctx context.Context, id, ownerID string, limit int, expiry int64) ([]*LeaderboardRecord, error) + func (m *GoRuntimeModule) LeaderboardRecordsHaystack(ctx context.Context, id, ownerID string, limit int, cursor string, ...) ([]*LeaderboardRecord, string, string, error) + func (m *GoRuntimeModule) LeaderboardRecordsList(ctx context.Context, id string, ownerIDs []string, limit int, cursor string, ...) ([]*LeaderboardRecord, string, string, error) + func (m *GoRuntimeModule) LeaderboardRecordsListCursorFromRank(ctx context.Context, leaderboardID string, rank, expiry int64) (string, error) + func (m *GoRuntimeModule) LeaderboardsGetId(ctx context.Context, ids []string) ([]*Leaderboard, error) + func (m *GoRuntimeModule) LinkCustom(ctx context.Context, userID, customID string) error + func (m *GoRuntimeModule) LinkDevice(ctx context.Context, userID, deviceID string) error + func (m *GoRuntimeModule) LinkEmail(ctx context.Context, userID, email, password string) error + func (m *GoRuntimeModule) LocalCacheGet(key string) (interface{}, bool) + func (m *GoRuntimeModule) LocalCacheSet(key string, value interface{}, ttlSec int64) + func (m *GoRuntimeModule) MatchCreate(ctx context.Context, module string, params map[string]interface{}) (string, error) + func (m *GoRuntimeModule) MatchGet(ctx context.Context, matchID string) (*MatchInfo, error) + func (m *GoRuntimeModule) MatchList(ctx context.Context, limit int, authoritative bool, label string, ...) ([]*MatchInfo, error) + func (m *GoRuntimeModule) MatchSignal(ctx context.Context, matchID, data string) (string, error) + func (m *GoRuntimeModule) MultiUpdate(ctx context.Context, accountUpdates []*AccountUpdateParams, ...) ([]*StorageObjectAck, []*WalletUpdateResultView, error) + func (m *GoRuntimeModule) NotificationSend(ctx context.Context, userID, subject string, content map[string]interface{}, ...) error + func (m *GoRuntimeModule) NotificationSendAll(ctx context.Context, subject string, content map[string]interface{}, code int, ...) error + func (m *GoRuntimeModule) NotificationsDelete(ctx context.Context, userID string, ids []string) error + func (m *GoRuntimeModule) NotificationsDeleteId(ctx context.Context, userID string, ids []string) error + func (m *GoRuntimeModule) NotificationsGetId(ctx context.Context, userID string, ids []string) ([]*NotificationView, error) + func (m *GoRuntimeModule) NotificationsList(ctx context.Context, userID string, limit int, cursor string) ([]*NotificationView, string, error) + func (m *GoRuntimeModule) NotificationsSend(ctx context.Context, notifications []*NotificationSendParams) error + func (m *GoRuntimeModule) NotificationsUpdate(ctx context.Context, updates []*NotificationUpdateParams) error + func (m *GoRuntimeModule) PartyList(ctx context.Context, limit int, open *bool, showHidden bool, ...) ([]*PartyListEntry, string, error) + func (m *GoRuntimeModule) PurchaseValidateApple(ctx context.Context, userID, receipt string, persist bool) (*ValidatedPurchaseView, error) + func (m *GoRuntimeModule) PurchaseValidateFacebookInstant(ctx context.Context, userID, signedRequest string, persist bool) (*ValidatedPurchaseView, error) + func (m *GoRuntimeModule) PurchaseValidateGoogle(ctx context.Context, userID, productID, purchaseToken string, persist bool) (*ValidatedPurchaseView, error) + func (m *GoRuntimeModule) PurchaseValidateHuawei(ctx context.Context, userID, purchaseData, signature string, persist bool) (*ValidatedPurchaseView, error) + func (m *GoRuntimeModule) PurchaseValidateSamsung(ctx context.Context, userID, purchaseID string, persist bool) (*ValidatedPurchaseView, error) + func (m *GoRuntimeModule) PurchasesList(ctx context.Context, userID string, limit int) ([]*ValidatedPurchaseView, error) + func (m *GoRuntimeModule) RegisterStorageIndex(name, collection, key string, fields, sortableFields []string, maxEntries int, ...) error + func (m *GoRuntimeModule) RegisterStorageIndexFilter(indexName string, ...) error + func (m *GoRuntimeModule) RpcCall(ctx context.Context, id, payload string) (string, error) + func (m *GoRuntimeModule) SessionDisconnect(sessionID string) error + func (m *GoRuntimeModule) SessionLogout(userID, token, refreshToken string) error + func (m *GoRuntimeModule) SetAuthSession(tm *auth.TokenManager, store auth.SessionStore) + func (m *GoRuntimeModule) SetFleetManager(fm fleet.Manager) + func (m *GoRuntimeModule) SetMatchRegistry(reg MatchRegistry) + func (m *GoRuntimeModule) SetPartyLister(l PartyLister) + func (m *GoRuntimeModule) SetRPCDispatcher(fn RPCDispatcherFunc) + func (m *GoRuntimeModule) SetSatoriClient(c *satori.Client) + func (m *GoRuntimeModule) SetStatusFollower(sf StatusFollower) + func (m *GoRuntimeModule) SetStorageIndex(idx *storage.BlugeStorageIndex) + func (m *GoRuntimeModule) SetStreamManager(sm StreamManager) + func (m *GoRuntimeModule) SqlExec(ctx context.Context, query string, args []interface{}) (int64, error) + func (m *GoRuntimeModule) SqlQuery(ctx context.Context, query string, args []interface{}) ([]map[string]interface{}, error) + func (m *GoRuntimeModule) StatusFollow(sessionID string, userIDs []string) error + func (m *GoRuntimeModule) StatusUnfollow(sessionID string, userIDs []string) error + func (m *GoRuntimeModule) StorageDelete(ctx context.Context, deletes []*StorageDelete) error + func (m *GoRuntimeModule) StorageIndexList(ctx context.Context, callerID, indexName, query string, limit int, ...) ([]*StorageObject, string, error) + func (m *GoRuntimeModule) StorageList(ctx context.Context, callerID, userID, collection string, limit int, ...) ([]*StorageObject, string, error) + func (m *GoRuntimeModule) StorageRead(ctx context.Context, reads []*StorageRead) ([]*StorageObject, error) + func (m *GoRuntimeModule) StorageWrite(ctx context.Context, writes []*StorageWrite) ([]*StorageObjectAck, error) + func (m *GoRuntimeModule) StorageWriteRetry(ctx context.Context, reads []*StorageRead, ...) ([]*StorageObjectAck, error) + func (m *GoRuntimeModule) StreamClose(mode int16, subject, subcontext, label string) error + func (m *GoRuntimeModule) StreamCount(mode int16, subject, subcontext, label string) (int, error) + func (m *GoRuntimeModule) StreamSend(mode int16, subject, subcontext, label, data string, sessionIDs []string, ...) error + func (m *GoRuntimeModule) StreamSendRaw(mode int16, subject, subcontext, label string, data []byte, ...) error + func (m *GoRuntimeModule) StreamUserGet(mode int16, subject, subcontext, label, userID, sessionID string) (*StreamPresenceView, error) + func (m *GoRuntimeModule) StreamUserJoin(mode int16, subject, subcontext, label, userID, sessionID string, ...) (bool, error) + func (m *GoRuntimeModule) StreamUserKick(mode int16, subject, subcontext, label string, presence StreamPresenceView) error + func (m *GoRuntimeModule) StreamUserLeave(mode int16, subject, subcontext, label, userID, sessionID string) error + func (m *GoRuntimeModule) StreamUserList(mode int16, subject, subcontext, label string, ...) ([]StreamPresenceView, error) + func (m *GoRuntimeModule) StreamUserUpdate(mode int16, subject, subcontext, label, userID, sessionID string, ...) error + func (m *GoRuntimeModule) SubscriptionGetProductID(ctx context.Context, userID, productID string) (*ValidatedSubscriptionView, error) + func (m *GoRuntimeModule) SubscriptionValidateApple(ctx context.Context, userID, receipt string, persist bool) (*ValidatedSubscriptionView, error) + func (m *GoRuntimeModule) SubscriptionValidateGoogle(ctx context.Context, userID, productID, purchaseToken string, persist bool) (*ValidatedSubscriptionView, error) + func (m *GoRuntimeModule) SubscriptionsList(ctx context.Context, userID string, limit int) ([]*ValidatedSubscriptionView, error) + func (m *GoRuntimeModule) TournamentAddAttempt(ctx context.Context, id, ownerID string, count int) error + func (m *GoRuntimeModule) TournamentCreate(ctx context.Context, id string, authoritative bool, sortOrder, operator int, ...) error + func (m *GoRuntimeModule) TournamentDelete(ctx context.Context, id string) error + func (m *GoRuntimeModule) TournamentJoin(ctx context.Context, id, ownerID, username string) error + func (m *GoRuntimeModule) TournamentList(ctx context.Context, categoryStart, categoryEnd int, startTime, endTime int64, ...) ([]*TournamentView, string, error) + func (m *GoRuntimeModule) TournamentRanksDisable(ctx context.Context, id string) error + func (m *GoRuntimeModule) TournamentRecordDelete(ctx context.Context, id, ownerID string) error + func (m *GoRuntimeModule) TournamentRecordWrite(ctx context.Context, id, ownerID, username string, score, subscore int64, ...) (*LeaderboardRecord, error) + func (m *GoRuntimeModule) TournamentRecordsAroundOwner(ctx context.Context, id, ownerID string, limit int, expiry int64) ([]*LeaderboardRecord, error) + func (m *GoRuntimeModule) TournamentRecordsHaystack(ctx context.Context, id, ownerID string, limit int, cursor string, ...) ([]*LeaderboardRecord, string, string, error) + func (m *GoRuntimeModule) TournamentRecordsList(ctx context.Context, id string, ownerIDs []string, limit int, cursor string, ...) ([]*LeaderboardRecord, string, string, error) + func (m *GoRuntimeModule) TournamentsGetId(ctx context.Context, ids []string) ([]*Leaderboard, error) + func (m *GoRuntimeModule) UnlinkCustom(ctx context.Context, userID string) error + func (m *GoRuntimeModule) UnlinkDevice(ctx context.Context, userID, deviceID string) error + func (m *GoRuntimeModule) UnlinkEmail(ctx context.Context, userID string) error + func (m *GoRuntimeModule) UserGroupsList(ctx context.Context, userID string, limit int, cursor string) ([]*UserGroupView, string, error) + func (m *GoRuntimeModule) UsersBanId(ctx context.Context, userIDs []string) error + func (m *GoRuntimeModule) UsersGetFriendStatus(ctx context.Context, userID string, friendIDs []string) (map[string]int, error) + func (m *GoRuntimeModule) UsersGetId(ctx context.Context, userIDs []string) ([]*UserView, error) + func (m *GoRuntimeModule) UsersGetRandom(ctx context.Context, count int) ([]*UserView, error) + func (m *GoRuntimeModule) UsersGetUsername(ctx context.Context, usernames []string) ([]*UserView, error) + func (m *GoRuntimeModule) UsersUnbanId(ctx context.Context, userIDs []string) error + func (m *GoRuntimeModule) UuidV4() string + func (m *GoRuntimeModule) WalletLedgerList(ctx context.Context, userID string, limit int, cursor string) ([]*WalletLedgerView, string, error) + func (m *GoRuntimeModule) WalletLedgerUpdate(ctx context.Context, ledgerID, userID string, metadata map[string]interface{}) error + func (m *GoRuntimeModule) WalletUpdate(ctx context.Context, userID string, changeset map[string]int64, ...) (map[string]int64, map[string]int64, error) + func (m *GoRuntimeModule) WalletsUpdate(ctx context.Context, updates []*WalletUpdateParams, updateLedger bool) ([]*WalletUpdateResultView, error) + type GroupList struct + Groups []*GroupView + NextCursor string + type GroupUser struct + State int + User *UserView + type GroupUserList struct + GroupUsers []*GroupUser + NextCursor string + type GroupUserView struct + State int + UserID string + Username string + type GroupView struct + AvatarURL string + CreatorID string + Description string + EdgeCount int + ID string + LangTag string + MaxCount int + Metadata string + Name string + Open bool + type HookRegistry struct + func NewHookRegistry() *HookRegistry + func (hr *HookRegistry) ConsoleHTTPHandlers() []*RuntimeHTTPHandler + func (hr *HookRegistry) DispatchEvent(ctx context.Context, logger Logger, evt *Event) + func (hr *HookRegistry) EventHandlers() []EventHandler + func (hr *HookRegistry) GetAfter(name string) (AfterHook, bool) + func (hr *HookRegistry) GetAfterHook(name string) (AfterHook, string, string, bool) + func (hr *HookRegistry) GetBefore(name string) (BeforeHook, bool) + func (hr *HookRegistry) GetBeforeHook(name string) (BeforeHook, string, string, bool) + func (hr *HookRegistry) GetLeaderboardReset() LeaderboardResetHandler + func (hr *HookRegistry) GetMatch(name string) (MatchHandlerFactory, bool) + func (hr *HookRegistry) GetMatchmakerMatched() MatchmakerMatchedHandler + func (hr *HookRegistry) GetMatchmakerOverride() MatchmakerOverrideHandler + func (hr *HookRegistry) GetMatchmakerProcessor() MatchmakerProcessorHandler + func (hr *HookRegistry) GetPurchaseNotificationApple() PurchaseNotificationAppleHandler + func (hr *HookRegistry) GetPurchaseNotificationGoogle() PurchaseNotificationGoogleHandler + func (hr *HookRegistry) GetRPC(rpcName string) (RPCHandler, bool) + func (hr *HookRegistry) GetRPCHook(name string) (RPCHandler, string, string, bool) + func (hr *HookRegistry) GetSubscriptionNotificationApple() SubscriptionNotificationAppleHandler + func (hr *HookRegistry) GetSubscriptionNotificationGoogle() SubscriptionNotificationGoogleHandler + func (hr *HookRegistry) GetTournamentEnd() TournamentEndHandler + func (hr *HookRegistry) GetTournamentReset() TournamentResetHandler + func (hr *HookRegistry) HTTPHandlers() []*RuntimeHTTPHandler + func (hr *HookRegistry) InvokeShutdown(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule) + func (hr *HookRegistry) ListCronJobs() map[string]*CronJob + func (hr *HookRegistry) RegisterAfter(name string, hook AfterHook) + func (hr *HookRegistry) RegisterBefore(name string, hook BeforeHook) + func (hr *HookRegistry) RegisterConsoleHttp(pathPattern string, handler func(http.ResponseWriter, *http.Request), ...) + func (hr *HookRegistry) RegisterCron(jobName string, cron *CronJob) error + func (hr *HookRegistry) RegisterEvent(handler EventHandler) + func (hr *HookRegistry) RegisterEventSessionEnd(handler EventHandler) + func (hr *HookRegistry) RegisterEventSessionStart(handler EventHandler) + func (hr *HookRegistry) RegisterHttp(pathPattern string, handler func(http.ResponseWriter, *http.Request), ...) + func (hr *HookRegistry) RegisterJSAfter(name, fnName string) + func (hr *HookRegistry) RegisterJSBefore(name, fnName string) + func (hr *HookRegistry) RegisterJSRPC(name, fnName string) + func (hr *HookRegistry) RegisterLeaderboardReset(fn LeaderboardResetHandler) + func (hr *HookRegistry) RegisterLuaAfter(name, fnName string) + func (hr *HookRegistry) RegisterLuaBefore(name, fnName string) + func (hr *HookRegistry) RegisterLuaRPC(name, fnName string) + func (hr *HookRegistry) RegisterMatch(name string, factory MatchHandlerFactory) error + func (hr *HookRegistry) RegisterMatchmakerMatched(fn MatchmakerMatchedHandler) + func (hr *HookRegistry) RegisterMatchmakerOverride(fn MatchmakerOverrideHandler) + func (hr *HookRegistry) RegisterMatchmakerProcessor(fn MatchmakerProcessorHandler) + func (hr *HookRegistry) RegisterPurchaseNotificationApple(fn PurchaseNotificationAppleHandler) + func (hr *HookRegistry) RegisterPurchaseNotificationGoogle(fn PurchaseNotificationGoogleHandler) + func (hr *HookRegistry) RegisterRPC(rpcName string, handler RPCHandler) + func (hr *HookRegistry) RegisterShutdown(fn ShutdownHandler) + func (hr *HookRegistry) RegisterSubscriptionNotificationApple(fn SubscriptionNotificationAppleHandler) + func (hr *HookRegistry) RegisterSubscriptionNotificationGoogle(fn SubscriptionNotificationGoogleHandler) + func (hr *HookRegistry) RegisterTournamentEnd(fn TournamentEndHandler) + func (hr *HookRegistry) RegisterTournamentReset(fn TournamentResetHandler) + func (hr *HookRegistry) SessionEndHandlers() []EventHandler + func (hr *HookRegistry) SessionStartHandlers() []EventHandler + func (hr *HookRegistry) ShutdownHandlers() []ShutdownHandler + type ImportFacebookFriendsRequest struct + Reset *bool + Token string + type ImportSteamFriendsRequest struct + Reset *bool + Token string + type InitModuleFunc func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) error + type Initializer interface + RegisterAfterAddFriends func(...) error + RegisterAfterAddGroupUsers func(...) error + RegisterAfterAuthenticateApple func(...) error + RegisterAfterAuthenticateCustom func(...) error + RegisterAfterAuthenticateDevice func(...) error + RegisterAfterAuthenticateEmail func(...) error + RegisterAfterAuthenticateFacebook func(...) error + RegisterAfterAuthenticateFacebookInstantGame func(...) error + RegisterAfterAuthenticateGameCenter func(...) error + RegisterAfterAuthenticateGoogle func(...) error + RegisterAfterAuthenticateSteam func(...) error + RegisterAfterBanGroupUsers func(...) error + RegisterAfterBlockFriends func(...) error + RegisterAfterCreateGroup func(...) error + RegisterAfterDeleteAccount func(...) error + RegisterAfterDeleteFriends func(...) error + RegisterAfterDeleteGroup func(...) error + RegisterAfterDeleteLeaderboardRecord func(...) error + RegisterAfterDeleteNotifications func(...) error + RegisterAfterDeleteStorageObjects func(...) error + RegisterAfterDeleteTournamentRecord func(...) error + RegisterAfterDemoteGroupUsers func(...) error + RegisterAfterGetAccount func(...) error + RegisterAfterGetMatchmakerStats func(...) error + RegisterAfterGetSubscription func(...) error + RegisterAfterGetUsers func(...) error + RegisterAfterImportFacebookFriends func(...) error + RegisterAfterImportSteamFriends func(...) error + RegisterAfterJoinGroup func(...) error + RegisterAfterJoinTournament func(...) error + RegisterAfterKickGroupUsers func(...) error + RegisterAfterLeaveGroup func(...) error + RegisterAfterLinkApple func(...) error + RegisterAfterLinkCustom func(...) error + RegisterAfterLinkDevice func(...) error + RegisterAfterLinkEmail func(...) error + RegisterAfterLinkFacebook func(...) error + RegisterAfterLinkFacebookInstantGame func(...) error + RegisterAfterLinkGameCenter func(...) error + RegisterAfterLinkGoogle func(...) error + RegisterAfterLinkSteam func(...) error + RegisterAfterListChannelMessages func(...) error + RegisterAfterListFriends func(...) error + RegisterAfterListFriendsOfFriends func(...) error + RegisterAfterListGroupUsers func(...) error + RegisterAfterListGroups func(...) error + RegisterAfterListLeaderboardRecords func(...) error + RegisterAfterListLeaderboardRecordsAroundOwner func(...) error + RegisterAfterListMatches func(...) error + RegisterAfterListNotifications func(...) error + RegisterAfterListParties func(...) error + RegisterAfterListStorageObjects func(...) error + RegisterAfterListSubscriptions func(...) error + RegisterAfterListTournamentRecords func(...) error + RegisterAfterListTournamentRecordsAroundOwner func(...) error + RegisterAfterListTournaments func(...) error + RegisterAfterListUserGroups func(...) error + RegisterAfterPromoteGroupUsers func(...) error + RegisterAfterReadStorageObjects func(...) error + RegisterAfterRt func(id string, fn AfterHook) error + RegisterAfterSessionLogout func(...) error + RegisterAfterSessionRefresh func(...) error + RegisterAfterUnlinkApple func(...) error + RegisterAfterUnlinkCustom func(...) error + RegisterAfterUnlinkDevice func(...) error + RegisterAfterUnlinkEmail func(...) error + RegisterAfterUnlinkFacebook func(...) error + RegisterAfterUnlinkFacebookInstantGame func(...) error + RegisterAfterUnlinkGameCenter func(...) error + RegisterAfterUnlinkGoogle func(...) error + RegisterAfterUnlinkSteam func(...) error + RegisterAfterUpdateAccount func(...) error + RegisterAfterUpdateGroup func(...) error + RegisterAfterValidatePurchaseApple func(...) error + RegisterAfterValidatePurchaseFacebookInstant func(...) error + RegisterAfterValidatePurchaseGoogle func(...) error + RegisterAfterValidatePurchaseHuawei func(...) error + RegisterAfterValidatePurchaseSamsung func(...) error + RegisterAfterValidateSubscriptionApple func(...) error + RegisterAfterValidateSubscriptionGoogle func(...) error + RegisterAfterWriteLeaderboardRecord func(...) error + RegisterAfterWriteStorageObjects func(...) error + RegisterAfterWriteTournamentRecord func(...) error + RegisterBeforeAddFriends func(...) error + RegisterBeforeAddGroupUsers func(...) error + RegisterBeforeAuthenticateApple func(...) error + RegisterBeforeAuthenticateCustom func(...) error + RegisterBeforeAuthenticateDevice func(...) error + RegisterBeforeAuthenticateEmail func(...) error + RegisterBeforeAuthenticateFacebook func(...) error + RegisterBeforeAuthenticateFacebookInstantGame func(...) error + RegisterBeforeAuthenticateGameCenter func(...) error + RegisterBeforeAuthenticateGoogle func(...) error + RegisterBeforeAuthenticateSteam func(...) error + RegisterBeforeBanGroupUsers func(...) error + RegisterBeforeBlockFriends func(...) error + RegisterBeforeCreateGroup func(...) error + RegisterBeforeCreateMatch func(...) error + RegisterBeforeCreateParty func(...) error + RegisterBeforeDeleteAccount func(...) error + RegisterBeforeDeleteFriends func(...) error + RegisterBeforeDeleteGroup func(...) error + RegisterBeforeDeleteLeaderboardRecord func(...) error + RegisterBeforeDeleteNotifications func(...) error + RegisterBeforeDeleteStorageObjects func(...) error + RegisterBeforeDeleteTournamentRecord func(...) error + RegisterBeforeDemoteGroupUsers func(...) error + RegisterBeforeEvent func(...) error + RegisterBeforeGetAccount func(...) error + RegisterBeforeGetMatchmakerStats func(...) error + RegisterBeforeGetSubscription func(...) error + RegisterBeforeGetUsers func(...) error + RegisterBeforeGetWallet func(...) error + RegisterBeforeImportFacebookFriends func(...) error + RegisterBeforeImportSteamFriends func(...) error + RegisterBeforeJoinGroup func(...) error + RegisterBeforeJoinParty func(...) error + RegisterBeforeJoinTournament func(...) error + RegisterBeforeKickGroupUsers func(...) error + RegisterBeforeLeaveGroup func(...) error + RegisterBeforeLeaveParty func(...) error + RegisterBeforeLinkApple func(...) error + RegisterBeforeLinkCustom func(...) error + RegisterBeforeLinkDevice func(...) error + RegisterBeforeLinkEmail func(...) error + RegisterBeforeLinkFacebook func(...) error + RegisterBeforeLinkFacebookInstantGame func(...) error + RegisterBeforeLinkGameCenter func(...) error + RegisterBeforeLinkGoogle func(...) error + RegisterBeforeLinkSteam func(...) error + RegisterBeforeListChannelMessages func(...) error + RegisterBeforeListFriends func(...) error + RegisterBeforeListFriendsOfFriends func(...) error + RegisterBeforeListGroupUsers func(...) error + RegisterBeforeListGroups func(...) error + RegisterBeforeListLeaderboardRecords func(...) error + RegisterBeforeListLeaderboardRecordsAroundOwner func(...) error + RegisterBeforeListMatches func(...) error + RegisterBeforeListNotifications func(...) error + RegisterBeforeListParties func(...) error + RegisterBeforeListStorageObjects func(...) error + RegisterBeforeListSubscriptions func(...) error + RegisterBeforeListTournamentRecords func(...) error + RegisterBeforeListTournamentRecordsAroundOwner func(...) error + RegisterBeforeListTournaments func(...) error + RegisterBeforeListUserGroups func(...) error + RegisterBeforeListWalletLedger func(...) error + RegisterBeforePromoteGroupUsers func(...) error + RegisterBeforeReadStorageObjects func(...) error + RegisterBeforeRt func(id string, fn BeforeHook) error + RegisterBeforeSessionLogout func(...) error + RegisterBeforeSessionRefresh func(...) error + RegisterBeforeUnlinkApple func(...) error + RegisterBeforeUnlinkCustom func(...) error + RegisterBeforeUnlinkDevice func(...) error + RegisterBeforeUnlinkEmail func(...) error + RegisterBeforeUnlinkFacebook func(...) error + RegisterBeforeUnlinkFacebookInstantGame func(...) error + RegisterBeforeUnlinkGameCenter func(...) error + RegisterBeforeUnlinkGoogle func(...) error + RegisterBeforeUnlinkSteam func(...) error + RegisterBeforeUpdateAccount func(...) error + RegisterBeforeUpdateGroup func(...) error + RegisterBeforeValidatePurchaseApple func(...) error + RegisterBeforeValidatePurchaseFacebookInstant func(...) error + RegisterBeforeValidatePurchaseGoogle func(...) error + RegisterBeforeValidatePurchaseHuawei func(...) error + RegisterBeforeValidatePurchaseSamsung func(...) error + RegisterBeforeValidateSubscriptionApple func(...) error + RegisterBeforeValidateSubscriptionGoogle func(...) error + RegisterBeforeWriteLeaderboardRecord func(...) error + RegisterBeforeWriteStorageObjects func(...) error + RegisterBeforeWriteTournamentRecord func(...) error + RegisterConsoleHttp func(pathPattern string, handler func(http.ResponseWriter, *http.Request), ...) error + RegisterCron func(name, schedule string, ...) error + RegisterEvent func(fn EventHandler) error + RegisterEventSessionEnd func(fn EventHandler) error + RegisterEventSessionStart func(fn EventHandler) error + RegisterFleetManager func(fm fleet.Manager) error + RegisterHttp func(pathPattern string, handler func(http.ResponseWriter, *http.Request), ...) error + RegisterLeaderboardReset func(fn LeaderboardResetHandler) error + RegisterMatch func(name string, fn MatchHandlerFactory) error + RegisterMatchmakerMatched func(fn MatchmakerMatchedHandler) error + RegisterMatchmakerOverride func(fn MatchmakerOverrideHandler) error + RegisterMatchmakerProcessor func(fn MatchmakerProcessorHandler) error + RegisterPurchaseNotificationApple func(fn PurchaseNotificationAppleHandler) error + RegisterPurchaseNotificationGoogle func(fn PurchaseNotificationGoogleHandler) error + RegisterRpc func(id string, fn RPCHandler) error + RegisterShutdown func(fn ShutdownHandler) error + RegisterStorageIndex func(name, collection, key string, fields, sortableFields []string, maxEntries int, ...) error + RegisterStorageIndexFilter func(indexName string, ...) error + RegisterSubscriptionNotificationApple func(fn SubscriptionNotificationAppleHandler) error + RegisterSubscriptionNotificationGoogle func(fn SubscriptionNotificationGoogleHandler) error + RegisterTournamentEnd func(fn TournamentEndHandler) error + RegisterTournamentReset func(fn TournamentResetHandler) error + type JoinGroupRequest struct + GroupID string + type JoinPartyRequest struct + PartyID string + type JoinTournamentRequest struct + TournamentID string + type KickGroupUsersRequest struct + GroupID string + UserIDs []string + type Leaderboard struct + Authoritative bool + Category int + CreateTime time.Time + Description string + Duration int + EnableRanks bool + EndTime time.Time + ID string + JoinRequired bool + MaxNumScore int + MaxSize int + Metadata string + Operator int + ResetSchedule string + Size int + SortOrder int + StartTime time.Time + Title string + type LeaderboardRecord struct + CreateTime time.Time + ExpiryTime time.Time + LeaderboardID string + MaxNumScore int + Metadata string + NumScore int + OwnerID string + Rank int64 + Score int64 + Subscore int64 + UpdateTime time.Time + Username string + type LeaderboardRecordList struct + NextCursor string + OwnerRecords []*LeaderboardRecord + PrevCursor string + Records []*LeaderboardRecord + type LeaderboardResetHandler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) error + type LeaveGroupRequest struct + GroupID string + type LeavePartyRequest struct + PartyID string + type LinkAppleRequest struct + Token string + Vars map[string]string + type LinkCustomRequest struct + ID string + Vars map[string]string + type LinkDeviceRequest struct + ID string + Vars map[string]string + type LinkEmailRequest struct + Email string + Password string + type LinkFacebookInstantGameRequest struct + SignedPlayerInfo string + type LinkFacebookRequest struct + Token string + Vars map[string]string + type LinkGameCenterRequest struct + BundleID string + PlayerID string + PublicKeyURL string + Salt string + Signature string + Timestamp int64 + type LinkGoogleRequest struct + Token string + Vars map[string]string + type LinkSteamRequest struct + Token string + Vars map[string]string + type ListChannelMessagesRequest struct + ChannelID string + Cursor string + Forward bool + Limit int32 + type ListFriendsOfFriendsRequest struct + Cursor string + Limit int32 + type ListFriendsRequest struct + Cursor string + Limit int32 + State *int32 + type ListGroupUsersRequest struct + Cursor string + GroupID string + Limit int32 + State *int32 + type ListGroupsRequest struct + Cursor string + LangTag string + Limit int32 + Members *int32 + Name string + Open *bool + type ListLeaderboardRecordsAroundOwnerRequest struct + Expiry int64 + LeaderboardID string + Limit int32 + OwnerID string + type ListLeaderboardRecordsRequest struct + Cursor string + Expiry int64 + LeaderboardID string + Limit int32 + OwnerIDs []string + type ListMatchesRequest struct + Authoritative *bool + Label string + Limit int32 + MaxSize *int32 + MinSize *int32 + type ListNotificationsRequest struct + Cursor string + Limit int32 + type ListPartiesRequest struct + Cursor string + Limit int32 + Open *bool + Query string + type ListStorageObjectsRequest struct + Collection string + Cursor string + Limit int32 + UserID string + type ListSubscriptionsRequest struct + Cursor string + Limit int32 + type ListTournamentRecordsAroundOwnerRequest struct + Expiry int64 + Limit int32 + OwnerID string + TournamentID string + type ListTournamentRecordsRequest struct + Cursor string + Expiry int64 + Limit int32 + OwnerIDs []string + TournamentID string + type ListTournamentsRequest struct + CategoryEnd int32 + CategoryStart int32 + Cursor string + EndTime int32 + Limit int32 + StartTime int32 + type ListUserGroupsRequest struct + Cursor string + Limit int32 + State *int32 + UserID string + type ListWalletLedgerRequest struct + Cursor string + Limit int32 + type LocalStreamManager struct + Registry SessionDisconnecter + Router presence.MessageRouter + Tracker *presence.LocalTracker + func (m *LocalStreamManager) SessionDisconnect(sessionID string) error + func (m *LocalStreamManager) SetClusterMesh(mesh *cluster.Mesh, nodeID string) + func (m *LocalStreamManager) StreamClose(mode int16, subject, subcontext, label string) error + func (m *LocalStreamManager) StreamCount(mode int16, subject, subcontext, label string) (int, error) + func (m *LocalStreamManager) StreamSend(mode int16, subject, subcontext, label, data string, sessionIDs []string, ...) error + func (m *LocalStreamManager) StreamSendLocal(mode int16, subject, subcontext, label, data string, sessionIDs []string) error + func (m *LocalStreamManager) StreamSendRaw(mode int16, subject, subcontext, label string, data []byte, ...) error + func (m *LocalStreamManager) StreamUserGet(mode int16, subject, subcontext, label, userID, sessionID string) (*StreamPresenceView, error) + func (m *LocalStreamManager) StreamUserJoin(mode int16, subject, subcontext, label, userID, sessionID string, ...) (bool, error) + func (m *LocalStreamManager) StreamUserKick(mode int16, subject, subcontext, label string, presenceView StreamPresenceView) error + func (m *LocalStreamManager) StreamUserLeave(mode int16, subject, subcontext, label, userID, sessionID string) error + func (m *LocalStreamManager) StreamUserList(mode int16, subject, subcontext, label string, ...) ([]StreamPresenceView, error) + func (m *LocalStreamManager) StreamUserUpdate(mode int16, subject, subcontext, label, userID, sessionID string, ...) error + func (m *LocalStreamManager) UntrackSession(sessionID string) + type Logger interface + Debug func(format string, args ...interface{}) + Error func(format string, args ...interface{}) + Info func(format string, args ...interface{}) + Warn func(format string, args ...interface{}) + type Match interface + MatchInit func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) (interface{}, int, string) + MatchJoin func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) interface{} + MatchJoinAttempt func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) (interface{}, bool, string) + MatchLeave func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) interface{} + MatchLoop func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) interface{} + MatchSignal func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) (interface{}, string) + MatchTerminate func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) interface{} + type MatchData interface + GetData func() []byte + GetOpCode func() int64 + GetReceiveTime func() int64 + GetReliable func() bool + type MatchHandlerFactory func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule) (Match, error) + type MatchInfo struct + Authoritative bool + HandlerName string + Label string + MatchID string + MaxSize int + Size int + type MatchList struct + Matches []*MatchInfo + type MatchRegistry interface + CreateAndRegisterMatch func(ctx context.Context, matchID string, module string, ...) error + GetMatch func(ctx context.Context, matchID string) (*MatchInfo, error) + ListMatches func(ctx context.Context, limit int, authoritative bool, label string, ...) ([]*MatchInfo, error) + MatchSignal func(ctx context.Context, matchID, data string) (string, error) + type MatchmakerMatchedHandler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) (string, error) + type MatchmakerOverrideHandler func(ctx context.Context, matches [][]interface{}) [][]interface + type MatchmakerProcessorHandler func(ctx context.Context, tickets []interface{}) [][]interface + type MatchmakerStatsView struct + CompletionCount int + OldestTicketCreateTime string + TicketCount int + type NotificationList struct + CacheableCursor string + Notifications []*NotificationView + type NotificationSendParams struct + Code int + Content map[string]interface{} + Persistent bool + SenderID string + Subject string + UserID string + type NotificationUpdateParams struct + Content *string + ID string + SenderID *string + Subject *string + type NotificationView struct + Code int16 + Content string + CreateTime time.Time + ID string + Persistent bool + SenderID string + Subject string + UserID string + type PartyListEntry struct + Hidden bool + ID string + Label string + MaxSize int + Open bool + type PartyListView struct + Cursor string + Parties []*PartyListEntry + type PartyLister interface + List func(limit int, open *bool, showHidden bool, query, cursor string) ([]*PartyListEntry, string, error) + type Presence interface + GetNodeId func() string + GetSessionId func() string + GetUserId func() string + GetUsername func() string + type PromoteGroupUsersRequest struct + GroupID string + UserIDs []string + type PurchaseNotificationAppleHandler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) error + type PurchaseNotificationGoogleHandler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) error + type RPCConfig struct + ExecutionTimeoutMs int + HTTPKey string + MaxPayloadBytes int + func DefaultRPCConfig() RPCConfig + type RPCDispatchOpts struct + ClientIP string + Env string + ExecutionMode string + Headers map[string][]string + QueryParams map[string][]string + UserID string + Username string + Vars map[string]string + type RPCDispatcherFunc func(ctx context.Context, id, payload string, opts RPCDispatchOpts) (string, codes.Code, error) + type RPCHandler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) (string, error) + type ReadStorageObjectsRequest struct + ObjectIDs []StorageRead + type RtHookExecutor struct + DB *sql.DB + JSVM *goja.Runtime + Logger Logger + LuaVM *lua.LState + NK RuntimeModule + Registry *HookRegistry + func NewRtHookExecutor(reg *HookRegistry, logger Logger, db *sql.DB, nk RuntimeModule, ...) *RtHookExecutor + func (e *RtHookExecutor) RunAfterReq(ctx context.Context, hookID string, out, in interface{}) error + func (e *RtHookExecutor) RunAfterRt(ctx context.Context, hookID string, out, in map[string]interface{}) error + func (e *RtHookExecutor) RunBeforeReq(ctx context.Context, hookID string, in interface{}) (interface{}, error) + func (e *RtHookExecutor) RunBeforeRt(ctx context.Context, hookID string, envelope map[string]interface{}) (map[string]interface{}, error) + type RuntimeHTTPHandler struct + Handler func(http.ResponseWriter, *http.Request) + Methods []string + PathPattern string + type RuntimeModule interface + AccountDeleteId func(ctx context.Context, userID string) error + AccountGetId func(ctx context.Context, userID string) (*Account, error) + AccountUpdateId func(ctx context.Context, userID, username string, metadata map[string]interface{}, ...) error + AuthenticateCustom func(ctx context.Context, id, username string, create bool) (userID, outUsername string, created bool, err error) + AuthenticateDevice func(ctx context.Context, id, username string, create bool) (userID, outUsername string, created bool, err error) + AuthenticateEmail func(ctx context.Context, email, password, username string, create bool) (userID, outUsername string, created bool, err error) + AuthenticateTokenGenerate func(userID, username string, expiresAt int64, vars map[string]string) (token string, exp int64, err error) + BcryptCompare func(hash, password string) bool + BcryptHash func(password string) (string, error) + ChannelIdBuild func(ctx context.Context, userID, target string, chanType int) (string, error) + ChannelMessageRemove func(ctx context.Context, channelID, messageID, senderID, senderUsername string, ...) (*ChannelMessageAckView, error) + ChannelMessageSend func(ctx context.Context, channelID string, content map[string]interface{}, ...) (*ChannelMessageAckView, error) + ChannelMessageUpdate func(ctx context.Context, channelID, messageID string, ...) (*ChannelMessageAckView, error) + ChannelMessagesList func(ctx context.Context, channelID string, limit int, forward bool, cursor string) ([]*ChannelMessageView, string, string, string, error) + CronNext func(expression string, timestamp int64) (int64, error) + CronPrev func(expression string, timestamp int64) (int64, error) + CryptoHash func(algo, input string) (string, error) + CryptoHmacHash func(algo, key, input string) (string, error) + FriendMetadataUpdate func(ctx context.Context, userID, friendID string, metadata map[string]any) error + FriendsAdd func(ctx context.Context, userID string, ids, usernames []string, ...) error + FriendsBlock func(ctx context.Context, userID string, ids, usernames []string) error + FriendsDelete func(ctx context.Context, userID string, ids, usernames []string) error + FriendsList func(ctx context.Context, userID string, limit int, state *int, cursor string) ([]*FriendEdge, string, error) + FriendsOfFriendsList func(ctx context.Context, userID string, limit int, cursor string) ([]*FriendOfFriendEdge, string, error) + GetSatori func() satori.Satori + GroupCreate func(ctx context.Context, ...) (*GroupView, error) + GroupDelete func(ctx context.Context, groupID, userID string) error + GroupUpdate func(ctx context.Context, ...) error + GroupUserJoin func(ctx context.Context, groupID, userID, username string) error + GroupUserLeave func(ctx context.Context, groupID, userID, username string) error + GroupUsersAdd func(ctx context.Context, groupID, callerID string, userIDs []string) error + GroupUsersBan func(ctx context.Context, groupID, callerID string, userIDs []string) error + GroupUsersDemote func(ctx context.Context, groupID, callerID string, userIDs []string) error + GroupUsersKick func(ctx context.Context, groupID, callerID string, userIDs []string) error + GroupUsersList func(ctx context.Context, groupID string, limit int, cursor string) ([]*GroupUserView, string, error) + GroupUsersPromote func(ctx context.Context, groupID, callerID string, userIDs []string) error + GroupsGetId func(ctx context.Context, groupIDs []string) ([]*GroupView, error) + GroupsGetRandom func(ctx context.Context, count int) ([]*GroupView, error) + GroupsList func(ctx context.Context, name, langTag string, open *bool, members, limit int, ...) ([]*GroupView, string, error) + HttpRequest func(ctx context.Context, url, method string, headers map[string]string, ...) (int, map[string]string, string, error) + LeaderboardCreate func(ctx context.Context, id string, authoritative bool, sortOrder int, ...) error + LeaderboardDelete func(ctx context.Context, id string) error + LeaderboardList func(ctx context.Context, limit int, cursor string) ([]*Leaderboard, string, error) + LeaderboardRanksDisable func(ctx context.Context, id string) error + LeaderboardRecordDelete func(ctx context.Context, id, ownerID string) error + LeaderboardRecordWrite func(ctx context.Context, id, ownerID, username string, score, subscore int64, ...) (*LeaderboardRecord, error) + LeaderboardRecordsAroundOwner func(ctx context.Context, id, ownerID string, limit int, expiry int64) ([]*LeaderboardRecord, error) + LeaderboardRecordsHaystack func(ctx context.Context, id, ownerID string, limit int, cursor string, ...) ([]*LeaderboardRecord, string, string, error) + LeaderboardRecordsList func(ctx context.Context, id string, ownerIDs []string, limit int, cursor string, ...) ([]*LeaderboardRecord, string, string, error) + LeaderboardRecordsListCursorFromRank func(ctx context.Context, leaderboardID string, rank, expiry int64) (string, error) + LeaderboardsGetId func(ctx context.Context, ids []string) ([]*Leaderboard, error) + LinkCustom func(ctx context.Context, userID, customID string) error + LinkDevice func(ctx context.Context, userID, deviceID string) error + LinkEmail func(ctx context.Context, userID, email, password string) error + LocalCacheGet func(key string) (interface{}, bool) + LocalCacheSet func(key string, value interface{}, ttlSec int64) + MatchCreate func(ctx context.Context, module string, params map[string]interface{}) (string, error) + MatchGet func(ctx context.Context, matchID string) (*MatchInfo, error) + MatchList func(ctx context.Context, limit int, authoritative bool, label string, ...) ([]*MatchInfo, error) + MatchSignal func(ctx context.Context, matchID, data string) (string, error) + MultiUpdate func(ctx context.Context, accountUpdates []*AccountUpdateParams, ...) ([]*StorageObjectAck, []*WalletUpdateResultView, error) + NotificationSend func(ctx context.Context, userID, subject string, content map[string]interface{}, ...) error + NotificationSendAll func(ctx context.Context, subject string, content map[string]interface{}, code int, ...) error + NotificationsDelete func(ctx context.Context, userID string, ids []string) error + NotificationsDeleteId func(ctx context.Context, userID string, ids []string) error + NotificationsGetId func(ctx context.Context, userID string, ids []string) ([]*NotificationView, error) + NotificationsList func(ctx context.Context, userID string, limit int, cursor string) ([]*NotificationView, string, error) + NotificationsSend func(ctx context.Context, notifications []*NotificationSendParams) error + NotificationsUpdate func(ctx context.Context, updates []*NotificationUpdateParams) error + PartyList func(ctx context.Context, limit int, open *bool, showHidden bool, ...) ([]*PartyListEntry, string, error) + PurchaseValidateApple func(ctx context.Context, userID, receipt string, persist bool) (*ValidatedPurchaseView, error) + PurchaseValidateFacebookInstant func(ctx context.Context, userID, signedRequest string, persist bool) (*ValidatedPurchaseView, error) + PurchaseValidateGoogle func(ctx context.Context, userID, productID, purchaseToken string, persist bool) (*ValidatedPurchaseView, error) + PurchaseValidateHuawei func(ctx context.Context, userID, purchaseData, signature string, persist bool) (*ValidatedPurchaseView, error) + PurchaseValidateSamsung func(ctx context.Context, userID, purchaseID string, persist bool) (*ValidatedPurchaseView, error) + PurchasesList func(ctx context.Context, userID string, limit int) ([]*ValidatedPurchaseView, error) + RpcCall func(ctx context.Context, id, payload string) (string, error) + SessionDisconnect func(sessionID string) error + SessionLogout func(userID, token, refreshToken string) error + SqlExec func(ctx context.Context, query string, args []interface{}) (int64, error) + SqlQuery func(ctx context.Context, query string, args []interface{}) ([]map[string]interface{}, error) + StatusFollow func(sessionID string, userIDs []string) error + StatusUnfollow func(sessionID string, userIDs []string) error + StorageDelete func(ctx context.Context, deletes []*StorageDelete) error + StorageIndexList func(ctx context.Context, callerID, indexName, query string, limit int, ...) ([]*StorageObject, string, error) + StorageList func(ctx context.Context, callerID, userID, collection string, limit int, ...) ([]*StorageObject, string, error) + StorageRead func(ctx context.Context, reads []*StorageRead) ([]*StorageObject, error) + StorageWrite func(ctx context.Context, writes []*StorageWrite) ([]*StorageObjectAck, error) + StorageWriteRetry func(ctx context.Context, reads []*StorageRead, ...) ([]*StorageObjectAck, error) + StreamClose func(mode int16, subject, subcontext, label string) error + StreamCount func(mode int16, subject, subcontext, label string) (int, error) + StreamSend func(mode int16, subject, subcontext, label, data string, sessionIDs []string, ...) error + StreamSendRaw func(mode int16, subject, subcontext, label string, data []byte, ...) error + StreamUserGet func(mode int16, subject, subcontext, label, userID, sessionID string) (*StreamPresenceView, error) + StreamUserJoin func(mode int16, subject, subcontext, label, userID, sessionID string, ...) (bool, error) + StreamUserKick func(mode int16, subject, subcontext, label string, presence StreamPresenceView) error + StreamUserLeave func(mode int16, subject, subcontext, label, userID, sessionID string) error + StreamUserList func(mode int16, subject, subcontext, label string, ...) ([]StreamPresenceView, error) + StreamUserUpdate func(mode int16, subject, subcontext, label, userID, sessionID string, ...) error + SubscriptionGetProductID func(ctx context.Context, userID, productID string) (*ValidatedSubscriptionView, error) + SubscriptionValidateApple func(ctx context.Context, userID, receipt string, persist bool) (*ValidatedSubscriptionView, error) + SubscriptionValidateGoogle func(ctx context.Context, userID, productID, purchaseToken string, persist bool) (*ValidatedSubscriptionView, error) + SubscriptionsList func(ctx context.Context, userID string, limit int) ([]*ValidatedSubscriptionView, error) + TournamentAddAttempt func(ctx context.Context, id, ownerID string, count int) error + TournamentCreate func(ctx context.Context, id string, authoritative bool, sortOrder, operator int, ...) error + TournamentDelete func(ctx context.Context, id string) error + TournamentJoin func(ctx context.Context, id, ownerID, username string) error + TournamentList func(ctx context.Context, categoryStart, categoryEnd int, startTime, endTime int64, ...) ([]*TournamentView, string, error) + TournamentRanksDisable func(ctx context.Context, id string) error + TournamentRecordDelete func(ctx context.Context, id, ownerID string) error + TournamentRecordWrite func(ctx context.Context, id, ownerID, username string, score, subscore int64, ...) (*LeaderboardRecord, error) + TournamentRecordsAroundOwner func(ctx context.Context, id, ownerID string, limit int, expiry int64) ([]*LeaderboardRecord, error) + TournamentRecordsHaystack func(ctx context.Context, id, ownerID string, limit int, cursor string, ...) ([]*LeaderboardRecord, string, string, error) + TournamentRecordsList func(ctx context.Context, id string, ownerIDs []string, limit int, cursor string, ...) ([]*LeaderboardRecord, string, string, error) + TournamentsGetId func(ctx context.Context, ids []string) ([]*Leaderboard, error) + UnlinkCustom func(ctx context.Context, userID string) error + UnlinkDevice func(ctx context.Context, userID, deviceID string) error + UnlinkEmail func(ctx context.Context, userID string) error + UserGroupsList func(ctx context.Context, userID string, limit int, cursor string) ([]*UserGroupView, string, error) + UsersBanId func(ctx context.Context, userIDs []string) error + UsersGetFriendStatus func(ctx context.Context, userID string, friendIDs []string) (map[string]int, error) + UsersGetId func(ctx context.Context, userIDs []string) ([]*UserView, error) + UsersGetRandom func(ctx context.Context, count int) ([]*UserView, error) + UsersGetUsername func(ctx context.Context, usernames []string) ([]*UserView, error) + UsersUnbanId func(ctx context.Context, userIDs []string) error + UuidV4 func() string + WalletLedgerList func(ctx context.Context, userID string, limit int, cursor string) ([]*WalletLedgerView, string, error) + WalletLedgerUpdate func(ctx context.Context, ledgerID, userID string, metadata map[string]interface{}) error + WalletUpdate func(ctx context.Context, userID string, changeset map[string]int64, ...) (updated, previous map[string]int64, err error) + WalletsUpdate func(ctx context.Context, updates []*WalletUpdateParams, updateLedger bool) ([]*WalletUpdateResultView, error) + type RuntimeType int + const RuntimeGo + const RuntimeJS + const RuntimeLua + type Sandbox struct + L *lua.LState + func NewSandbox(memoryLimit int64, cpuTimeout time.Duration) *Sandbox + func (s *Sandbox) Close() + func (s *Sandbox) Run(ctx context.Context, script string) (string, error) + type Session struct + AccessToken string + RefreshToken string + UserID string + Username string + type SessionDisconnecter interface + DisconnectSession func(sessionID string) error + type SessionLogoutRequest struct + RefreshToken string + Token string + type SessionRefreshRequest struct + Token string + Vars map[string]string + type ShutdownHandler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule) + type StatusFollower interface + StatusFollow func(sessionID string, userIDs []string) error + StatusUnfollow func(sessionID string, userIDs []string) error + type StorageDelete struct + Collection string + Key string + UserID string + Version string + type StorageObject struct + Collection string + CreateTime time.Time + Key string + PermissionRead int32 + PermissionWrite int32 + UpdateTime time.Time + UserID string + Value string + Version string + type StorageObjectAck struct + Collection string + CreateTime time.Time + Key string + UpdateTime time.Time + UserID string + Version string + type StorageObjectAcks struct + Acks []*StorageObjectAck + type StorageObjectList struct + Cursor string + Objects []*StorageObject + type StorageRead struct + Collection string + Key string + UserID string + type StorageWrite struct + Collection string + Key string + PermissionRead int32 + PermissionWrite int32 + UserID string + Value string + Version string + type StreamManager interface + SessionDisconnect func(sessionID string) error + StreamClose func(mode int16, subject, subcontext, label string) error + StreamCount func(mode int16, subject, subcontext, label string) (int, error) + StreamSend func(mode int16, subject, subcontext, label, data string, sessionIDs []string, ...) error + StreamSendRaw func(mode int16, subject, subcontext, label string, data []byte, ...) error + StreamUserGet func(mode int16, subject, subcontext, label, userID, sessionID string) (*StreamPresenceView, error) + StreamUserJoin func(mode int16, subject, subcontext, label, userID, sessionID string, ...) (bool, error) + StreamUserKick func(mode int16, subject, subcontext, label string, presence StreamPresenceView) error + StreamUserLeave func(mode int16, subject, subcontext, label, userID, sessionID string) error + StreamUserList func(mode int16, subject, subcontext, label string, ...) ([]StreamPresenceView, error) + StreamUserUpdate func(mode int16, subject, subcontext, label, userID, sessionID string, ...) error + UntrackSession func(sessionID string) + type StreamPresenceView struct + Hidden bool + SessionID string + Status string + UserID string + Username string + type SubscriptionList struct + Cursor string + PrevCursor string + ValidatedSubscriptions []*ValidatedSubscriptionView + type SubscriptionNotificationAppleHandler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) error + type SubscriptionNotificationGoogleHandler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) error + type TournamentEndHandler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) error + type TournamentList struct + NextCursor string + Tournaments []*TournamentView + type TournamentResetHandler func(ctx context.Context, logger Logger, db *sql.DB, nk RuntimeModule, ...) error + type TournamentView struct + CanEnter bool + EndActive int64 + NextReset int64 + PrevReset int64 + StartActive int64 + type UnlinkAppleRequest struct + Token string + type UnlinkCustomRequest struct + ID string + type UnlinkDeviceRequest struct + ID string + type UnlinkEmailRequest struct + Email string + type UnlinkFacebookInstantGameRequest struct + SignedPlayerInfo string + type UnlinkFacebookRequest struct + Token string + type UnlinkGameCenterRequest struct + PlayerID string + type UnlinkGoogleRequest struct + Token string + type UnlinkSteamRequest struct + Token string + type UpdateAccountRequest struct + AvatarURL string + DisplayName string + LangTag string + Location string + Metadata string + Timezone string + Username string + type UpdateGroupRequest struct + AvatarURL string + Description string + GroupID string + LangTag string + Metadata string + Name string + Open *bool + type UserGroupList struct + NextCursor string + UserGroups []*UserGroupView + type UserGroupView struct + Group *GroupView + State int + type UserView struct + AvatarURL string + CreateTime time.Time + DisplayName string + EdgeCount int + ID string + LangTag string + Location string + Metadata string + Online bool + Timezone string + UpdateTime time.Time + Username string + type UsersList struct + Users []*UserView + type ValidatePurchaseAppleRequest struct + Persist *bool + Receipt string + type ValidatePurchaseFacebookInstantRequest struct + Persist *bool + SignedRequest string + type ValidatePurchaseGoogleRequest struct + Persist *bool + ProductID string + PurchaseToken string + type ValidatePurchaseHuaweiRequest struct + Persist *bool + Purchase string + Signature string + type ValidatePurchaseResponse struct + ValidatedPurchases []*ValidatedPurchaseView + type ValidatePurchaseSamsungRequest struct + Persist *bool + PurchaseID string + type ValidateSubscriptionAppleRequest struct + Persist *bool + Receipt string + type ValidateSubscriptionGoogleRequest struct + Persist *bool + ProductID string + PurchaseToken string + type ValidateSubscriptionResponse struct + ValidatedSubscription *ValidatedSubscriptionView + type ValidatedPurchaseView struct + Environment int + ProductID string + PurchaseTime time.Time + SeenBefore bool + Store int + TransactionID string + UserID string + type ValidatedSubscriptionView struct + Active bool + Environment int + ExpireTime time.Time + OriginalTransactionID string + ProductID string + PurchaseTime time.Time + SeenBefore bool + Store int + UserID string + type WalletLedgerView struct + Changeset map[string]int64 + CreateTime time.Time + ID string + Metadata map[string]interface{} + UpdateTime time.Time + UserID string + type WalletUpdateParams struct + Changeset map[string]int64 + Metadata map[string]interface{} + UserID string + type WalletUpdateResultView struct + Previous map[string]int64 + Updated map[string]int64 + UserID string + type WriteLeaderboardRecordRequest struct + LeaderboardID string + Metadata string + Score int64 + Subscore int64 + type WriteStorageObjectsRequest struct + Objects []*StorageWrite + type WriteTournamentRecordRequest struct + Metadata string + Score int64 + Subscore int64 + TournamentID string