Documentation
¶
Index ¶
- Variables
- func CreateSession(gameId string, userId int32, clientLibVersion uint16) string
- type CloudFiles
- type CloudfilesIndex
- type Credential
- type Credentials
- type Game
- type MainAdvertisement
- func (adv *MainAdvertisement) EncodePeers() []i.A
- func (adv *MainAdvertisement) GetHostId() int32
- func (adv *MainAdvertisement) GetId() int32
- func (adv *MainAdvertisement) GetIp() string
- func (adv *MainAdvertisement) GetPeers() *i.SafeOrderedMap[int32, *MainPeer]
- func (adv *MainAdvertisement) GetRelayRegion() string
- func (adv *MainAdvertisement) MakeMessage(broadcast bool, content string, typeId uint8, sender *MainUser, ...) *MainMessage
- func (adv *MainAdvertisement) UnsafeEncode(gameId string) i.A
- func (adv *MainAdvertisement) UnsafeGetAppBinaryChecksum() int32
- func (adv *MainAdvertisement) UnsafeGetDataChecksum() int32
- func (adv *MainAdvertisement) UnsafeGetDescription() string
- func (adv *MainAdvertisement) UnsafeGetJoinable() bool
- func (adv *MainAdvertisement) UnsafeGetMatchType() uint8
- func (adv *MainAdvertisement) UnsafeGetModDllChecksum() int32
- func (adv *MainAdvertisement) UnsafeGetModDllFile() string
- func (adv *MainAdvertisement) UnsafeGetModName() string
- func (adv *MainAdvertisement) UnsafeGetModVersion() string
- func (adv *MainAdvertisement) UnsafeGetObserversDelay() uint32
- func (adv *MainAdvertisement) UnsafeGetPasswordValue() string
- func (adv *MainAdvertisement) UnsafeGetPlatformSessionId() uint64
- func (adv *MainAdvertisement) UnsafeGetStartTime() int64
- func (adv *MainAdvertisement) UnsafeGetState() int8
- func (adv *MainAdvertisement) UnsafeGetVersionFlags() uint32
- func (adv *MainAdvertisement) UnsafeGetVisible() bool
- func (adv *MainAdvertisement) UnsafeUpdatePlatformSessionId(sessionId uint64)
- func (adv *MainAdvertisement) UnsafeUpdateState(state int8)
- type MainAdvertisements
- func (advs *MainAdvertisements) GetAdvertisement(id int32) (*MainAdvertisement, bool)
- func (advs *MainAdvertisements) GetUserAdvertisement(userId int32) *MainAdvertisement
- func (advs *MainAdvertisements) Initialize(users *MainUsers)
- func (advs *MainAdvertisements) LockedFindAdvertisementsEncoded(gameId string, preMatchesLocking bool, ...) []i.A
- func (advs *MainAdvertisements) Store(advFrom *shared.AdvertisementHostRequest) *MainAdvertisement
- func (advs *MainAdvertisements) UnsafeDelete(adv *MainAdvertisement)
- func (advs *MainAdvertisements) UnsafeFirstAdvertisement(matches func(adv *MainAdvertisement) bool) *MainAdvertisement
- func (advs *MainAdvertisements) UnsafeNewPeer(advertisementId int32, advertisementIp string, userId int32, userStatId int32, ...) *MainPeer
- func (advs *MainAdvertisements) UnsafeRemovePeer(advertisementId int32, userId int32) bool
- func (advs *MainAdvertisements) UpdateUnsafe(adv *MainAdvertisement, advFrom *shared.AdvertisementUpdateRequest)
- func (advs *MainAdvertisements) WithReadLock(id int32, action func())
- func (advs *MainAdvertisements) WithWriteLock(id int32, action func())
- type MainChatChannel
- func (channel *MainChatChannel) AddUser(user *MainUser, gameId string, clientLibVersion uint16) (exists bool, encodedUsers internal.A)
- func (channel *MainChatChannel) GetId() int32
- func (channel *MainChatChannel) GetUsers() iter.Seq[*MainUser]
- func (channel *MainChatChannel) HasUser(user *MainUser) bool
- func (channel *MainChatChannel) RemoveUser(user *MainUser) bool
- type MainChatChannels
- type MainGame
- type MainMessage
- func (message *MainMessage) Encode() i.A
- func (message *MainMessage) GetAdvertisementId() int32
- func (message *MainMessage) GetBroadcast() bool
- func (message *MainMessage) GetContent() string
- func (message *MainMessage) GetReceivers() []*MainUser
- func (message *MainMessage) GetSender() *MainUser
- func (message *MainMessage) GetTime() int64
- func (message *MainMessage) GetType() uint8
- type MainPeer
- type MainPeerMutable
- type MainResources
- type MainUser
- func (u *MainUser) GetAlias() string
- func (u *MainUser) GetExtraProfileInfo(gameId string, clientLibVersion uint16) i.A
- func (u *MainUser) GetId() int32
- func (u *MainUser) GetPlatformId() int
- func (u *MainUser) GetPlatformPath() string
- func (u *MainUser) GetPlatformUserID() uint64
- func (u *MainUser) GetPresence() int32
- func (u *MainUser) GetProfileId() int32
- func (u *MainUser) GetProfileInfo(includePresence bool, gameId string, clientLibVersion uint16) i.A
- func (u *MainUser) GetProfileMetadata() string
- func (u *MainUser) GetProfileUintFlag1() uint8
- func (u *MainUser) GetProfileUintFlag2() uint8
- func (u *MainUser) GetReliclink() int32
- func (u *MainUser) GetStatId() int32
- func (u *MainUser) SetPresence(presence int32)
- type MainUsers
- func (users *MainUsers) GetOrCreateUser(gameId string, remoteAddr string, remoteMacAddress string, isXbox bool, ...) *MainUser
- func (users *MainUsers) GetProfileInfo(includePresence bool, matches func(user *MainUser) bool, gameId string, ...) []i.A
- func (users *MainUsers) GetUserById(id int32) (*MainUser, bool)
- func (users *MainUsers) GetUserByStatId(id int32) (*MainUser, bool)
- func (users *MainUsers) GetUserIds() func(func(int32) bool)
- func (users *MainUsers) Initialize()
- type ModDll
- type Observers
- type Password
- type Session
- func (sess *Session) AddMessage(message internal.A)
- func (sess *Session) Delete()
- func (sess *Session) GetClientLibVersion() uint16
- func (sess *Session) GetGameId() string
- func (sess *Session) GetId() string
- func (sess *Session) GetUserId() int32
- func (sess *Session) ResetExpiryTimer()
- func (sess *Session) WaitForMessages(ackNum uint) (uint, []internal.A)
Constants ¶
This section is empty.
Variables ¶
var CloudFolder = filepath.Join(responsesFolder, "cloud")
Functions ¶
Types ¶
type CloudFiles ¶
type CloudFiles struct {
Value map[string]CloudfilesIndex
Credentials *Credentials
// contains filtered or unexported fields
}
func BuildCloudfilesIndex ¶
func BuildCloudfilesIndex(configFolder string, baseFolder string) *CloudFiles
func (*CloudFiles) GetByKey ¶
func (m *CloudFiles) GetByKey(key string) (string, *CloudfilesIndex, bool)
type CloudfilesIndex ¶
type Credential ¶
type Credential struct {
// contains filtered or unexported fields
}
func (*Credential) GetExpiry ¶
func (cred *Credential) GetExpiry() time.Time
func (*Credential) GetKey ¶
func (cred *Credential) GetKey() string
func (*Credential) GetSignature ¶
func (cred *Credential) GetSignature() string
type Credentials ¶
type Credentials struct {
// contains filtered or unexported fields
}
func (*Credentials) CreateCredentials ¶
func (creds *Credentials) CreateCredentials(key string) *Credential
func (*Credentials) GetCredentials ¶
func (creds *Credentials) GetCredentials(signature string) (*Credential, bool)
func (*Credentials) Initialize ¶
func (creds *Credentials) Initialize()
type Game ¶
type Game interface {
Resources() *MainResources
Users() *MainUsers
Advertisements() *MainAdvertisements
ChatChannels() *MainChatChannels
Title() string
}
type MainAdvertisement ¶
type MainAdvertisement struct {
// contains filtered or unexported fields
}
func (*MainAdvertisement) EncodePeers ¶
func (adv *MainAdvertisement) EncodePeers() []i.A
func (*MainAdvertisement) GetHostId ¶ added in v1.7.2
func (adv *MainAdvertisement) GetHostId() int32
func (*MainAdvertisement) GetId ¶
func (adv *MainAdvertisement) GetId() int32
func (*MainAdvertisement) GetIp ¶
func (adv *MainAdvertisement) GetIp() string
func (*MainAdvertisement) GetPeers ¶
func (adv *MainAdvertisement) GetPeers() *i.SafeOrderedMap[int32, *MainPeer]
func (*MainAdvertisement) GetRelayRegion ¶
func (adv *MainAdvertisement) GetRelayRegion() string
func (*MainAdvertisement) MakeMessage ¶ added in v1.7.2
func (adv *MainAdvertisement) MakeMessage(broadcast bool, content string, typeId uint8, sender *MainUser, receivers []*MainUser) *MainMessage
func (*MainAdvertisement) UnsafeEncode ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeEncode(gameId string) i.A
UnsafeEncode requires advertisement read lock
func (*MainAdvertisement) UnsafeGetAppBinaryChecksum ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetAppBinaryChecksum() int32
UnsafeGetAppBinaryChecksum requires advertisement read lock
func (*MainAdvertisement) UnsafeGetDataChecksum ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetDataChecksum() int32
UnsafeGetDataChecksum requires advertisement read lock
func (*MainAdvertisement) UnsafeGetDescription ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetDescription() string
UnsafeGetDescription requires advertisement read lock
func (*MainAdvertisement) UnsafeGetJoinable ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetJoinable() bool
UnsafeGetJoinable requires advertisement read lock
func (*MainAdvertisement) UnsafeGetMatchType ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetMatchType() uint8
UnsafeGetMatchType requires advertisement read lock
func (*MainAdvertisement) UnsafeGetModDllChecksum ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetModDllChecksum() int32
UnsafeGetModDllChecksum requires advertisement read lock
func (*MainAdvertisement) UnsafeGetModDllFile ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetModDllFile() string
UnsafeGetModDllFile requires advertisement read lock
func (*MainAdvertisement) UnsafeGetModName ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetModName() string
UnsafeGetModName requires advertisement read lock
func (*MainAdvertisement) UnsafeGetModVersion ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetModVersion() string
UnsafeGetModVersion requires advertisement read lock
func (*MainAdvertisement) UnsafeGetObserversDelay ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetObserversDelay() uint32
UnsafeGetObserversDelay requires advertisement read lock
func (*MainAdvertisement) UnsafeGetPasswordValue ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetPasswordValue() string
UnsafeGetPasswordValue requires advertisement read lock
func (*MainAdvertisement) UnsafeGetPlatformSessionId ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetPlatformSessionId() uint64
UnsafeGetPlatformSessionId requires advertisement read lock
func (*MainAdvertisement) UnsafeGetStartTime ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetStartTime() int64
UnsafeGetStartTime requires advertisement read lock
func (*MainAdvertisement) UnsafeGetState ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetState() int8
UnsafeGetState requires advertisement read lock
func (*MainAdvertisement) UnsafeGetVersionFlags ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetVersionFlags() uint32
UnsafeGetVersionFlags requires advertisement read lock
func (*MainAdvertisement) UnsafeGetVisible ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeGetVisible() bool
UnsafeGetVisible requires advertisement read lock
func (*MainAdvertisement) UnsafeUpdatePlatformSessionId ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeUpdatePlatformSessionId(sessionId uint64)
UnsafeUpdatePlatformSessionId requires advertisement write lock
func (*MainAdvertisement) UnsafeUpdateState ¶ added in v1.7.2
func (adv *MainAdvertisement) UnsafeUpdateState(state int8)
UnsafeUpdateState is only safe if advertisement has not been added yet
type MainAdvertisements ¶
type MainAdvertisements struct {
// contains filtered or unexported fields
}
func (*MainAdvertisements) GetAdvertisement ¶
func (advs *MainAdvertisements) GetAdvertisement(id int32) (*MainAdvertisement, bool)
func (*MainAdvertisements) GetUserAdvertisement ¶ added in v1.7.2
func (advs *MainAdvertisements) GetUserAdvertisement(userId int32) *MainAdvertisement
func (*MainAdvertisements) Initialize ¶
func (advs *MainAdvertisements) Initialize(users *MainUsers)
func (*MainAdvertisements) LockedFindAdvertisementsEncoded ¶ added in v1.7.2
func (advs *MainAdvertisements) LockedFindAdvertisementsEncoded(gameId string, preMatchesLocking bool, matches func(adv *MainAdvertisement) bool) []i.A
func (*MainAdvertisements) Store ¶
func (advs *MainAdvertisements) Store(advFrom *shared.AdvertisementHostRequest) *MainAdvertisement
func (*MainAdvertisements) UnsafeDelete ¶ added in v1.7.2
func (advs *MainAdvertisements) UnsafeDelete(adv *MainAdvertisement)
UnsafeDelete requires advertisement write lock
func (*MainAdvertisements) UnsafeFirstAdvertisement ¶ added in v1.7.2
func (advs *MainAdvertisements) UnsafeFirstAdvertisement(matches func(adv *MainAdvertisement) bool) *MainAdvertisement
UnsafeFirstAdvertisement requires advertisement read lock unless only safe advertisement properties are checked
func (*MainAdvertisements) UnsafeNewPeer ¶ added in v1.7.2
func (advs *MainAdvertisements) UnsafeNewPeer(advertisementId int32, advertisementIp string, userId int32, userStatId int32, race int32, team int32) *MainPeer
UnsafeNewPeer requires advertisement write lock
func (*MainAdvertisements) UnsafeRemovePeer ¶ added in v1.7.2
func (advs *MainAdvertisements) UnsafeRemovePeer(advertisementId int32, userId int32) bool
UnsafeRemovePeer requires advertisement write lock
func (*MainAdvertisements) UpdateUnsafe ¶ added in v1.7.2
func (advs *MainAdvertisements) UpdateUnsafe(adv *MainAdvertisement, advFrom *shared.AdvertisementUpdateRequest)
UpdateUnsafe is safe only if adv has not been stored yet
func (*MainAdvertisements) WithReadLock ¶ added in v1.7.2
func (advs *MainAdvertisements) WithReadLock(id int32, action func())
func (*MainAdvertisements) WithWriteLock ¶ added in v1.7.2
func (advs *MainAdvertisements) WithWriteLock(id int32, action func())
type MainChatChannel ¶
func (*MainChatChannel) GetId ¶
func (channel *MainChatChannel) GetId() int32
func (*MainChatChannel) HasUser ¶
func (channel *MainChatChannel) HasUser(user *MainUser) bool
func (*MainChatChannel) RemoveUser ¶
func (channel *MainChatChannel) RemoveUser(user *MainUser) bool
type MainChatChannels ¶
type MainChatChannels struct {
// contains filtered or unexported fields
}
func (*MainChatChannels) Encode ¶
func (channels *MainChatChannels) Encode() internal.A
func (*MainChatChannels) GetById ¶
func (channels *MainChatChannels) GetById(id int32) (*MainChatChannel, bool)
func (*MainChatChannels) Initialize ¶
func (channels *MainChatChannels) Initialize(chatChannels map[string]MainChatChannel)
func (*MainChatChannels) Iter ¶ added in v1.7.2
func (channels *MainChatChannels) Iter() iter.Seq2[int32, *MainChatChannel]
type MainGame ¶
type MainGame struct {
// contains filtered or unexported fields
}
func (*MainGame) Advertisements ¶
func (g *MainGame) Advertisements() *MainAdvertisements
func (*MainGame) ChatChannels ¶
func (g *MainGame) ChatChannels() *MainChatChannels
func (*MainGame) Resources ¶
func (g *MainGame) Resources() *MainResources
type MainMessage ¶
type MainMessage struct {
// contains filtered or unexported fields
}
func (*MainMessage) Encode ¶
func (message *MainMessage) Encode() i.A
func (*MainMessage) GetAdvertisementId ¶
func (message *MainMessage) GetAdvertisementId() int32
func (*MainMessage) GetBroadcast ¶
func (message *MainMessage) GetBroadcast() bool
func (*MainMessage) GetContent ¶
func (message *MainMessage) GetContent() string
func (*MainMessage) GetReceivers ¶
func (message *MainMessage) GetReceivers() []*MainUser
func (*MainMessage) GetSender ¶
func (message *MainMessage) GetSender() *MainUser
func (*MainMessage) GetTime ¶
func (message *MainMessage) GetTime() int64
func (*MainMessage) GetType ¶
func (message *MainMessage) GetType() uint8
type MainPeer ¶
type MainPeer struct {
// contains filtered or unexported fields
}
func (*MainPeer) GetMutable ¶ added in v1.7.2
func (peer *MainPeer) GetMutable() *MainPeerMutable
func (*MainPeer) UpdateMutable ¶ added in v1.7.2
type MainPeerMutable ¶ added in v1.7.2
type MainResources ¶
type MainResources struct {
ChatChannels map[string]MainChatChannel
LoginData []i.A
ArrayFiles map[string]i.A
KeyedFiles map[string][]byte
CloudFiles CloudFiles
// contains filtered or unexported fields
}
func (*MainResources) Initialize ¶
func (r *MainResources) Initialize(gameId string, keyedFilenames mapset.Set[string])
func (*MainResources) ReturnSignedAsset ¶
func (r *MainResources) ReturnSignedAsset(name string, w *http.ResponseWriter, req *http.Request, keyedResponse bool)
type MainUser ¶
type MainUser struct {
// contains filtered or unexported fields
}
func (*MainUser) GetExtraProfileInfo ¶
func (*MainUser) GetPlatformId ¶
func (*MainUser) GetPlatformPath ¶
func (*MainUser) GetPlatformUserID ¶
func (*MainUser) GetPresence ¶
func (*MainUser) GetProfileId ¶
func (*MainUser) GetProfileInfo ¶
func (*MainUser) GetProfileMetadata ¶
func (*MainUser) GetProfileUintFlag1 ¶
func (*MainUser) GetProfileUintFlag2 ¶ added in v1.6.0
func (*MainUser) GetReliclink ¶
func (*MainUser) SetPresence ¶
type MainUsers ¶
type MainUsers struct {
// contains filtered or unexported fields
}
func (*MainUsers) GetOrCreateUser ¶
func (*MainUsers) GetProfileInfo ¶
func (*MainUsers) GetUserByStatId ¶
func (*MainUsers) GetUserIds ¶
func (*MainUsers) Initialize ¶
func (users *MainUsers) Initialize()
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
func GetSessionById ¶
func GetSessionByUserId ¶
func (*Session) AddMessage ¶
func (*Session) GetClientLibVersion ¶ added in v1.7.2
func (*Session) ResetExpiryTimer ¶
func (sess *Session) ResetExpiryTimer()