Nakama .NET 3.1.1
.NET client for Nakama server written in C
Nakama Namespace Reference

Namespaces

namespace  Console
 
namespace  Ninja
 
namespace  TinyJson
 

Classes

class  ApiAccount
 
class  ApiAccountApple
 
class  ApiAccountCustom
 
class  ApiAccountDevice
 
class  ApiAccountEmail
 
class  ApiAccountFacebook
 
class  ApiAccountFacebookInstantGame
 
class  ApiAccountGameCenter
 
class  ApiAccountGoogle
 
class  ApiAccountSteam
 
class  ApiChannelMessage
 
class  ApiChannelMessageList
 
class  ApiClient
 The low level client for the Nakama API.
 
class  ApiCreateGroupRequest
 
class  ApiDeleteStorageObjectId
 
class  ApiDeleteStorageObjectsRequest
 
class  ApiEvent
 
class  ApiFriend
 
class  ApiFriendList
 
class  ApiGroup
 
class  ApiGroupList
 
class  ApiGroupUserList
 
class  ApiLeaderboardRecord
 
class  ApiLeaderboardRecordList
 
class  ApiLinkSteamRequest
 
class  ApiMatch
 
class  ApiMatchList
 
class  ApiNotification
 
class  ApiNotificationList
 
class  ApiReadStorageObjectId
 
class  ApiReadStorageObjectsRequest
 
class  ApiResponseException
 An exception generated for HttpResponse objects don't return a success status. More...
 
class  ApiRpc
 
class  ApiSession
 
class  ApiSessionLogoutRequest
 
class  ApiSessionRefreshRequest
 
class  ApiStorageObject
 
class  ApiStorageObjectAck
 
class  ApiStorageObjectAcks
 
class  ApiStorageObjectList
 
class  ApiStorageObjects
 
class  ApiTournament
 
class  ApiTournamentList
 
class  ApiTournamentRecordList
 
class  ApiUpdateAccountRequest
 
class  ApiUpdateGroupRequest
 
class  ApiUser
 
class  ApiUserGroupList
 
class  ApiUsers
 
class  ApiValidatedPurchase
 
class  ApiValidatePurchaseAppleRequest
 
class  ApiValidatePurchaseGoogleRequest
 
class  ApiValidatePurchaseHuaweiRequest
 
class  ApiValidatePurchaseResponse
 
class  ApiWriteStorageObject
 
class  ApiWriteStorageObjectsRequest
 
class  Channel
 
class  ChannelJoinMessage
 Send a channel join message to the server.
 
class  ChannelLeaveMessage
 A leave message to a chat channel.
 
class  ChannelMessageAck
 
class  ChannelPresenceEvent
 
class  ChannelRemoveMessage
 Remove a message from a chat channel.
 
class  ChannelSendMessage
 Send a chat message to a channel on the server.
 
class  ChannelUpdateMessage
 Update a chat message which has been sent to a channel.
 
class  Client
 
class  GroupUserListGroupUser
 
class  GZipContent
 
class  GZipHttpClientHandler
 
class  HttpRequestAdapter
 HTTP Request adapter which uses the .NET HttpClient to send requests. More...
 
interface  IApiAccount
 A user with additional account details. Always the current user. More...
 
interface  IApiAccountApple
 Send a Apple Sign In token to the server. Used with authenticate/link/unlink. More...
 
interface  IApiAccountCustom
 Send a custom ID to the server. Used with authenticate/link/unlink. More...
 
interface  IApiAccountDevice
 Send a device to the server. Used with authenticate/link/unlink and user. More...
 
interface  IApiAccountEmail
 Send an email with password to the server. Used with authenticate/link/unlink. More...
 
interface  IApiAccountFacebook
 Send a Facebook token to the server. Used with authenticate/link/unlink. More...
 
interface  IApiAccountFacebookInstantGame
 Send a Facebook Instant Game token to the server. Used with authenticate/link/unlink. More...
 
interface  IApiAccountGameCenter
 Send Apple's Game Center account credentials to the server. Used with authenticate/link/unlink. More...
 
interface  IApiAccountGoogle
 Send a Google token to the server. Used with authenticate/link/unlink. More...
 
interface  IApiAccountSteam
 Send a Steam token to the server. Used with authenticate/link/unlink. More...
 
interface  IApiChannelMessage
 A message sent on a channel. More...
 
interface  IApiChannelMessageList
 A list of channel messages, usually a result of a list operation. More...
 
interface  IApiCreateGroupRequest
 Create a group with the current user as owner. More...
 
interface  IApiDeleteStorageObjectId
 Storage objects to delete. More...
 
interface  IApiDeleteStorageObjectsRequest
 Batch delete storage objects. More...
 
interface  IApiEvent
 Represents an event to be passed through the server to registered event handlers. More...
 
interface  IApiFriend
 A friend of a user. More...
 
interface  IApiFriendList
 A collection of zero or more friends of the user. More...
 
interface  IApiGroup
 A group in the server. More...
 
interface  IApiGroupList
 One or more groups returned from a listing operation. More...
 
interface  IApiGroupUserList
 A list of users belonging to a group, along with their role. More...
 
interface  IApiLeaderboardRecord
 Represents a complete leaderboard record with all scores and associated metadata. More...
 
interface  IApiLeaderboardRecordList
 A set of leaderboard records, may be part of a leaderboard records page or a batch of individual records. More...
 
interface  IApiLinkSteamRequest
 Link Steam to the current user's account. More...
 
interface  IApiMatch
 Represents a realtime match. More...
 
interface  IApiMatchList
 A list of realtime matches. More...
 
interface  IApiNotification
 A notification in the server. More...
 
interface  IApiNotificationList
 A collection of zero or more notifications. More...
 
interface  IApiReadStorageObjectId
 Storage objects to get. More...
 
interface  IApiReadStorageObjectsRequest
 Batch get storage objects. More...
 
interface  IApiRpc
 Execute an Lua function on the server. More...
 
interface  IApiSession
 A user's session used to authenticate messages. More...
 
interface  IApiSessionLogoutRequest
 Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user. More...
 
interface  IApiSessionRefreshRequest
 Authenticate against the server with a refresh token. More...
 
interface  IApiStorageObject
 An object within the storage engine. More...
 
interface  IApiStorageObjectAck
 A storage acknowledgement. More...
 
interface  IApiStorageObjectAcks
 Batch of acknowledgements for the storage object write. More...
 
interface  IApiStorageObjectList
 List of storage objects. More...
 
interface  IApiStorageObjects
 Batch of storage objects. More...
 
interface  IApiTournament
 A tournament on the server. More...
 
interface  IApiTournamentList
 A list of tournaments. More...
 
interface  IApiTournamentRecordList
 A set of tournament records which may be part of a tournament records page or a batch of individual records. More...
 
interface  IApiUpdateAccountRequest
 Update a user's account details. More...
 
interface  IApiUpdateGroupRequest
 Update fields in a given group. More...
 
interface  IApiUser
 A user in the server. More...
 
interface  IApiUserGroupList
 A list of groups belonging to a user, along with the user's role in each group. More...
 
interface  IApiUsers
 A collection of zero or more users. More...
 
interface  IApiValidatedPurchase
 Validated Purchase stored by Nakama. More...
 
interface  IApiValidatePurchaseAppleRequest
 Apple IAP Purchases validation request More...
 
interface  IApiValidatePurchaseGoogleRequest
 Google IAP Purchase validation request More...
 
interface  IApiValidatePurchaseHuaweiRequest
 Huawei IAP Purchase validation request More...
 
interface  IApiValidatePurchaseResponse
 Validate IAP response More...
 
interface  IApiWriteStorageObject
 The object to store. More...
 
interface  IApiWriteStorageObjectsRequest
 Write objects to the storage engine. More...
 
interface  IChannel
 A chat channel on the server. More...
 
interface  IChannelMessageAck
 An acknowledgement from the server when a chat message is delivered to a channel. More...
 
interface  IChannelPresenceEvent
 A batch of join and leave presences on a chat channel. More...
 
interface  IClient
 A client for the API in Nakama server. More...
 
interface  IGroupUserListGroupUser
 A single user-role pair. More...
 
interface  IHttpAdapter
 An adapter which implements the HTTP protocol. More...
 
class  IHttpAdapterUtil
 Utility methods for the interface. NOTE: DO NOT USE EXTENSION METHODS as Unity cannot cross-compile them properly to WebGL.
 
interface  ILogger
 A simple logger to write log messages to an output sink. More...
 
interface  IMatch
 A multiplayer match. More...
 
interface  IMatchmakerMatched
 The result of a successful matchmaker operation sent to the server. More...
 
interface  IMatchmakerTicket
 The matchmaker ticket received from the server. More...
 
interface  IMatchmakerUser
 The user with the parameters they sent to the server when asking for opponents. More...
 
interface  IMatchPresenceEvent
 A batch of join and leave presences for a match. More...
 
interface  IMatchState
 Some game state update in a match. More...
 
interface  IParty
 Incoming information about a party. More...
 
interface  IPartyClose
 End a party, kicking all party members and closing it. More...
 
interface  IPartyData
 Incoming party data delivered from the server. More...
 
interface  IPartyJoinRequest
 Incoming notification for one or more new presences attempting to join the party. More...
 
interface  IPartyLeader
 Announcement of a new party leader. More...
 
interface  IPartyMatchmakerTicket
 A response from starting a new party matchmaking process. More...
 
interface  IPartyPresenceEvent
 Presence update for a particular party. More...
 
interface  IProtobufAny
 
interface  IRpcStatus
 
interface  ISession
 A session authenticated for a user with Nakama server. More...
 
interface  ISocket
 A socket to interact with Nakama server. More...
 
interface  ISocketAdapter
 An adapter which implements a socket with a protocol supported by Nakama. More...
 
interface  IStatus
 Receive status updates for users. More...
 
interface  IStatusPresenceEvent
 A status update event about other users who've come online or gone offline. More...
 
interface  IStream
 A realtime socket stream on the server. More...
 
interface  IStreamPresenceEvent
 A batch of joins and leaves on the low level stream. More...
 
interface  IStreamState
 A state change received from a stream. More...
 
interface  IUserGroupListUserGroup
 A single group-role pair. More...
 
interface  IUserPresence
 An object which represents a connected user in the server. More...
 
interface  IWriteLeaderboardRecordRequestLeaderboardRecordWrite
 Record values to write. More...
 
interface  IWriteTournamentRecordRequestTournamentRecordWrite
 Record values to write. More...
 
class  Match
 
class  MatchCreateMessage
 A create message for a match on the server.
 
class  MatchJoinMessage
 A join message for a match on the server.
 
class  MatchLeaveMessage
 A leave message for a match on the server.
 
class  MatchmakerAddMessage
 Add the user to the matchmaker pool with properties.
 
class  MatchmakerMatched
 
class  MatchmakerRemoveMessage
 Remove the user from the matchmaker pool by ticket.
 
class  MatchmakerTicket
 
class  MatchmakerUser
 
class  MatchPresenceEvent
 
class  MatchSendMessage
 Send new state to a match on the server.
 
class  MatchState
 
class  NullLogger
 A logger which writes to nowhere.
 
class  Party
 Incoming information about a party.
 
class  PartyAccept
 
class  PartyClose
 End a party, kicking all party members, and closing it.
 
class  PartyCreate
 Create a new party.
 
class  PartyData
 Incoming party data delivered from the server.
 
class  PartyDataSend
 Send data to a party.
 
class  PartyJoin
 Join a party, or request to join if the party is not open.
 
class  PartyJoinRequest
 Incoming notification for one or more new presences attempting to join the party.
 
class  PartyJoinRequestList
 Request a list of pending join requests for a party.
 
class  PartyLeader
 Announcement of a new party leader.
 
class  PartyLeave
 Leave a party.
 
class  PartyMatchmakerAdd
 Begin matchmaking as a party.
 
class  PartyMatchmakerRemove
 Remove the party from the matchmaker.
 
class  PartyMatchmakerTicket
 
class  PartyMemberRemove
 Kick a party member, or decline a request to join.
 
class  PartyPresenceEvent
 
class  PartyPromote
 Promote a new party leader.
 
class  ProtobufAny
 
class  Retry
 Represents a single retry attempt. More...
 
class  RetryConfiguration
 A configuration for controlling retriable requests. More...
 
class  RetryHistory
 
class  RetryInvoker
 Invokes requests with retry and exponential backoff.
 
class  RetryJitter
 A collection of Jitter algorithms.
 
class  RpcStatus
 
class  Session
 
class  Socket
 A socket which implements the Nakama realtime API. More...
 
class  Status
 
class  StatusFollowMessage
 Follow one or more other users for status updates.
 
class  StatusPresenceEvent
 
class  StatusUnfollowMessage
 Unfollow one or more users on the server.
 
class  StatusUpdateMessage
 Update the status of the current user.
 
class  StorageObjectId
 An identifier for a storage object. More...
 
class  Stream
 
class  StreamPresenceEvent
 
class  StreamState
 
class  UserGroupListUserGroup
 
class  UserPresence
 
class  WebSocketAdapter
 An adapter which uses the WebSocket protocol with Nakama server. More...
 
class  WebSocketErrorMessage
 A logical error received on the WebSocket connection.
 
class  WebSocketMessageEnvelope
 An envelope for messages received or sent on a WebSocket.
 
class  WriteLeaderboardRecordRequestLeaderboardRecordWrite
 
class  WriteStorageObject
 
class  WriteTournamentRecordRequestTournamentRecordWrite
 

Enumerations

enum  ValidatedPurchaseEnvironment { UNKNOWN = 0 , SANDBOX = 1 , PRODUCTION = 2 }
 Environment where the purchase took place More...
 
enum  ValidatedPurchaseStore { APPLE_APP_STORE = 0 , GOOGLE_PLAY_STORE = 1 , HUAWEI_APP_GALLERY = 2 }
 Validation Provider More...
 
enum  ChannelType : uint { Room = 1 , DirectMessage = 2 , Group = 3 }
 The available channel types on the server. More...
 

Functions

delegate int Jitter (IList< Retry > retryHistory, int retryDelay, Random random)
 The Jitter algorithm is responsible for introducing randomness to a delay before a retry. More...
 
delegate void RetryListener (int numRetry, Retry retry)
 Listens to retry events for a particular request. More...
 

Detailed Description

Copyright 2018 The Nakama Authors

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Enumeration Type Documentation

◆ ChannelType

enum Nakama.ChannelType : uint

The available channel types on the server.

Enumerator
Room 

A chat room which can be created dynamically with a name.

DirectMessage 

A private chat between two users.

Group 

A chat within a group on the server.

◆ ValidatedPurchaseEnvironment

Environment where the purchase took place

Enumerator
UNKNOWN 
  • UNKNOWN: Unknown environment.
SANDBOX 
  • SANDBOX: Sandbox/test environment.
PRODUCTION 
  • PRODUCTION: Production environment.

◆ ValidatedPurchaseStore

Validation Provider

Enumerator
APPLE_APP_STORE 
  • APPLE_APP_STORE: Apple App Store
GOOGLE_PLAY_STORE 
  • GOOGLE_PLAY_STORE: Google Play Store
HUAWEI_APP_GALLERY 
  • HUAWEI_APP_GALLERY: Huawei App Gallery

Function Documentation

◆ Jitter()

delegate int Nakama.Jitter ( IList< Retry retryHistory,
int  retryDelay,
Random  random 
)

The Jitter algorithm is responsible for introducing randomness to a delay before a retry.

Parameters
retryHistoryInformation about previous retry attempts.
retryDelayA delay (milliseconds) between the last failed attempt in the retry history and the next upcoming attempt.
randomA Random object that has been seeded by IClient.RetryJitterSeed.
Returns
A new delay (milliseconds) between the last failed attempt in the retry history and the next upcoming attempt.

◆ RetryListener()

delegate void Nakama.RetryListener ( int  numRetry,
Retry  retry 
)

Listens to retry events for a particular request.

Parameters
numRetryThe number of retries made so far, including this retry.
retryAn holding inromation about the retry attempt.