跳到主要内容

Client Data Models

Enums

MatchmakingStatus

Battle session status

/// namespace: Pgos.Client
public enum MatchmakingStatus
membervaluedescription
Dummy0Dummy
Starting1matchmaking is starting
Preparing2the multi-player matchmaking's preparation phase. note: when the MatchmakingObserver receives this status, it requires players to join or reject the matchmaking request. mutilplayer matchmaking : when one of the players start a matchmaking request, the other players will receive the 'Preparing' matchmaking status, and then decide to join or reject the matchmaking request. When everyone has joined, matchmaking start Searching.
Searching3search players for matchmaking
Accepting4wait for players to accepting the result of matchmaking
Placing5placing battle session on game DS
Completed7The matchmaking request ends with a successful result. Check battle_session_info for detail information about the battle. Note: when the MatchmakingObserver receives this status, you need to connect the DS server via IP and port that could obtain from battle_session_info.
TimedOut8matchmaking request timeout
Terminated9matchmaking request is terminated
Canceled10matchmaking request is canceled. The request may have been canceled by the player or the matchmaking result has been rejected by the player
Error11matchmaking request error

MatchmakingMutexType

Mutex type of matchmaking request

/// namespace: Pgos.Client
public enum MatchmakingMutexType
membervaluedescription
PerMatchmakingConfig0There is no limit to the number of battle sessions a player can be in. multiple matchmaking requests from a player in the same matchmaking config are not allowed at the same time.
PerPlayer1If a player has any on going battle sessions or matchmaking in progress, they will not be able to start new matchmaking request.

PlayerBattleSessionStatus

Player battle session status

/// namespace: Pgos.Client
public enum PlayerBattleSessionStatus
membervaluedescription
Dummy0Dummy
Pending1The player battle session requires DS to call the ReservePlayerBattleSession interface for approval.
Reserved2Reserved players can be validated through the AcceptPlayerBattleSession interface.
Active3Player battle session status turn to ACTIVE after AcceptPlayerBattleSession is called successfully.
Completed4This is the terminal status of player battle session.The status will turn to COMPLETED after RemovePlayerBattleSession is called or player actively leave the battle session.
Disconnected5The player has disconnected from DS server.

P2PPlayerBattleSessionStatus

Status of a P2P player battle session

/// namespace: Pgos.Client
public enum P2PPlayerBattleSessionStatus
membervaluedescription
Dummy0Dummy
Reserved2Reserved players can be validated through the AcceptPlayerBattleSession interface.
Active3Player battle session status turn to ACTIVE after AcceptPlayerBattleSession is called successfully.
Completed4This is the terminal status of player battle session.The status will turn to COMPLETED after RemovePlayerBattleSession is called or player actively leave the battle session.
Disconnected5The player has disconnected from DS server.

BattleSessionStatus

Battle session status

/// namespace: Pgos.Client
public enum BattleSessionStatus
membervaluedescription
Dummy0Dummy
Placing1the battle session is currently waiting to be placed on a game DS.
Active2the battle session have been successfully created.
Terminated3the battle session have been terminated.
Error5the battle session error, check status_msg for more information.
Cancelled6the battle session is cancelled.
TimedOut7the battle session timeout
Failed8the battle session failed, check status_msg for more information.

P2PBattleSessionStatus

P2P Battle session status

/// namespace: Pgos.Client
public enum P2PBattleSessionStatus
membervaluedescription
Dummy0Dummy
Placing1the battle session is currently waiting to be placed on a game DS.
Active2the battle session have been successfully created.
HostHealthChecking3P2P clients should report the host health state within a limited time.
NewHostSelected4the new host has been selected and must accept the identity within a limited time. The new host needs to call the ActivateP2PBattleSession interface to reactivate the battle session.
Terminated101the battle session have been terminated.
Error102the battle session error, check status_msg for more information.
TimedOut103the battle session timeout
Failed104the battle session failed, check status_msg for more information.

FriendRequestProcessStatus

Friend request process status

/// namespace: Pgos.Client
public enum FriendRequestProcessStatus
membervaluedescription
Pending0friend request pending
Accepted1request Accepted
Expired2it may be timed out, the current validity period is 7 days

ReadStatus

Message read status

/// namespace: Pgos.Client
public enum ReadStatus
membervaluedescription
Unread0message unread
Read1message read

LobbyStatus

Lobby status

/// namespace: Pgos.Client
public enum LobbyStatus
membervaluedescription
Dummy0Dummy
Waiting1StartBattle has not been called
Preparing2StartBattle was called, but not all lobby members are READY
Playing3A battle session that contains all lobby members is ready to be joined

LobbyPrivacy

Lobby privacy type

/// namespace: Pgos.Client
public enum LobbyPrivacy
membervaluedescription
Dummy0Dummy
Visible1Lobby can be searched
Invisible2Lobby can only be searched using the exact lobby_id

LobbyProtection

Lobby protection type

/// namespace: Pgos.Client
public enum LobbyProtection
membervaluedescription
Dummy0Dummy should be used when searching lobbies for all protection types
PasswordNeeded1Password needed when joining lobbies
PasswordUnneeded2Password unneeded when joining lobbies
FreeAccess2Players can join lobby directly
ApplicationNeeded3A join request will be sent to the owner after calling the JoinLobby interface, and the owner's approval is required to successfully join the lobby

LobbyJoiningSource

The source of the player join the lobby

/// namespace: Pgos.Client
public enum LobbyJoiningSource
membervaluedescription
Dummy0Dummy
JoiningByLobbyID1Search for the lobby and join.
JoiningFromInvitation2Join the lobby through the event of 'OnLobbyInvitation' when the player is invited to join the lobby.
JoiningAsOwner3The lobby creator.
JoiningByQuickJoin4Joined by QuickJoin interface.

LobbyStatusReason

The reason that the lobby status changes

/// namespace: Pgos.Client
public enum LobbyStatusReason
membervaluedescription
Dummy0Dummy
SomeoneNotReady1The lobby owner starts the battle, and lobby status changes from Waiting to Preparing.
PlacingFailed2Placing is failed, and lobby status changes from Placing to Waiting.
PreparingTimeout3Preparing is timeout because there are members not ready, and lobby status changes from Preparing to Waiting.
BattleCompleted4Battle is completed, and lobby status changes from Playing to Waiting.
PreparationInterrupted5Because of member changing, preparing status is interrupted and changes to Waiting.

LobbyStartBattleCondition

The action when the lobby owner invokes the StartBattle interface depends on the Ready flag of lobby members.

/// namespace: Pgos.Client
public enum LobbyStartBattleCondition
membervaluedescription
AllReadyOtherwiseWaiting0The lobby will enter the Preparing stage, waiting for unready players to get ready.
AllReadyOtherwiseError1The lobby owner will receive an error if not all players are ready.
IgnoringReadyFlag2The lobby will enter the Playing stage directly, ignoring the Ready flag.

OnlineStatus

Online status: online or offline

/// namespace: Pgos.Client
public enum OnlineStatus
membervaluedescription
Offline0Player is online
Online1Player is offline

StoreOrderStatus

/// namespace: Pgos.Client
public enum StoreOrderStatus
membervaluedescription
Dummy0None.
StoreOrderProcessing1Order is being processed.
StoreOrderCompleted2Purchase successful.
StoreOrderFailed3Purchase failed.

StoreItemStatus

/// namespace: Pgos.Client
public enum StoreItemStatus
membervaluedescription
Dummy0None.
Available1The item can be purchased normally.
Owned2The unique item can't be purchased because the player already owns.
ExceedLimit3The store item can't be purchased because the player have reached the maximum purchase limit.

StoreCategoryType

/// namespace: Pgos.Client
public enum StoreCategoryType
membervaluedescription
Simple0A simple category be used to manage the publish and retire of store items.
Manual1The category schedule will be enabled to support multi-period publish schedule management. Could be used to implement advanced features such as limited-time sales and regular product updates.
Rotation2The category schedule will be a rotation schedule.

GroupJoinRule

Join rules of the group.

/// namespace: Pgos.Client
public enum GroupJoinRule
membervaluedescription
Any0Players can freely join the group.
MemberInvite1Must be invited by group members to join the group.
AdminInvite2Must be invited by group administrator to join the group.
Forbid3No one is allowed to join.

ChatMsgType

Message type.

/// namespace: Pgos.Client
public enum ChatMsgType
membervaluedescription
MsgTypeText0Type of text message, sent via SendGroupTextMsg.
MsgTypeCustom1Type of custom message, sent via SendGroupCustomMsg.
MsgTypeEvent2Type of event message, sent by the system.
MsgTypeSystem3Type of system message, sent by the system.

GroupEventType

Type of event message.

/// namespace: Pgos.Client
public enum GroupEventType
membervaluedescription
Dummy0
GroupNameChanged1Group name has been changed.
GroupDescChanged2Group description has been changed.
GroupMemberJoined3New member joined.
GroupMemberLeft4Member left the group.
GroupMemberRemoved5Member removed.
GroupAnnouncementChanged6Group announcement has been changed.
GroupOwnerChanged7Group owner has changed.
GroupAdminGranted8Member granted to group administrator.
GroupAdminRevoked9Group administrator is revoked.

GroupOfficialFilterType

Group searching filter type for official.

/// namespace: Pgos.Client
public enum GroupOfficialFilterType
membervaluedescription
Dummy0Don't filter official groups when searching.
NotOfficial1Only search unofficial groups.
Official2Only search official groups.

GroupRoomFilterType

Group searching filter type for left rooms.

/// namespace: Pgos.Client
public enum GroupRoomFilterType
membervaluedescription
Dummy0Don't filter group rooms when searching.
NotFull1Only search groups that are not full.
Full2Only search full groups.

GroupOrderBy

The basis for sorting group search result.

/// namespace: Pgos.Client
public enum GroupOrderBy
membervaluedescription
Dummy0No sorting of search result.
MemberCount1Search result sorted by members count.
CreatedTime2Search result sorted by creation time.

GroupOrderType

The order type for group search result.

/// namespace: Pgos.Client
public enum GroupOrderType
membervaluedescription
Dummy0No sorting of search results.
Asc1Ascending order for search result.
Desc2Descending order for search result.

MailCategory

/// namespace: Pgos.Client
public enum MailCategory
membervaluedescription
All0All categories.
System1System category.
Notice2Notice category.
Campaign3Campaign category.
Award4Award category.
Gift5Gift category. Usually received gifts from other players.
Custom6Custom category. Category for developer customization.

GoalType

/// namespace: Pgos.Client
public enum GoalType
membervaluedescription
Dummy0
Simple1
Hyper2

GoalRewardWay

/// namespace: Pgos.Client
public enum GoalRewardWay
membervaluedescription
Dummy0
Manual1Goal reward need to be claimed manually
Mail2When the goal is achieved, the rewards will be automatically granted through the preset email template

ScheduleStatus

/// namespace: Pgos.Client
public enum ScheduleStatus
membervaluedescription
Dummy0
Published1
Retired2

PrivacyItemType

/// namespace: Pgos.Client
public enum PrivacyItemType
membervaluedescription
Dummy0
AllowSearchedByOthers1
AllowFriendRequest2
AllowNonFriendPersChat3
AllowGroupInvitation4
ChatStrategy5

PrivacyChatStrategy

Text and voice chat privacy settings

/// namespace: Pgos.Client
public enum PrivacyChatStrategy
membervaluedescription
Allow0Everyone, can see and be seen chat messages from anyone (except block list)
OnlyFriends1Friends, can only see friends and be seen by friends
Blocked2Not allowed at all, won't see anyone's messages, and won't send any messages out

LobbyOrderBy

/// namespace: Pgos.Client
public enum LobbyOrderBy
membervaluedescription
LOBBY_ORDER_BY_DEFAULT0Sort by status: Waiting, Preparing, Playing;then by create time from older to newer
LOBBY_ORDER_BY_CREATE_TIME1Sort by lobby create time
LOBBY_ORDER_BY_UPDATE_TIME2Sort by lobby last update time
LOBBY_ORDER_BY_JOINED_MEMBER_COUNT3Sort by joined member count
LOBBY_ORDER_BY_MISSING_MEMBER_COUNT4Sort by empty slot count

LobbyOrderType

The order type for group search result.

/// namespace: Pgos.Client
public enum LobbyOrderType
membervaluedescription
LOBBY_ORDER_TYPE_ASCENDING0Ascending order for search result.
LOBBY_ORDER_TYPE_DESCENDING1Descending order for search result.

PartyJoinStrategy

The strategy controls the rules who could join the party

/// namespace: Pgos.Client
public enum PartyJoinStrategy
membervaluedescription
Public0Open to anyone, it's the default strategy
OnlyFriendsOfLeader1Only friends of the leader could join the party
OnlyFriendsOfMembers2Only friends of any member could join the party
OnlyInvited3Only invited players could join the party
NotAllowed4No one can join

PartyInviteStrategy

The strategy controls the rules who could invite others to the party

/// namespace: Pgos.Client
public enum PartyInviteStrategy
membervaluedescription
AllMembersCanInvite0All members of the party can invite others, it's the default strategy
OnlyLeaderCanInvite1Only the party leader can invite others

PgosEventChannelStatus

Various status definitions of the PGOS event channel. The Event Channel serves as a data pipeline for the PGOS backend to send event notifications (e.g., chat_messages/friend_requests) to the client.

/// namespace: Pgos.Client
public enum PgosEventChannelStatus
membervaluedescription
Dummy0Invalid status.
Creating1When the client is connecting or reconnecting to the backend in order to establish the channel, the status is set to 'Creating'.
Available2When the channel is successfully established, the status is set to 'Available', indicating that the event notification service is functioning properly.
Unavailable3When the client expectedly(logout) or unexpectedly(network exception) disconnects from the backend, the status is set to 'Unavailable', and the event notification service stops working. The SDK will automatically attempt to rebuild the channel until it succeeds, with a gradually slowing frequency. It starts by trying to rebuild every 3 seconds and eventually reduces the frequency to once every 5 minutes.

MidasRoleIDMethod

/// namespace: Pgos.Client
public enum MidasRoleIDMethod
membervaluedescription
Game0
PGOS1

JoinWorldInvitationStatus

Describe the status of the join world invitation.

/// namespace: Pgos.Client
public enum JoinWorldInvitationStatus
membervaluedescription
Dummy0Invalid status.
Pending1Means: there are still invited players who have not yet confirmed whether to accept or reject the invitation.
Completed2Means: all invited players have made their choices to accept/reject, or the invitation has timed out. And no more 'OnJoinWorldInvitationUpdated' event of this invitation_ticket. Now, the player who accepted the invitation has been added to the battle session. Typically, the player who accepts the invitation will receive the 'OnWorldBattleSessionUpdated' event after the invitation status is marked as 'Completed'. However, if the player is already in the assigned battle session before the invitation, and has obtained the battle session's IP&port (which means he has received the relevant event of the battle session status being Active), then he may not be pushed the 'OnWorldBattleSessionUpdated' event.
Error3Means: An error has occurred (e.g. not enough slots left in the world). Please refer to the 'error_msg' in 'JoinWorldInvitationInfo' structure for more details.

JoinWorldInvitationAction

The player's action type in response to a join world invitation.

/// namespace: Pgos.Client
public enum JoinWorldInvitationAction
membervaluedescription
Undecided0The player has not yet decided.
Accepted1The player has decided to accept the invitation.
Rejected2The player has decided to reject the invitation.

LeaveWorldInvitationStatus

Describe the status of the leave world invitation.

/// namespace: Pgos.Client
public enum LeaveWorldInvitationStatus
membervaluedescription
Dummy0Invalid status.
Pending1Means: there are still invited players who have not yet confirmed whether to accept or reject the invitation.
Completed2Means: all invited players have made their choices to accept/reject, or the invitation has timed out. And no more 'OnLeaveWorldInvitationUpdated' event of this invitation_ticket. Now, the player who accepted the invitation has been removed from the world.
Error3Please refer to the 'error_msg' in 'LeaveWorldInvitationInfo' structure for more details.

LeaveWorldInvitationAction

The player's action type in response to a leave world invitation.

/// namespace: Pgos.Client
public enum LeaveWorldInvitationAction
membervaluedescription
Undecided0The player has not yet decided.
Accepted1The player has decided to accept the invitation.
Rejected2The player has decided to reject the invitation.

P2PConnectionType

The type of P2P connection.

/// namespace: Pgos.Client
public enum P2PConnectionType
membervaluedescription
Unspecified0Unspecified. Will try to connect via p2p first.
P2P1Try to connect via p2p.
Relay2Try to connect via relay.

NatType

The type of NAT.

/// namespace: Pgos.Client
public enum NatType
membervaluedescription
Unknown0
Open1No Nat
FullCone2Full Cone
AddressRestrictedCone3Address restricted cone
PortRestrictedCone4Port restricted cone
Symmetric5Symmetric
SymmetricUDPFirewall6No NAT with UDP firewall
UDPBlocked7

Structs

Balance

The currency in the player's wallet.

/// namespace: Pgos.Client
struct Balance
fieldtypedescription
currency_codestringThe code of the currency.
currency_namestringThe name of the currency.
currency_iconstringThe uri of the currency.
currency_typeCurrencyTypeCurrency type.
amountInt64The balance of the currency.
max_depositInt64The maximum balance that a player can hold for this currency. A value of 0 represents no limitation.

MidasGlobalBalance

/// namespace: Pgos.Client
struct MidasGlobalBalance : Balance

parent: Balance

fieldtypedescription
resource_idstringResource id of a Midas Token, provided by Midas, view on Midas portal.
gift_balancestringBalance obtained by gift.
accumulated_topup_amountstringAccumulated topup amount.
accumulated_gift_amountstringAccumulated gift amount.
total_consumestringTotal consumed amount.
first_topupboolTo show if it is the first topup.

FasLoginInfo

FAS: The data of the simulated account

/// namespace: Pgos.Client
struct FasLoginInfo
fieldtypedescription
open_idstringOpen id of the fake account
tokenstringToken of the fake account
user_namestringUsername of the fake account
token_valid_timeInt64The valid time of the current token

FasRefreshTokenInfo

The new token after refreshing it

/// namespace: Pgos.Client
struct FasRefreshTokenInfo
fieldtypedescription
tokenstringThe new token generated after refreshing

LoginPGOSParams

Request parameters for login PGOS.

/// namespace: Pgos.Client
struct LoginPGOSParams : BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
account_providerInt32Account provider: 0 means FAS, 1 means INTL, 2 means MSDK, 3 means WeGame, 4 means PlayFab, 5 means Steam, 6 means Epic, 7 means XboxLive, 8 means PlayStationNetwork, 9 means Nintendo, 10 means JWT. The default value is -1 (not set), at which point PgosSDK will try to read it from the configuration: account_provider. Using int32 instead of enum type is to make SDK better compatible with the new account provider. More info for account provider: https://pgos.intlgame.com/pgosdoc/manual/service_manual/player_management/player_auth.html#311-login-param
account_open_idstringOpen id of the logged in account service.
account_tokenstringToken of the open id.
title_region_idstringTitle region the player wants to login, can be obtained from PGOS portal console.
extra_paramDictionary<string, string>[Optional] Extra parameter for the account provider, Its value depends on the account provider used to log in. view the manual for detail: https://pgos.intlgame.com/pgosdoc/manual/service_manual/player_management/player_auth.html#31-log-in-pgos.

LogoutPGOSParams

Request parameters for logout PGOS.

/// namespace: Pgos.Client
struct LogoutPGOSParams : BaseBackendEventParams

parent: BaseBackendEventParams

PlayerBannedEvt

The event will be triggered when the player is banned.

/// namespace: Pgos.Client
struct PlayerBannedEvt
fieldtypedescription
ban_reasonstringReason for ban.
ban_created_timeInt64Ban creation time. Unix timestamp in seconds.
ban_durationInt64Ban duration in seconds.
ban_expired_timeInt64Ban expiration time. Unix timestamp in seconds, if the value <= 0, it is considered to be permanently banned.

AuthBanInfo

Auth ban info.

/// namespace: Pgos.Client
struct AuthBanInfo : PlayerBannedEvt

parent: PlayerBannedEvt

fieldtypedescription
is_bannedboolWhether the player is banned.

AuthenticationInfo

The authentication data when the game needs to identify the player and manage the player session status of the players

/// namespace: Pgos.Client
struct AuthenticationInfo
fieldtypedescription
player_idstringThe id of the player
session_idstringThe id of the current authenticated session
is_first_loginboolWhether the player is logging in for the first time
is_display_name_modifiedboolWhether the display name of the current player has been modified. The display name is initially an empty string before being modified.
account_platformstringaccount platform name, such as: 'Steam', 'Epic', 'PlayStationNetwork'.
ban_infoAuthBanInfoWhether the player is banned

BatchGetPlayerInfoCltRsp

Response that client batch getting playerInfo.

/// namespace: Pgos.Client
struct BatchGetPlayerInfoCltRsp
fieldtypedescription
dataDictionary<string, PlayerInfo>Player infos, key: player_id, value: player_info.
fail_playersDictionary<string, string>Players who totally failed, key: player_id, value: failed reason.

MatchmakingPlayerInfo

Player who is in the matchmaking process

/// namespace: Pgos.Client
struct MatchmakingPlayerInfo
fieldtypedescription
player_idstringThe player id
teamstringThe team of the players
match_attributesDictionary<string, KVDataValue>Attributes needed by the Matchmaking Ruleset, map key: attribute name, map value: attribute value.

RequestedPlayerInfo

Player in current matchmaking request.

/// namespace: Pgos.Client
struct RequestedPlayerInfo
fieldtypedescription
player_infoPlayerInfoBase info of a player.
readyboolWhether the player has joined matchmaking.
region_latenciesList<RegionLatencyInfo>The latency(ms) of the player in different regions. If the latency of the player exceeds the max latency of Queue, then the player cannot join the battle.

MatchedPlayerInfo

Player who has already matched

/// namespace: Pgos.Client
struct MatchedPlayerInfo
fieldtypedescription
player_infoPlayerInfoBase info of a player.
accepted_statusAcceptedStatusPlayer response to the proposed battle.
teamstringThe team of the players

CancelMatchmakingInfo

Cancel a matchmaking request

/// namespace: Pgos.Client
struct CancelMatchmakingInfo
fieldtypedescription
ticket_idstringTicket id for the matchmaking request
canceledboolWhether the player has canceled the matchmaking request
reasonstringThe reason for the cancel action, not necessary

StartMatchmakingParams

Params to start a matchmaking request.

/// namespace: Pgos.Client
struct StartMatchmakingParams
fieldtypedescription
configuration_namestringName of matchmaking configuration
player_info_listList<MatchmakingPlayerInfo>Players who start matchmaking together, and they must be set to the same team.
mutex_typeMatchmakingMutexTypeMutex type of matchmaking request. PerMatchmakingConfig as default value.

StartMatchmakingInfo

Start a matchmaking request

/// namespace: Pgos.Client
struct StartMatchmakingInfo
fieldtypedescription
ticket_idstringTicket id for the matchmaking request

CurrentMatchmakingsInfo

Current activate matchmaking tickets of the player.

/// namespace: Pgos.Client
struct CurrentMatchmakingsInfo
fieldtypedescription
tickets_mapDictionary<string, string>The mapping of matchmaking configuration to matchmaking ticket.

PlayerBattleSessionInfo

A player-battle-session is a session between a player and an active battle-session

/// namespace: Pgos.Client
struct PlayerBattleSessionInfo
fieldtypedescription
player_idstringThe player id
battle_session_idstringThe battle session id to query
player_battle_session_idstringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
ip_addressstringThe access ip address of the battle session
portUInt32The access port of the battle session
statusPlayerBattleSessionStatus
team_namestringTeam name in a world battle session.

BattleSessionInfo

A battle session corresponds a running game.

/// namespace: Pgos.Client
struct BattleSessionInfo
fieldtypedescription
battle_session_idstringThe battle session id to query
created_timeInt64The Unix timestamp(in seconds) when the battle session was created.
ip_addressstringThe IP address of the DS holding the battle session, and it will be assigned the value when the status is 'Active'.
portUInt32The port of the DS holding the battle session, and it will be assigned the value when the status is 'Active'.
statusBattleSessionStatusPlacing the battle session is currently waiting to be placed on game DS Active the battle session has been successfully created, now you can connect to the DS using the IP address and port Terminated the battle session has been terminated Error the battle session error, check status_msg for more information Canceled the battle session is canceled Timeout the battle session timeout Failed the battle session failed, check status_msg for more information
status_msgstringThe message of the battle status
last_updated_timeInt64The Unix timestamp(in seconds) for the last update in the battle status
terminated_timeInt64The Unix timestamp(in seconds) when the player disconnected from game server.
placing_timeoutUInt32Timeout for placing status
cur_player_battle_session_infoPlayerBattleSessionInfoPlayer battle session of current player
battle_propertiesList<BattleProperty>K-V pair property of a battle session
battle_session_datastringCustom string data of a battle session. Preset in matchmaking configuration
source_typeBattleSourceTypeWhat service that the battle session generated from
configuration_namestringConfiguration name of matchmaking, lobby or world service
bucket_pathDictionary<string, string>Mapping from bucket filter attribute name to attribute value. [for WORLD battle session only]
ruleset_namestringRuleset name hit. Filled when battle session source type is BattleSourceType::Matchmaking
lockedboolTrue if the battle session is locked by game server A battle session generated from world service could be locked/unlocked by calling Lock/UnlockWorldBattleSession.
zonestringZone where the battle session placed.

P2PPlayerBattleSession

A player-battle-session is a session between a player and a activated battle-session.

/// namespace: Pgos.Client
struct P2PPlayerBattleSession
fieldtypedescription
battle_session_idstringThe battle session id.
player_battle_session_idstringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
player_idstringThe player id
statusP2PPlayerBattleSessionStatus
created_timeInt64The Unix timestamp(in seconds) when the battle session was created.
terminated_timeInt64The Unix timestamp(in seconds) when the battle session was terminated.

P2PBattleSessionBase

A battle session corresponds a running game.

/// namespace: Pgos.Client
struct P2PBattleSessionBase
fieldtypedescription
battle_session_idstringThe battle session id to query
host_player_idstringHost player of the P2P battle session
statusP2PBattleSessionStatusBattle session status
status_msgstringThe message of the battle status
source_typeBattleSourceTypeWhat service that the battle session generated from
configuration_namestringConfiguration name of matchmaking, lobby or world service
ruleset_namestringRuleset name hit. Filled when battle session source type is BattleSourceType::Matchmaking
battle_propertiesList<BattleProperty>K-V pair property of a battle session
battle_session_datastringCustom string data of a battle session. Preset in matchmaking configuration
max_playersInt32Maximum number of players in the battle session If the source of the battle session is Matchmaking, the max_players is calculated from the teams section of ruleset script If the source of the game is Lobby, the max_players is calculated from the teams section of lobby config
total_playersInt32Total number of players in the battle session. Only players with a player battle session status of COMPLETED will be excluded
created_timeInt64The Unix timestamp(in seconds) when the battle session was created.
terminated_timeInt64The Unix timestamp(in seconds) when the player disconnected from game server.

P2PBattleSession

A battle session corresponds a running game.

/// namespace: Pgos.Client
struct P2PBattleSession : P2PBattleSessionBase

parent: P2PBattleSessionBase

fieldtypedescription
cur_player_battle_session_infoP2PPlayerBattleSessionPlayer battle session of current player

MatchmakingProcessInfo

Detailed process of a matchmaking request.

/// namespace: Pgos.Client
struct MatchmakingProcessInfo
fieldtypedescription
matchmaking_statusMatchmakingStatusStarting Matchmaking request is starting. Preparing Waiting for players confirmation for a multi-player matchmaking request. Note: when the MatchmakingObserver receives this status, it requires players to join or reject the mutilplayer matchmaking request. When one of the players start a mutilplayer matchmaking request, the other players will receive the 'Preparing' matchmaking status, and then decide to join or reject the matchmaking request. When everyone has joined, matchmaking start Searching. Searching Search players who fit the ruleset. Accepting Wait for players to accept the result of matchmaking. Placing Placing battle session on game DS. Pending Deprecated since <v0.12.7>. Use Placing instead. Completed The matchmaking request ends with a successful result. Check battle_session_info for detail information about the battle. Note: when the MatchmakingObserver receives this status, you need to connect the DS server via IP and port that could obtain from battle_session_info. Timeout Matchmaking request timeout. Terminated Matchmaking request is terminated. Canceled Matchmaking request is canceled. The request may have been canceled by the player or the matchmaking result has been rejected by the player. Error Matchmaking request error.
matchmaking_messagestringThe message of the matchmaking status.
last_updated_status_timeInt64The Unix timestamp(in seconds) for the last update in the matchmaking status.
ticket_idstringTicket id for the matchmaking request.
configuration_namestringThe target matchmaking configuration name of current matchmaking request.
requested_playersList<RequestedPlayerInfo>Players in current matchmaking request.
matched_playersList<MatchedPlayerInfo>Players already matched.
matchmaking_creator_idstringOriginator of the matchmaking request.
match_start_timeInt64The Unix timestamp(in seconds) when the matchmaking started.
match_end_timeInt64The Unix timestamp(in seconds) when the matchmaking ended.
estimated_searching_timeUInt32Not used.
preparing_timeoutUInt32The maximum time(in seconds) to wait for all request members to accept the request.
searching_timeoutUInt32The maximum time(in seconds) to wait for searching matched players.
accepting_timeoutUInt32The maximum time(in seconds) to wait for accepting a matched battle
placing_timeoutUInt32Timeout(in seconds) for Placing status.
concurrent_player_countUInt32Number of players searching in current match config
battle_session_infoBattleSessionInfoA battle session contains matched players.
battle_session_providerstringProvider of battle session management: @ PGOS for PGOS battle service @ STANDALONE for self-build battle session management service. @ P2P for battle session hosted by game P2P game client
p2p_host_player_idstringHost player id for a P2P battle provide by P2P matchmaking. Only be filled when @battle_session_provider is set to P2P. OnStartP2PBattleSession event of P2PBattle module should be handled by the host client to obtain detail information of a P2P battle sesssion.
p2p_battle_session_idstringP2P Battle sesssion id provide by P2P matchmaking. Only be filled when @battle_session_provider is set to P2P. Battle session activation events will be pushed through OnP2PBattleSessionUpdated events of P2PBattle module.

GetConcurrentMatchmakingPlayerCountParams

/// namespace: Pgos.Client
struct GetConcurrentMatchmakingPlayerCountParams
fieldtypedescription
configuration_namestringMatchmaking configuration name.

GetConcurrentMatchmakingPlayerCountResult

/// namespace: Pgos.Client
struct GetConcurrentMatchmakingPlayerCountResult
fieldtypedescription
countUInt32Players in current matchmaking pool.

PartyCustomData

Custom data for party.

/// namespace: Pgos.Client
struct PartyCustomData
fieldtypedescription
versionintCustom data version, always incremental over the lifetime of the party.
global_custom_datastringGlobal custom data. Only Leader has permission to modify it.
player_custom_dataDictionary<string, string>Player custom data. The map key is party member's player ID, the map value is the party member's custom data. Each party member could modify it's player custom data.

PartyInfo

Detailed information of a party

/// namespace: Pgos.Client
struct PartyInfo
fieldtypedescription
party_idstringThe party id
namestringName of the party
leaderPlayerInfoPlayer who is the leader of the party A leader can: Kick out members: a leader can kick out any member at any time. Dismiss the party. Transfer leadership to another member.
membersList<PlayerInfo>Players of the party
created_timeInt64The Unix timestamp(in seconds) when the party was created.
max_playerUInt32Max number of players in the party, unlimited if it is 0.
custom_dataPartyCustomDataCustom data of the party(including global and player).
join_strategyPartyJoinStrategyThe strategy controls the rules who could join the party.
invite_strategyPartyInviteStrategyThe strategy controls the rules who could invite others to the party.

SetPartyStrategyParams

The parameters of join/invite strategy used to SetPartyStrategy

/// namespace: Pgos.Client
struct SetPartyStrategyParams
fieldtypedescription
party_idstringThe party id
join_strategyPartyJoinStrategyThe strategy controls the rules who could join the party.
invite_strategyPartyInviteStrategyThe strategy controls the rules who could invite others to the party.

CreatePartyParams

Request struct for create party

/// namespace: Pgos.Client
struct CreatePartyParams
fieldtypedescription
party_namestringOptional name of the new party
max_playerUInt32The maximum limit on the count of party members, pass 0 if you don't want to limit
enable_chattingboolIf true, the party members can use SendPartyChatTextMsg/SendPartyChatCustomMsg/SetOnReceiveChatMsg
join_strategyPartyJoinStrategyThe strategy controls the rules who could join the party.
invite_strategyPartyInviteStrategyThe strategy controls the rules who could invite others to the party.

SendPartyChatMsgParams

Request struct for sending party chat message

/// namespace: Pgos.Client
struct SendPartyChatMsgParams
fieldtypedescription
contentstringThe message content to be sent
custom_datastringAdditional information added by the game

BattleDataInfo

Raw battle history data

/// namespace: Pgos.Client
struct BattleDataInfo
fieldtypedescription
battle_session_idstringThe battle session id to query
dataDictionary<string, string>Battle custom kv data, such as {key1:value1, key2:value2}
tagsList<string>Battle custom tags, you can filter battles by tags, such as [Entertainment]
failsDictionary<string, string>A list of failed items in K-V pair data operations
battle_created_timeInt64The Unix timestamp(in seconds) when the battle session was created.

BattleListInfo

A list of battle history data

/// namespace: Pgos.Client
struct BattleListInfo
fieldtypedescription
battle_data_listList<BattleDataInfo>A list of raw battle history data
next_offsetUInt32The next starting position of the list

BattleBriefInfo

A special battle history data that is preset by PGOS.

/// namespace: Pgos.Client
struct BattleBriefInfo
fieldtypedescription
battle_session_idstringThe battle session id to query
briefstringCustom battle brief, such as current player's KDA
tagsList<string>Battle custom tags, you can filter battles by tags, such as [Entertainment]
battle_created_timeInt64The Unix timestamp(in seconds) when the battle session was created.

BattleDetailInfo

A special battle history data that is preset by PGOS.

/// namespace: Pgos.Client
struct BattleDetailInfo
fieldtypedescription
battle_session_idstringThe battle session id to query
detailstringCustom battle detail, such as the KDA of all players
tagsList<string>Battle custom tags, you can filter battles by tags, such as [Entertainment]
battle_created_timeInt64The Unix timestamp(in seconds) when the battle session was created.

BattleBriefListInfo

A list of battle brief info

/// namespace: Pgos.Client
struct BattleBriefListInfo
fieldtypedescription
battle_data_listList<BattleBriefInfo>A list of raw battle history data
next_offsetUInt32The next starting position of the list

MentionedPlayer

The mentioned player. When the value of player_id is '@ALL', it means mentioning all players.

/// namespace: Pgos.Client
struct MentionedPlayer
fieldtypedescription
player_idstringUnique id of player, When the value of player_id is '@ALL', it means mentioning all players.
player_display_namestringPlayer's display name. Populated by the game developer when sending a message.

ChatMsgContent

Instant/Party/Lobby chat message content

/// namespace: Pgos.Client
struct ChatMsgContent
fieldtypedescription
text_contentstringTake the value from here when msg type is MsgTypeText
custom_contentstringTake the value from here when msg type is MsgTypeCustom

ChatMsgInfo

Instant/Party/Lobby chat messages

/// namespace: Pgos.Client
struct ChatMsgInfo
fieldtypedescription
senderPlayerInfoThe player who send the message
sent_timeInt64The time the message was sent
msg_typeChatMsgTypeThe type of the message
contentChatMsgContentThe message to be sent
seqInt64The sequence number of the message
custom_datastringAdditional information added by the game

SendPersonalMsgParams

Request struct for sending personal message

/// namespace: Pgos.Client
struct SendPersonalMsgParams
fieldtypedescription
peer_player_idstringPeer player's ID
contentstringContent
custom_datastringAdditional information added by the game

UnreadMsgCountNotifyEvt

Event result of unread message count changed

/// namespace: Pgos.Client
struct UnreadMsgCountNotifyEvt
fieldtypedescription
total_unread_countInt32Total unread count of personal chat or group chat

PersonalMsgContent

Personal chat message content

/// namespace: Pgos.Client
struct PersonalMsgContent
fieldtypedescription
text_contentstringTake the value from here when msg type is MsgTypeText
custom_contentstringTake the value from here when msg type is MsgTypeCustom

PersonalMsgInfo

Personal chat message info

/// namespace: Pgos.Client
struct PersonalMsgInfo
fieldtypedescription
senderPlayerInfoThe player who sent the message
sent_timeInt64The time the message was sent
msg_typeChatMsgTypeThe type of the message
contentPersonalMsgContentThe message to be sent
seqInt64The sequence number of the message
custom_datastringAdditional information added by the game

ReceivePersonalMsgEvt

Event result of receive personal chat message

/// namespace: Pgos.Client
struct ReceivePersonalMsgEvt
fieldtypedescription
msgPersonalMsgInfoPersonal chat message received
unread_countInt32Count of unread message from sender

PersonalChatItem

Personal chat info

/// namespace: Pgos.Client
struct PersonalChatItem
fieldtypedescription
peer_player_infoPlayerInfoThe peer player info
unread_countInt32Unread message count
msg_latestPersonalMsgInfoRecent chat message info

GetMyPersonalChatListResult

My personal chat list

/// namespace: Pgos.Client
struct GetMyPersonalChatListResult
fieldtypedescription
personal_chat_listList<PersonalChatItem>Personal chat list

GetPersonalChatMsgListResult

Result of get personal chat message list

/// namespace: Pgos.Client
struct GetPersonalChatMsgListResult
fieldtypedescription
msg_listList<PersonalMsgInfo>Chat message info list
already_read_seqInt64Messages with seq less than or equal to this have already been read
has_moreboolWhether has more message
next_seqInt64The starting sequence for the next query

GetGmeTicketResult

/// namespace: Pgos.Client
struct GetGmeTicketResult
fieldtypedescription
gme_ticketstringResult of the gme ticket request, which is base64 encoded
voice_app_idstringIndicates the gme app id registed on portal
gme_typestringService provider: aws, tcloud_chinese_mainland, tcloud_intl, etc.

JoinInstantChatResult

The result of players joining instant chat

/// namespace: Pgos.Client
struct JoinInstantChatResult
fieldtypedescription
chat_channel_idstringThe chat channel

ReceiveInstantChatMsgEvt

Event result of receive instant chat message

/// namespace: Pgos.Client
struct ReceiveInstantChatMsgEvt
fieldtypedescription
chat_channel_idstringID of chat channel where the message was received
chat_msg_infoChatMsgInfoInstant chat message received

InstantChatMemberJoinedEvt

Event result of member joined instant chat

/// namespace: Pgos.Client
struct InstantChatMemberJoinedEvt
fieldtypedescription
chat_channel_idstringInstant chat channel the player joined
added_membersList<PlayerInfo>Players added to the instant chat

InstantChatMemberLeftEvt

Event result of member left instant chat

/// namespace: Pgos.Client
struct InstantChatMemberLeftEvt
fieldtypedescription
chat_channel_idstringInstant chat channel the player left
left_membersList<PlayerInfo>Players left from the channel

GetInstantChatMembersResult

All the players in the channel

/// namespace: Pgos.Client
struct GetInstantChatMembersResult
fieldtypedescription
all_membersList<PlayerInfo>All the players in the channel

SendInstantChatMsgParams

Request struct for sending instant chat message

/// namespace: Pgos.Client
struct SendInstantChatMsgParams
fieldtypedescription
chat_channel_idstringThe chat channel ID
contentstringThe message content to be sent
custom_datastringAdditional information added by the game

GetInstantChatMemberIDsResult

All player IDs in a channel

/// namespace: Pgos.Client
struct GetInstantChatMemberIDsResult
fieldtypedescription
all_member_idsList<string>All the players in the channel

GetInstantChatMemberCountResult

The num of players in a channel

/// namespace: Pgos.Client
struct GetInstantChatMemberCountResult
fieldtypedescription
all_member_countInt32The num of players in a channel

LobbyPlayer

Player in lobby

/// namespace: Pgos.Client
struct LobbyPlayer
fieldtypedescription
player_infoPlayerInfoBase info of a player.
team_namestringCurrent team of the player. Team name is pre-set in lobby configuration
team_slotUInt32Slot index of the player. Starting value is 1
sourceLobbyJoiningSourceThe source of the player join the lobby
readyboolReady flag of the player

LobbyTeam

Team struct of current lobby

/// namespace: Pgos.Client
struct LobbyTeam
fieldtypedescription
namestringTeam name is pre-set in lobby configuration
capacityUInt32Capacity of the team
playersDictionary<string, LobbyPlayer>A map from team slot(in string format) to LobbyPlayer for all players in the team.
groupstringThe group to which the team belongs
start_battle_conditionLobbyStartBattleConditionThe action when the lobby owner invokes the StartBattle interface depends on the Ready flag of lobby members.

LobbyBriefInfo

Brief information of a lobby

/// namespace: Pgos.Client
struct LobbyBriefInfo
fieldtypedescription
lobby_idstringA unique lobby ID which was displayed on the game client.
lobby_ownerLobbyPlayerThe name of the lobby owner.
namestringThe name of the lobby.
statusLobbyStatusThe current lobby status.
privacyLobbyPrivacyLobby privacy type: Dummy, Invisible, or Invisible
protectionLobbyProtectionLobby protection type: Dummy, PasswordNeeded, PasswordUnNeeded
player_countUInt32The number of players in the lobby
player_limitUInt32Sum of capacities of all teams
kv_dataDictionary<string, string>Global kv data of the lobby. Only owner has the permission to modify it.
player_kv_dataDictionary<string, string>Player custom data of each lobby member. The map key is lobby member's player ID, the map value is the lobby member's custom data. Each lobby member could modify it's player kv data.
game_modestringThe game mode of the lobby. Each game mode can be configured with a placer on the portal

LobbyDetailInfo

Detailed information of a lobby

/// namespace: Pgos.Client
struct LobbyDetailInfo : LobbyBriefInfo

parent: LobbyBriefInfo

fieldtypedescription
status_reasonLobbyStatusReasonThe reason that the lobby status changes.
passwordstringPassword needed to join the lobby
teamsList<LobbyTeam>The team struct of current lobby.
lobby_configstringLobby configuration name of current lobby
chat_channel_idstringAn unique chat channel ID for the lobby's chat channel; empty if enable_chatting was set to false when the lobby was created.
battle_session_idstringThe battle session that started from the lobby
preparing_timeoutUInt32The maximum time to wait for all request members to accept the request
placing_timeoutUInt32The maximum time to wait for placing the battle session
battle_session_providerstringProvider of battle session management service. PGOS for PGOS battle service, STANDALONE for self-build battle session management service.

CreateLobbyParams

The information needed to create the lobby.

/// namespace: Pgos.Client
struct CreateLobbyParams
fieldtypedescription
lobby_configstringLobby configuration name of current lobby
namestringThe name of the lobby.
privacyLobbyPrivacyLobby privacy type: Dummy, Invisible, or Invisible
passwordstringPassword needed to join the lobby
enable_chattingboolIf true, the lobby members can use SendLobbyChatTextMsg/SendLobbyChatCustomMsg/SetOnReceiveLobbyChatMsg
kv_dataDictionary<string, string>Lobby global data. Each key-value pair is a string. Special note: When using this parameter to filter room instances (such as in the SearchLobby/QuickJoin interfaces), PGOS supports parsing special string values as lists to enable more complex set-based filtering operations. The string value formats that can be parsed as lists include: [a, b, c] / ["a", "b", "c"] (where the double quotes will be automatically stripped).
protectionLobbyProtectionOptional, the lobby protection policy.
game_modestringOptional, the game mode of the lobby. After starting the battle, the placer corresponding to the game mode on the portal will be used. If this game mode does not have a placer configured, the default placer configured on the portal will be used.

EditLobbyInfoParams

The lobby information that needs to be updated. These data will overwrite the previous data.

/// namespace: Pgos.Client
struct EditLobbyInfoParams
fieldtypedescription
namestringThe name of the lobby.
privacyLobbyPrivacyLobby privacy type: Dummy, Invisible, or Invisible
passwordstringPassword needed to join the lobby
kv_dataDictionary<string, string>Deprecated since <v0.33.2>, use SetSetLobbyGlobalData instead
protectionLobbyProtectionThe lobby protection policy.
game_modestringthe game mode of the lobby. After starting the battle, the placer corresponding to the game mode on the portal will be used. If this game mode does not have a placer configured, the default placer configured on the portal will be used.

JoinLobbyParams

The information needed when join the lobby

/// namespace: Pgos.Client
struct JoinLobbyParams
fieldtypedescription
lobby_idstringThe lobby id to join
passwordstringThe lobby password. If the lobby is not encrypted, it doesn't need to be filled.
join_tokenstringIt is from the event of 'OnLobbyInvitation' if the player is invited to join a lobby, Otherwise it doesn't need to be filled.
payloadstringJoin request payload will be passed to the lobby owner in OnLobbyJoinRequest event for a lobby with LobbyProtection::ApplicationNeeded.

JoinLobbyWithGroupsParams

The information needed when join the lobby

/// namespace: Pgos.Client
struct JoinLobbyWithGroupsParams : JoinLobbyParams

parent: JoinLobbyParams

fieldtypedescription
selected_groupsDictionary<string, UInt32>Try to join the specified groups in the lobby according to the specified priority value from small to large. key: group, value: priority.(priority cannot be less than 0)

JoinLobbyWithTeamsParams

The information needed when join the lobby

/// namespace: Pgos.Client
struct JoinLobbyWithTeamsParams : JoinLobbyParams

parent: JoinLobbyParams

fieldtypedescription
selected_teamsDictionary<string, UInt32>Try to join the specified teams in the lobby according to the specified priority value from small to large. key: team name, value: priority.(priority cannot be less than 0)

SearchLobbyDataFilter

Lobby data search filter

/// namespace: Pgos.Client
struct SearchLobbyDataFilter
fieldtypedescription
equal_valuesList<string>[Only for single string value] List all values that meet the filtering data. This field does not take effect when 'treat_as_list_value' is true.
not_equal_valuesList<string>[Only for single string value] List all values that do not meet the filtering data. This field does not take effect when 'treat_as_list_value' is true.
set_is_subset_valuesList<string>[Only for list value] Target data list value is subset of giving list. This field does not take effect when 'treat_as_list_value' is false.
set_intersection_valuesList<string>[Only for list value] The intersection between the target list and the given list is not empty. This field does not take effect when 'treat_as_list_value' is false.
treat_as_list_valueboolWhether to treat the target value in lobby_data as a list value, defaulting to false.

SearchLobbyParams

The optional filter information when searching the lobby list.

/// namespace: Pgos.Client
struct SearchLobbyParams
fieldtypedescription
lobby_idstringOptional, search for the specified lobby by id. It can search for the lobby of 'Invisible'
lobby_configstringOptional, search for the lobby of the specified config, such as 'lobby 1v1'
statusLobbyStatusOptional, search for the lobby in the specific state
protectionLobbyProtectionOptional, for example, only search for the lobby without password
offsetUInt32The starting position of the search
countUInt32The search count
order_byLobbyOrderBySearch order
order_typeLobbyOrderTypeOrder direction
lobby_dataDictionary<string, SearchLobbyDataFilter>Filter by global kv data of the lobby. The map key is lobby data key, and the map value is lobby data filter.

SearchLobbyResult

The result of the search lobby request

/// namespace: Pgos.Client
struct SearchLobbyResult
fieldtypedescription
lobbiesList<LobbyBriefInfo>A list of lobbies filtered by our search. If these data are not filled (lobby_id, lobby_config, status, protection), all existing lobbies will be returned.
total_matched_lobbies_countInt64The total number of lobbies filtered by the search

QuickJoinLobbyParams

/// namespace: Pgos.Client
struct QuickJoinLobbyParams
fieldtypedescription
lobby_configstringRequired, lobby configuration name.
lobby_dataDictionary<string, SearchLobbyDataFilter>Optional, filter by global kv data of the lobby. The map key is lobby data key, and the map value is lobby data filter.
selected_groupsDictionary<string, UInt32>Optional, selected_groups will be used when PGOS place the player into lobby instance. Try to join the specified groups in the lobby according to the specified priority value from small to large. key: group, value: priority.(priority cannot be less than 0)
selected_teamsDictionary<string, UInt32>Optional, selected_teams will be used when PGOS place the player into lobby instance. Try to join the specified teams in the lobby according to the specified priority value from small to large. key: team name, value: priority.(priority cannot be less than 0)

SendLobbyChatMsgParams

Request struct for sending lobby chat message

/// namespace: Pgos.Client
struct SendLobbyChatMsgParams
fieldtypedescription
contentstringThe message content to be sent
custom_datastringAdditional information added by the game

SetFriendRemarkParams

Request struct for set friend remark.

/// namespace: Pgos.Client
struct SetFriendRemarkParams
fieldtypedescription
player_idstringPlayer's ID
remarkstringremark to the friend

AddFriendParams

Request struct for add friend.

/// namespace: Pgos.Client
struct AddFriendParams
fieldtypedescription
player_idstringThe player id to add
messagestringRequest message

BatchAddFriendParams

Request struct for batch add friend.

/// namespace: Pgos.Client
struct BatchAddFriendParams
fieldtypedescription
player_idsList<string>The player ids to add
messagestringRequest message

FriendReqInfo

The friend request details.

/// namespace: Pgos.Client
struct FriendReqInfo
fieldtypedescription
player_infoPlayerInfoBasic player information such as display name and avatar.
messagestringThe request message sent from the player who wants to add you as a friend.
created_timeInt64The Unix timestamp(in seconds) when the request was created.

BatchAddFriendRsp

Response that add batch friends.

/// namespace: Pgos.Client
struct BatchAddFriendRsp
fieldtypedescription
fail_playersDictionary<string, string>Players who totally failed, key: player_id, value: failed reason.

FriendReqListInfo

The list of friend requests.

/// namespace: Pgos.Client
struct FriendReqListInfo
fieldtypedescription
friend_request_info_listList<FriendReqInfo>The list of friend requests

GetMyFriendsLimitResult

Response to get my friends limit.

/// namespace: Pgos.Client
struct GetMyFriendsLimitResult
fieldtypedescription
friends_limitUInt32The maximum limit of friends you can have.

BatchAccountIDToPlayerIDResult

The result of batch account ids to player ids.

/// namespace: Pgos.Client
struct BatchAccountIDToPlayerIDResult
fieldtypedescription
dataDictionary<string, string>Result of successful conversion, key: account id, value: player id.
failsDictionary<string, string>Partial failure result, key: account id, value: failed reason.

BlocklistInfo

My blocklist details

/// namespace: Pgos.Client
struct BlocklistInfo
fieldtypedescription
player_info_listList<PlayerInfo>Players in my blocklist

SyncAccountPlatformBlocklistResult

All blocklist's player IDs

/// namespace: Pgos.Client
struct SyncAccountPlatformBlocklistResult
fieldtypedescription
all_blocklistList<string>All players in blocklist

PlayerPresence

The player's current status information which is set by game, such as in party , in lobby, in battle.

/// namespace: Pgos.Client
struct PlayerPresence
fieldtypedescription
statusOnlineStatusOnline status is provided by PGOS Server. It has two values: online and offline.
presencestringThe player's current status information which is set by game, such as in party , in lobby, in battle.

BatchGetPlayerPresenceRsp

Response of querying multiple players' presence

/// namespace: Pgos.Client
struct BatchGetPlayerPresenceRsp
fieldtypedescription
player_presencesDictionary<string, PlayerPresence>Presences of the players, key: player_id, value: the player's presence.
fail_playersDictionary<string, string>Players who totally failed, key: player_id, value: failed reason.

PlayerFriendInfo

Details of a player's friend

/// namespace: Pgos.Client
struct PlayerFriendInfo
fieldtypedescription
player_infoPlayerInfoBasic player information such as display name and avatar.
player_presencePlayerPresenceThe player's current status information which is set by game, such as in party , in lobby, in battle.
remarkstringremark to the player, for example, "Tommy, a humorous man, met in the battle."

PlayerSearchInfo

Details of player search

/// namespace: Pgos.Client
struct PlayerSearchInfo
fieldtypedescription
player_infoPlayerInfoBasic player information such as display name and avatar.
player_presencePlayerPresenceThe player's current status information which is set by game, such as in party , in lobby, in battle.
remarkstringThe remark of the player
is_friendboolWhether the searched player is a friend
is_blockedboolWhether the searched player is placed in the blocked list

FriendListInfo

Friend list details

/// namespace: Pgos.Client
struct FriendListInfo
fieldtypedescription
friend_info_listList<PlayerFriendInfo>Friend list details

PlayerSearchInfoList

A list of player search details

/// namespace: Pgos.Client
struct PlayerSearchInfoList
fieldtypedescription
info_listList<PlayerSearchInfo>A list of player search details

PlatformPlayerInfo

Players of external platform such as Steam

/// namespace: Pgos.Client
struct PlatformPlayerInfo
fieldtypedescription
account_open_idstringAccount openIDs of external platform such as Steam.
player_infoPlayerInfoBasic player information such as display name and avatar.
player_presencePlayerPresenceThe player's current status information which is set by game, such as in party , in lobby, in battle.
remarkstringThe remark of the player
is_friendboolWhether the searched player is a friend
is_blockedboolWhether the searched player is placed in the blocked list

PlatformPlayerInfoMap

A map of players of external platform such as Steam.

/// namespace: Pgos.Client
struct PlatformPlayerInfoMap
fieldtypedescription
transform_item_mapDictionary<string, PlatformPlayerInfo>A map of players of external platform such as Steam. Key: player's open_id, Value: PlatformPlayerInfo

AcceptFriendRequestResult

Result of accept friend request.

/// namespace: Pgos.Client
struct AcceptFriendRequestResult
fieldtypedescription
friend_infoPlayerFriendInfoNew friend information obtained after accepting.

SearchPlayerFilter

Filter param for search player.

/// namespace: Pgos.Client
struct SearchPlayerFilter
fieldtypedescription
osList<ClientOS>OS filter. Currently supports passing in at most one OS. Empty means no filtering based on OS.

SearchPlayersParams

Request struct for search players

/// namespace: Pgos.Client
struct SearchPlayersParams
fieldtypedescription
search_keystringKey words to for searching, now only supports searching based on player id and player name. Search results are paged back.
offsetUInt32Index of the first data in all search results.
countUInt32Maximum count of results returned in one page, the maximum value of 'count' is 50

SearchPlayersWithFilterParams

Request struct for search players with filter

/// namespace: Pgos.Client
struct SearchPlayersWithFilterParams
fieldtypedescription
search_keystringKey words to for searching, now only supports searching based on player id and player name. Search results are paged back.
search_filterSearchPlayerFilterFilter by OS etc..
offsetUInt32Index of the first data in all search results.
countUInt32Maximum count of results returned in one page, the maximum value of 'count' is 50

UniqueItemDeduction

Price deduction for unique items in the store item configured on the portal.

/// namespace: Pgos.Client
struct UniqueItemDeduction
fieldtypedescription
item_idstringThe id of the unique item.
deduction_priceUInt32The deduction price of the unique item configured on the portal.
is_deductedboolTrue means that the player owns the unique item and a deduction occurred when purchasing the store item.

CompensationCurrency

Currency compensation.

/// namespace: Pgos.Client
struct CompensationCurrency
fieldtypedescription
currency_codestringThe code of the currency.
amountUInt32The amount of the currency.

UniqueItemCompensation

Compensation for unique items in the store item configured on the portal. This used when pay_platform is MidasGlobal

/// namespace: Pgos.Client
struct UniqueItemCompensation
fieldtypedescription
currenciesList<CompensationCurrency>Currency compensations.

StoreItemPrice

The price of a store item.

/// namespace: Pgos.Client
struct StoreItemPrice
fieldtypedescription
currency_codestringThe code of the currency.
currency_namestringThe name of the currency.
currency_iconstringThe uri of the currency.
priceUInt32The actual price used to purchase the store item with the currency. selling_price deducts the deduction_price where is_deducted is true in unique_item_deductions.
selling_priceUInt32Selling price in the store, defined in the store item of the portal. When creating a store item on the portal, you can directly use the price defined in the in-game item (default_price), at this time selling_price is equal to default_price, or you can use custom selling price.
original_priceUInt32Deprecated since <v0.25.0>. Use selling_price instead.
default_priceUInt32The price of in-game item. defined in the in-game item of the portal.
unique_item_deductionsDictionary<string, UniqueItemDeduction>Price deduction for unique items in the store item configured on the portal. Key: unique item id.

ItemPrice

The currency code and price used to purchase the item

/// namespace: Pgos.Client
struct ItemPrice
fieldtypedescription
currency_codestringThe code of the currency.
priceUInt32The actual price used to purchase the store item with the currency.

GetBalancesResult

/// namespace: Pgos.Client
struct GetBalancesResult
fieldtypedescription
balancesList<Balance>The balances that the player owns.

StoreItemPurchaseLimit

Purchase amount limit of store item.

/// namespace: Pgos.Client
struct StoreItemPurchaseLimit
fieldtypedescription
max_purchase_amountUInt32The maximum amount limit that players can purchase for this store item. 0 means no limit.
purchased_amountUInt32When max_purchase_amount is greater than 0, record the amount that the player has purchased. Please note that when the category period is switched, its value will be recalculated.

StoreItem

/// namespace: Pgos.Client
struct StoreItem
fieldtypedescription
pay_platformstringPay platform name, such as: 'Pgos', 'MidasGlobal', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h @ Pgos, make a virtual currency payment to PGOS to purchase this item. @ MidasGlobal, make a cash payment through Midas to purchase this item.
store_item_idstringThe id of the store item.
statusStoreItemStatusStore item status: Dummy / Available / Owned / ExceedLimit.
pricesList<StoreItemPrice>The currency to purchase the store item, it may be multiple.
itemInGameItemThe in-game item related to the store item.
tagsDictionary<string, string>The tags of store item Fill in the tags of item on the portal.
purchase_limitStoreItemPurchaseLimitPurchase amount limit of store item.
compensationsDictionary<string, UniqueItemCompensation>The compensation for unique items in the store item configured on the portal when pay_platform is MidasGlobal. Key: unique item id.

StoreCategoryBrief

The brief information of the store category.

/// namespace: Pgos.Client
struct StoreCategoryBrief
fieldtypedescription
category_idstringThe id of the category.
namestringThe name of the category.
descriptionstringThe description of the category.
tagsDictionary<string, string>The custom tags of the category.
typeStoreCategoryTypeThe type of the category.
published_start_timeInt64The Unix timestamp (in seconds) for the start time of the currently active period. It is always 0 under the simple type.
published_end_timeInt64The Unix timestamp (in seconds) for the end time of the currently active period. It is always 0 under the simple type.

StoreCategory

The information of the store category.

/// namespace: Pgos.Client
struct StoreCategory : StoreCategoryBrief

parent: StoreCategoryBrief

fieldtypedescription
content_itemsList<StoreItem>Store items in the category.

Store

/// namespace: Pgos.Client
struct Store
fieldtypedescription
store_idstringThe id of the store.
display_namestringThe name of the store.
descriptionstringThe description of the store.
tagsDictionary<string, string>The custom tags of the store.
categoriesList<StoreCategory>The category list of the the store, each category has a store item list.
item_dictItemDictIn-game item defines that may be referenced in the 'item_content', and you can use 'ItemDict::FindItem' to search.
platform_item_mappingDictionary<string, string>The mapping relationship between PGOS in-game items and 3rd-party platform items configured on the PGOS portal. key: PGOS in-game item id, value: 3rd-party platform item id.

StoreBrief

The brief information of the store.

/// namespace: Pgos.Client
struct StoreBrief
fieldtypedescription
store_idstringThe id of the store.
display_namestringThe name of the store.
descriptionstringThe description of the store.
tagsDictionary<string, string>The custom tags of the store.
category_briefsList<StoreCategoryBrief>The category brief list of the the store.

GetStoreBriefsParams

/// namespace: Pgos.Client
struct GetStoreBriefsParams
fieldtypedescription
store_idsList<string>List of store IDs to be queried.

GetStoreBriefsResult

/// namespace: Pgos.Client
struct GetStoreBriefsResult
fieldtypedescription
store_briefsDictionary<string, StoreBrief>List of store brief information queried.

GetStoreParams

/// namespace: Pgos.Client
struct GetStoreParams
fieldtypedescription
store_idstringThe specified store id.
pay_platformstring[Optional] Pay platform name, such as: 'Steam', 'Xbox', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h After specifying the pay platform, the result will bring the platform_item_mapping of the corresponding platform configured on the portal.

GetStoreWithPlatformParams

/// namespace: Pgos.Client
struct GetStoreWithPlatformParams : GetStoreParams

parent: GetStoreParams

GetStoreCategoriesParams

/// namespace: Pgos.Client
struct GetStoreCategoriesParams
fieldtypedescription
store_idstringThe specified store id.
category_idsList<string>List of category IDs to be queried.
pay_platformstring[Optional] Pay platform name, such as: 'Steam', 'Xbox', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h After specifying the pay platform, the result will bring the platform_item_mapping of the corresponding platform configured on the portal.

GetStoreCategoriesResult

/// namespace: Pgos.Client
struct GetStoreCategoriesResult
fieldtypedescription
categoriesList<StoreCategory>The specified categories that have been queried.
failsDictionary<string, string>Categories that failed to query, key: player id, value: failed reason.
item_dictItemDictIn-game item defines that may be referenced in the 'item_content', and you can use 'ItemDict::FindItem' to search.
store_idstringThe id of the store.
display_namestringThe name of the store.
descriptionstringThe description of the store.
tagsDictionary<string, string>The custom tags of the store.
platform_item_mappingDictionary<string, string>The mapping relationship between PGOS in-game items and 3rd-party platform items configured on the PGOS portal. key: PGOS in-game item id, value: 3rd-party platform item id.

InstanceOperationResult

/// namespace: Pgos.Client
struct InstanceOperationResult
fieldtypedescription
instance_idstringThe instance id of this operation.
left_amountUInt32The number of instance remaining after this operation.

ConsumeInstanceParams

Request struct for consume instance.

/// namespace: Pgos.Client
struct ConsumeInstanceParams : BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
instance_idstringThe item instance id.
idempotency_tokenstring[Optional] Used to ensure the idempotence of the function. Idempotence means that regardless of how many times the function is called, the result remains the same. By passing a unique idempotency_token, it ensures that the function does not produce duplicate side effects or results when called repeatedly. Note: To avoid generating the same idempotency_token as other players, it is recommended to concatenate it with the player's own player ID.

ConsumeInstanceResult

/// namespace: Pgos.Client
struct ConsumeInstanceResult : InstanceOperationResult

parent: InstanceOperationResult

fieldtypedescription
custom_err_codeInt32The error code returned by the virtual server bound to the consumer action.
custom_err_msgstringThe error msg returned by the virtual server bound to the consumer action.
func_resultstringThe json string returned by the virtual server bound to the consumer action.
replayedboolWhether the request is replayed. When it is True, it indicates that the result of the function is obtained by replaying with the same idempotency_token. This means that the result of the function has been generated in a previous call and is being reused in the current call.

OpenContainerInstanceParams

Request struct for open container instance.

/// namespace: Pgos.Client
struct OpenContainerInstanceParams : BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
instance_idstringThe container instance id.

OpenContainerResult

/// namespace: Pgos.Client
struct OpenContainerResult : InstanceOperationResult

parent: InstanceOperationResult

fieldtypedescription
item_instsItemInstPackThe item instances obtained after opening the container.
currenciesList<Currency>The currencies obtained after opening the container.
conflict_unique_itemsList<ConflictUniqueItem>Unique items that already in inventory cause failed to be synchronized.

RevokeInstanceParams

Request struct for revoke instance.

/// namespace: Pgos.Client
struct RevokeInstanceParams : BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
instance_idstringThe item instance id.

SetInstanceTagsParams

/// namespace: Pgos.Client
struct SetInstanceTagsParams
fieldtypedescription
instance_idstringThe item instance id.
update_dataDictionary<string, string>Update the data of the specified keys in the tags. If the key does not exist, it indicates inserting new data.
delete_keysList<string>Delete the data of specified keys in the tags. The key from update_data cannot be included.

SetInstanceTagsResult

/// namespace: Pgos.Client
struct SetInstanceTagsResult
fieldtypedescription
tagsDictionary<string, string>Latest tags of item instance.

CreateStoreOrderParams

Request struct for create order.

/// namespace: Pgos.Client
struct CreateStoreOrderParams : BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
store_idstringThe store id of this store item.
store_item_idstringThe store item id.
amountUInt32The amount of store item will be purchased.
priceItemPriceThe currency code and actual price to purchase the item, it must be one of the prices of this store item.

CreateStoreOrderResult

/// namespace: Pgos.Client
struct CreateStoreOrderResult
fieldtypedescription
order_idstringOrder ID required for purchase.

CommitStoreOrderParams

Request struct for commit order.

/// namespace: Pgos.Client
struct CommitStoreOrderParams
fieldtypedescription
order_idstringThe previously created order ID.

CommitStoreOrderResult

/// namespace: Pgos.Client
struct CommitStoreOrderResult
fieldtypedescription
spent_currency_codestringThe code of currency that has been spent to purchase the store item.
spent_currency_amountUInt32The amount of currency that has been spent to purchase the store item.
item_instsItemInstPackThe item instances obtained after purchase.
currenciesList<Currency>The currencies obtained after purchase.
statusStoreOrderStatusOrder status.
failed_currenciesDictionary<string, string>Currencies that failed to grant. Mapping from currency code to failure reason.

QueryStoreOrderParams

/// namespace: Pgos.Client
struct QueryStoreOrderParams
fieldtypedescription
order_idstringThe previously created order ID.

QueryStoreOrderResult

/// namespace: Pgos.Client
struct QueryStoreOrderResult : CommitStoreOrderResult

parent: CommitStoreOrderResult

CheckBeforePlatformPurchaseParams

/// namespace: Pgos.Client
struct CheckBeforePlatformPurchaseParams
fieldtypedescription
item_idstringThe PGOS in-game item id corresponding to the item id of the 3rd-party platform to be purchased.
amountUInt32The amount of item will be purchased.
pay_platformstringPay platform name, such as: 'Steam', 'EpicGames', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h

SyncPlayerPlatformInventoryParams

Request struct for sync player inventory from 3rd-party platform.

/// namespace: Pgos.Client
struct SyncPlayerPlatformInventoryParams : BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
pay_platformstringPay platform name, such as: 'Steam', 'EpicGames', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h

SyncPlayerPlatformInventoryResult

/// namespace: Pgos.Client
struct SyncPlayerPlatformInventoryResult
fieldtypedescription
item_instsItemInstPackThe item instances obtained after synchronized.
currenciesList<Currency>The currencies obtained after synchronized.
conflict_unique_itemsList<ConflictUniqueItem>Unique items that already in inventory cause failed to be synchronized.

SyncSteamPlayerInventoryParams

Request struct for sync player inventory from Steam platform.

/// namespace: Pgos.Client
struct SyncSteamPlayerInventoryParams : BaseBackendEventParams

parent: BaseBackendEventParams

SyncSteamPurchaseParams

Request struct for sync item instance from Steam.

/// namespace: Pgos.Client
struct SyncSteamPurchaseParams : BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
steam_item_inst_idUInt64Steam item instance id.

SyncSteamPurchaseResult

/// namespace: Pgos.Client
struct SyncSteamPurchaseResult : SyncPlayerPlatformInventoryResult

parent: SyncPlayerPlatformInventoryResult

SyncXboxPlayerInventoryParams

Request struct for sync player inventory from Xbox platform.

/// namespace: Pgos.Client
struct SyncXboxPlayerInventoryParams : BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
xbox_xsts_tokenstringXbox XSTS token.

SyncXboxPurchaseParams

Request struct for sync item instance from Xbox.

/// namespace: Pgos.Client
struct SyncXboxPurchaseParams : BaseBackendEventParams

parent: BaseBackendEventParams

fieldtypedescription
xbox_product_idstringXbox product id. Also referred to as the Store ID for the product within the Microsoft Store catalog.
xbox_xsts_tokenstringXbox XSTS token.

SyncXboxPurchaseResult

/// namespace: Pgos.Client
struct SyncXboxPurchaseResult : SyncPlayerPlatformInventoryResult

parent: SyncPlayerPlatformInventoryResult

InventoryGrantedEvt

/// namespace: Pgos.Client
struct InventoryGrantedEvt
fieldtypedescription
item_instsItemInstPackThe item instances granted.
src_typestringSource type of granted. For example, "Store", "Midas", "Portal", "Client", "DS", "VS", "System", "Mail" etc.

CurrencyChange

/// namespace: Pgos.Client
struct CurrencyChange
fieldtypedescription
currency_codestringThe code of currency that has been changed.
before_valueInt64The amount of changed currency before this change.
after_valueInt64The amount of changed currency after this change.

BalanceUpdatedEvt

/// namespace: Pgos.Client
struct BalanceUpdatedEvt
fieldtypedescription
currenciesList<CurrencyChange>The details of changed currencies.
reasonstringThe reason caused the currencies changes. Usually will be 'Deduct' or 'Grant'

VirtualServerEvt

/// namespace: Pgos.Client
struct VirtualServerEvt
fieldtypedescription
json_strstringThe message is in json format.

AddFriendRequestEvt

/// namespace: Pgos.Client
struct AddFriendRequestEvt
fieldtypedescription
req_infoFriendReqInfoThe request details.

AddFriendResponseEvt

/// namespace: Pgos.Client
struct AddFriendResponseEvt
fieldtypedescription
friend_infoPlayerFriendInfoThe friend details.

FriendRemovedEvt

/// namespace: Pgos.Client
struct FriendRemovedEvt
fieldtypedescription
player_infoPlayerInfoThe player details.

BadgeNumOfFriendReqEvt

/// namespace: Pgos.Client
struct BadgeNumOfFriendReqEvt
fieldtypedescription
badge_numUInt32The badge number of outstanding friend requests.

FriendPresenceChangedEvt

/// namespace: Pgos.Client
struct FriendPresenceChangedEvt
fieldtypedescription
player_idstringThe friend whose presence changed.
player_presencePlayerPresenceFriend's new presence.

LobbyMemberJoinedEvt

/// namespace: Pgos.Client
struct LobbyMemberJoinedEvt
fieldtypedescription
joined_playerLobbyPlayerThe player who newly joined the lobby.
lobby_idstringLobby id.

LobbyMemberLeftEvt

/// namespace: Pgos.Client
struct LobbyMemberLeftEvt
fieldtypedescription
left_playerLobbyPlayerThe player who left the lobby.
is_kick_outboolWas the player kicked out by lobby owner.
lobby_idstringLobby id.

LobbyTeamUpdatedEvt

/// namespace: Pgos.Client
struct LobbyTeamUpdatedEvt
fieldtypedescription
lobby_playersList<LobbyPlayer>The players who update ready flag or change team slot.
lobby_idstringLobby id.

LobbyInvitationEvt

/// namespace: Pgos.Client
struct LobbyInvitationEvt
fieldtypedescription
lobby_detailLobbyDetailInfoThe updated lobby details.
inviterLobbyPlayerThe player who sent the invitation.
join_tokenstringIf the invited player wants to join the lobby, this value of 'join_token' needs to be filled to the 'join_token' of 'JoinLobby'.

LobbyOwnerTransferredEvt

/// namespace: Pgos.Client
struct LobbyOwnerTransferredEvt
fieldtypedescription
new_ownerLobbyPlayerThe new lobby owner.
lobby_idstringLobby id.

LobbyInfoUpdatedEvt

/// namespace: Pgos.Client
struct LobbyInfoUpdatedEvt
fieldtypedescription
lobby_detailLobbyDetailInfoThe updated lobby details.

LobbyDataUpdatedEvt

/// namespace: Pgos.Client
struct LobbyDataUpdatedEvt
fieldtypedescription
lobby_detailLobbyDetailInfoThe updated lobby details.

LobbyStatusChangedEvt

/// namespace: Pgos.Client
struct LobbyStatusChangedEvt
fieldtypedescription
statusLobbyStatusThe current lobby status.
battle_session_idstringThe battle session that started from the lobby
battle_session_providerstringProvider of battle session management service. PGOS for PGOS battle service, STANDALONE for self-build battle session management service.
lobby_idstringLobby id.

BattleSessionUpdatedEvt

/// namespace: Pgos.Client
struct BattleSessionUpdatedEvt
fieldtypedescription
battle_sessionBattleSessionInfoThe updated battle session details.

ReceiveLobbyChatMsgEvt

/// namespace: Pgos.Client
struct ReceiveLobbyChatMsgEvt
fieldtypedescription
chat_msg_infoChatMsgInfoLobby chat messages received.

LobbySwitchTeamSlotRequestEvt

/// namespace: Pgos.Client
struct LobbySwitchTeamSlotRequestEvt
fieldtypedescription
from_player_infoLobbyPlayerLobby player who send the switch request.
request_idstringTeam slot switch request id.
lobby_idstringLobby id.

LobbySwitchTeamSlotRequestConfirmedEvt

/// namespace: Pgos.Client
struct LobbySwitchTeamSlotRequestConfirmedEvt
fieldtypedescription
from_player_infoLobbyPlayerLobby player who confirm the switch request.
request_idstringTeam slot switch request id.
lobby_idstringLobby id.

LobbySwitchTeamSlotRequestRejectedEvt

/// namespace: Pgos.Client
struct LobbySwitchTeamSlotRequestRejectedEvt
fieldtypedescription
from_player_infoLobbyPlayerLobby player who reject the switch request.
request_idstringTeam slot switch request id.
lobby_idstringLobby id.

PartyStrategyChangedEvt

/// namespace: Pgos.Client
struct PartyStrategyChangedEvt
fieldtypedescription
party_idstringThe party id.
join_strategyPartyJoinStrategyThe strategy controls the rules who could join the party.
invite_strategyPartyInviteStrategyThe strategy controls the rules who could invite others to the party.

PartyMemberJoinedEvt

/// namespace: Pgos.Client
struct PartyMemberJoinedEvt
fieldtypedescription
party_idstringThe party id.
joined_memberPlayerInfoThe player who newly joined the party.

PartyMemberLeftEvt

/// namespace: Pgos.Client
struct PartyMemberLeftEvt
fieldtypedescription
party_idstringThe party id.
left_playerPlayerInfoThe player who left the party.
kickedboolWas the player kicked out by party leader.

PartyDismissedEvt

/// namespace: Pgos.Client
struct PartyDismissedEvt
fieldtypedescription
party_idstringThe party id that was dismissed.

PartyLeaderTransferredEvt

/// namespace: Pgos.Client
struct PartyLeaderTransferredEvt
fieldtypedescription
party_idstringThe party id.
new_leaderPlayerInfoThe player who transferred to new leader.

ReceivePartyInvitationEvt

/// namespace: Pgos.Client
struct ReceivePartyInvitationEvt
fieldtypedescription
party_idstringThe party id.
inviterPlayerInfoThe player who sent the invitation.

ReceivePartyChatMsgEvt

/// namespace: Pgos.Client
struct ReceivePartyChatMsgEvt
fieldtypedescription
chat_msg_infoChatMsgInfoParty chat messages received.

PartyCustomDataChangedEvt

/// namespace: Pgos.Client
struct PartyCustomDataChangedEvt
fieldtypedescription
party_idstringThe party id.
custom_dataPartyCustomDataParty custom data.

PartyInfoUpdatedEvt

/// namespace: Pgos.Client
struct PartyInfoUpdatedEvt
fieldtypedescription
party_infoPartyInfoThe party info.

MatchmakingProcessChangedEvt

/// namespace: Pgos.Client
struct MatchmakingProcessChangedEvt
fieldtypedescription
processMatchmakingProcessInfoThe updated matchmaking progress information.

PlayerSessionChangedEvt

/// namespace: Pgos.Client
struct PlayerSessionChangedEvt
fieldtypedescription
evtPlayerSessionEvtThe triggered event id, view event enum for detail.
session_idstringThe id of the current player session
msgstringMessage for the triggered event.

GroupInfo

Group info could be access by players both in or not in the group.

/// namespace: Pgos.Client
struct GroupInfo
fieldtypedescription
group_idstringThe group id.
namestringThe group name.
iconstringUri of the group.
descriptionstringThe description of the group.
tagsList<string>Custom tags of the group.
owner_infoPlayerInfoThe player info of group owner.
member_countInt32Current member count of the group.
max_membersInt32Max member count of the group.
is_officialboolIs it a official group.
created_timeInt64The Unix timestamp(in seconds) when the group was created.
join_ruleGroupJoinRuleThe rules for players to join the group.
global_custom_dataDictionary<string, string>Group global custom data. Can be modified by the group owner or administrators.

GroupDetail

Group detail could be access only by players in the group.

/// namespace: Pgos.Client
struct GroupDetail : GroupInfo

parent: GroupInfo

fieldtypedescription
announcementstringAnnouncement of the group.
is_publicboolCould or couldn't be seen by player not in the group.

GroupMember

/// namespace: Pgos.Client
struct GroupMember
fieldtypedescription
player_infoPlayerInfoBase info of the player.
nicknamestringNick name of a group member.
remarkstringRemark of a group member. Remark can only be modified by group owner and group admin.
player_presencePlayerPresencePlayer presence info.
is_ownerboolTrue if the member is group owner.
is_adminboolTrue if the member is group admin.
joined_timeInt64The Unix timestamp(in seconds) when the member joined.
custom_datastringThe custom data for group member. Could be Can be modified by the player or administrator.

MutedGroupMember

/// namespace: Pgos.Client
struct MutedGroupMember
fieldtypedescription
player_idstringPlayer's ID.
display_namestringPlayer's display name.
group_nicknamestringNickname in the group.
remarkstringRemark of a group member. Remark can only be modified by group owner and group admin.
operator_idstringId of the operator.
operator_display_namestringDisplay name of the operator.
mute_created_timeInt64The Unix timestamp(in seconds) when the mute is created.
mute_expired_timeInt64The Unix timestamp(in seconds) when the mute is expired, 0 means mute forever.
joined_timeInt64The Unix timestamp(in seconds) when the member joined.

GroupMemberBrief

/// namespace: Pgos.Client
struct GroupMemberBrief
fieldtypedescription
player_idstringPlayer's ID.
display_namestringPlayer's display name.
group_nicknamestringNickname of a group member.

GroupInvitation

/// namespace: Pgos.Client
struct GroupInvitation
fieldtypedescription
inviter_infoPlayerInfoBase info of the player.
idstringInvitation id.
msgstringInvitation message. Set by the inviter.
group_infoGroupInfoBase info of the group.
created_timeInt64The Unix timestamp(in seconds) when the invitation was created.
expired_timeInt64The Unix timestamp(in seconds) when the invitation's expired.

GroupInvitationEvt

/// namespace: Pgos.Client
struct GroupInvitationEvt
fieldtypedescription
invitationGroupInvitationThe group invitation info.

RemovedFromGroupEvt

/// namespace: Pgos.Client
struct RemovedFromGroupEvt
fieldtypedescription
group_idstringThe group from which the player was removed.

MutedInGroupEvt

/// namespace: Pgos.Client
struct MutedInGroupEvt
fieldtypedescription
group_idstringThe group in which the player is muted.
operator_idstringId of the operator.
operator_display_namestringDisplay name of the operator.
mute_created_timeInt64The Unix timestamp(in seconds) when the mute is created.
mute_expired_timeInt64The Unix timestamp(in seconds) when the mute is expired, 0 means mute forever.

UnmutedInGroupEvt

/// namespace: Pgos.Client
struct UnmutedInGroupEvt
fieldtypedescription
group_idstringThe group in which the player is unmuted.
operator_idstringId of the operator.
operator_display_namestringDisplay name of the operator.

GroupDismissedEvt

/// namespace: Pgos.Client
struct GroupDismissedEvt
fieldtypedescription
group_idstringThe group id.
dismiss_reasonstringReason for group dismissed.

BadgeNumOfGroupInvitationEvt

/// namespace: Pgos.Client
struct BadgeNumOfGroupInvitationEvt
fieldtypedescription
badge_numUInt32The badge number of group invitation.

GroupDetailChangedEvt

/// namespace: Pgos.Client
struct GroupDetailChangedEvt
fieldtypedescription
group_detailGroupDetailGroup detail information.

GroupGlobalCustomDataChangedEvt

/// namespace: Pgos.Client
struct GroupGlobalCustomDataChangedEvt
fieldtypedescription
group_idstringGroup id.
global_custom_dataDictionary<string, string>Updated group global custom data.

GroupPlayerCustomDataChangedEvt

/// namespace: Pgos.Client
struct GroupPlayerCustomDataChangedEvt
fieldtypedescription
group_idstringGroup id.
player_custom_dataDictionary<string, string>Updated custom data for each player.

CreateGroupParams

/// namespace: Pgos.Client
struct CreateGroupParams
fieldtypedescription
namestringThe group name.
iconstringUri of the group.
descriptionstringThe description of the group.
tagsList<string>Custom tags of the group.
join_ruleGroupJoinRuleThe rules for players to join the group.
is_publicboolCould or couldn't be seen by player not in the group.

SetGroupNameParams

/// namespace: Pgos.Client
struct SetGroupNameParams
fieldtypedescription
group_idstringGroup ID.
group_namestringGroup name.

SetGroupDescParams

/// namespace: Pgos.Client
struct SetGroupDescParams
fieldtypedescription
group_idstring
group_descriptionstring

SetGroupAnnouncementParams

/// namespace: Pgos.Client
struct SetGroupAnnouncementParams
fieldtypedescription
group_idstring
group_announcementstring

SetGroupTagsParams

/// namespace: Pgos.Client
struct SetGroupTagsParams
fieldtypedescription
group_idstring
tagsList<string>

SetMyGroupNicknameParams

/// namespace: Pgos.Client
struct SetMyGroupNicknameParams
fieldtypedescription
group_idstring
nicknamestring

SetGroupMemberRemarkParams

/// namespace: Pgos.Client
struct SetGroupMemberRemarkParams
fieldtypedescription
group_idstring
player_idstring
remarkstring

BatchSetGroupMemberRemarkParams

/// namespace: Pgos.Client
struct BatchSetGroupMemberRemarkParams
fieldtypedescription
group_idstring
player_idsList<string>
remarkstring

InvitePlayersToGroupParams

/// namespace: Pgos.Client
struct InvitePlayersToGroupParams
fieldtypedescription
group_idstring
invite_msgstring
player_idsList<string>

CreateGroupRsp

/// namespace: Pgos.Client
struct CreateGroupRsp
fieldtypedescription
group_detailGroupDetail
is_profaneboolWhether the updated data contains profanity words.

SearchGroupParams

/// namespace: Pgos.Client
struct SearchGroupParams
fieldtypedescription
official_filterGroupOfficialFilterTypeThe search count
left_room_filterGroupRoomFilterTypeThe search count
tags_filterList<string>The search count
order_byGroupOrderByThe search count
order_typeGroupOrderTypeThe search count
offsetUInt32The starting position of the search
countUInt32The search count

SearchGroupRsp

/// namespace: Pgos.Client
struct SearchGroupRsp
fieldtypedescription
group_listList<GroupInfo>List of groups.
total_numUInt32The total number of groups that meet the filters.
next_offsetUInt32The next starting position of the list.

GetGroupDiscoveryListParams

/// namespace: Pgos.Client
struct GetGroupDiscoveryListParams
fieldtypedescription
owner_osList<ClientOS>Only obtain groups where the group owner's OS is the specified OS. Currently supports passing in at most one OS. Empty means no filtering based on OS.
recommend_countUInt32Get the number of recommended groups additionally, cannot exceed 50. Recommended groups can be configured on the portal.
offsetUInt32The starting position of the list.
countUInt32The query count, cannot exceed 50.

GetGroupDiscoveryListResult

/// namespace: Pgos.Client
struct GetGroupDiscoveryListResult
fieldtypedescription
recommend_group_listList<GroupInfo>Additional recommended groups.
group_listList<GroupInfo>List of groups.
next_offsetUInt32The next starting position of the list.
total_numUInt32The total number of group discoveries.

InvitePlayersToGroupRsp

Response that invite players to a group.

/// namespace: Pgos.Client
struct InvitePlayersToGroupRsp
fieldtypedescription
group_idstringPlayers that failed to invite, key: player id, value: failed reason.
invitation_mapDictionary<string, string>Players that success to invite, key: player id, value: invitation_id.
failsDictionary<string, string>Players that failed to invite, key: player id, value: failed reason.

BatchGetGroupInfoRsp

/// namespace: Pgos.Client
struct BatchGetGroupInfoRsp
fieldtypedescription
group_info_listList<GroupInfo>The group info list.
failsDictionary<string, string>Groups that failed to query, key: group id, value: failed reason.

BatchGetGroupDetailRsp

/// namespace: Pgos.Client
struct BatchGetGroupDetailRsp
fieldtypedescription
group_detail_listList<GroupDetail>The group detail data list.
failsDictionary<string, string>Groups that failed to query, key: group id, value: failed reason.

GetGroupMembersRsp

/// namespace: Pgos.Client
struct GetGroupMembersRsp
fieldtypedescription
group_membersDictionary<string, GroupMember>Group members, key: player id, value: group member information.
muted_membersDictionary<string, MutedGroupMember>Muted group members, key: player id, value: muted member information.

GetGroupMemberRsp

/// namespace: Pgos.Client
struct GetGroupMemberRsp
fieldtypedescription
is_memberboolWhether the player is a member of a group.
member_infoGroupMemberGroup member information.

AcceptGroupInvitationRsp

/// namespace: Pgos.Client
struct AcceptGroupInvitationRsp
fieldtypedescription
group_detailGroupDetailThe group detail data.
badge_numUInt32The badge number of outstanding group invitations.

RejectGroupInvitationRsp

/// namespace: Pgos.Client
struct RejectGroupInvitationRsp
fieldtypedescription
badge_numUInt32The badge number of outstanding group invitations.

UpdateGroupRsp

/// namespace: Pgos.Client
struct UpdateGroupRsp
fieldtypedescription
group_detailGroupDetailThe updated group detail.
is_profaneboolWhether the updated data contains profanity words.

PrivacySettingInfo

The privacy settings of player, the initial default values of the setting items can be set on the PGOS portal.

/// namespace: Pgos.Client
struct PrivacySettingInfo
fieldtypedescription
allow_searched_by_othersboolWhether allow being searched by other players, true: allowed, false: not allowed.
allow_friend_requestboolWhether allow receiving other players' add-friend requests, true: allow, false: not allow.
allow_nonfriend_perschatboolWhether allow non-friend players to have a personal chat with you, true: allow, false: not allow.
allow_group_invitationboolWhether allow other players to invite you to join a group, true: allow, false: not allow.
chat_strategyPrivacyChatStrategyText and voice chat privacy settings.

TssAccountInfo

Account information for user input check. For the meaning of each field, see the TSS documentation.

/// namespace: Pgos.Client
struct TssAccountInfo
fieldtypedescription
accountstringSee the TSS documentation for the meaning of the field.
account_typeInt32See the TSS documentation for the meaning of the field.
area_idInt32See the TSS documentation for the meaning of the field.
plat_idInt32See the TSS documentation for the meaning of the field.
world_idInt32See the TSS documentation for the meaning of the field.
role_idstringSee the TSS documentation for the meaning of the field.
role_namestringSee the TSS documentation for the meaning of the field.
role_pic_urlstringSee the TSS documentation for the meaning of the field.
role_levelInt32See the TSS documentation for the meaning of the field.
user_signstringSee the TSS documentation for the meaning of the field.
user_descstringSee the TSS documentation for the meaning of the field.

TssHandledIn

Contextual information of the API.

/// namespace: Pgos.Client
struct TssHandledIn
fieldtypedescription
scene_namestringScene name defined by PGOS.
modulestringModule name where the API is located.
func_namestringName of the API.
func_paramsstringRequest parameters of the API.

TssHandledOut

TSS information that needs to be returned.

/// namespace: Pgos.Client
struct TssHandledOut
fieldtypedescription
scene_idInt32See the TSS documentation for the meaning of the field.
account_infoTssAccountInfoSee the TSS documentation for the meaning of the field.
extrastringSee the TSS documentation for the meaning of the field.

SendGroupMsgParams

Request struct for sending group message

/// namespace: Pgos.Client
struct SendGroupMsgParams
fieldtypedescription
group_idstringGroup ID
contentstringContent, content length cannot exceed 1024 characters
custom_datastringAdditional information added by the game, content size cannot exceed 8KB in a narrow-character string, if it is a wide-character string, it should be converted to a utf-8 narrow-character string before calculating its length.
mentioned_playersList<MentionedPlayer>The mentioned player list. The mentioned players will receive the corresponding events. When the value of player_id is '@ALL', it means mentioning all players.

GroupNameChangedEvt

Event result of group name changed

/// namespace: Pgos.Client
struct GroupNameChangedEvt
fieldtypedescription
operator_infoGroupMemberBriefThe person who modified the group information
group_namestringNew group name

GroupDescChangedEvt

Event result of group description change

/// namespace: Pgos.Client
struct GroupDescChangedEvt
fieldtypedescription
operator_infoGroupMemberBriefThe person who modified the group information
group_descstringNew group description

GroupMemberJoinedEvt

Event result of new member of the group

/// namespace: Pgos.Client
struct GroupMemberJoinedEvt
fieldtypedescription
member_infoGroupMemberNew member
is_invitedboolWhether the member was invited in
inviter_infoGroupMemberBriefWho invited the member

GroupMemberLeftEvt

Event result of member left the group

/// namespace: Pgos.Client
struct GroupMemberLeftEvt
fieldtypedescription
member_infoGroupMemberBriefMember who left

GroupMemberRemovedEvt

Event result of member removed from group

/// namespace: Pgos.Client
struct GroupMemberRemovedEvt
fieldtypedescription
operator_infoGroupMemberBriefThe person who removed the member
removed_member_infoGroupMemberBriefRemoved member

GroupAnnouncementChangedEvt

Event result of group description change

/// namespace: Pgos.Client
struct GroupAnnouncementChangedEvt
fieldtypedescription
operator_infoGroupMemberBriefThe person who modified the group information
announcementstringNew announcement

GroupOwnerChangedEvt

Event result of group owner change

/// namespace: Pgos.Client
struct GroupOwnerChangedEvt
fieldtypedescription
owner_infoGroupMemberBriefNew owner of the group

GroupAdminGrantedEvt

Event result of group admin granted

/// namespace: Pgos.Client
struct GroupAdminGrantedEvt
fieldtypedescription
operator_infoGroupMemberBriefOperator
member_infoGroupMemberBriefWho granted as administrator

GroupAdminRevokedEvt

Event result of group admin revoked

/// namespace: Pgos.Client
struct GroupAdminRevokedEvt
fieldtypedescription
operator_infoGroupMemberBriefOperator
member_infoGroupMemberBriefwhose admin is revoked

GroupMsgEventContent

Group chat event message content

/// namespace: Pgos.Client
struct GroupMsgEventContent
fieldtypedescription
event_typeGroupEventTypeGroup event type, rRead the specified event content according to the event type
group_name_changedGroupNameChangedEvtEvent content of group name changed
group_desc_changedGroupDescChangedEvtEvent content of group description changed
group_member_joinedGroupMemberJoinedEvtEvent content of new member of the group
group_member_leftGroupMemberLeftEvtEvent content of member left the group
group_member_removedGroupMemberRemovedEvtEvent content of member removed from group
group_announcement_changedGroupAnnouncementChangedEvtEvent content of group description changed
group_owner_changedGroupOwnerChangedEvtEvent content of group owner changed
group_admin_grantedGroupAdminGrantedEvtEvent content of group admin granted
group_admin_revokedGroupAdminRevokedEvtEvent content of group admin revoked

GroupMsgContent

Group chat message content

/// namespace: Pgos.Client
struct GroupMsgContent
fieldtypedescription
text_contentstringTake the value from here when msg type is MsgTypeText
event_contentGroupMsgEventContentTake the value from here when msg type is MsgTypeEvent
custom_contentstringTake the value from here when msg type is MsgTypeCustom

GroupMsgInfo

Group chat message info

/// namespace: Pgos.Client
struct GroupMsgInfo
fieldtypedescription
senderGroupMemberThe member who sent the message
sent_timeInt64The time the message was sent
msg_typeChatMsgTypeThe type of the message
contentGroupMsgContentThe message to be sent
seqInt64The sequence number of the message
custom_datastringAdditional information added by the game
mentioned_playersList<MentionedPlayer>The mentioned player list. The mentioned players will receive the corresponding events. When the value of player_id is '@ALL', it means mentioning all players.

GroupBrief

Group brief information

/// namespace: Pgos.Client
struct GroupBrief
fieldtypedescription
group_idstringUnique id of group
namestringGroup name
iconstringGroup icon
global_custom_dataDictionary<string, string>Group global custom data. Can be modified by the group owner or administrators.

GroupItem

Group item

/// namespace: Pgos.Client
struct GroupItem
fieldtypedescription
group_briefGroupBriefGroup brief information
latest_msgGroupMsgInfoRecent chat message info
unread_countInt32Unread message count

GetMyGroupListResult

My group list

/// namespace: Pgos.Client
struct GetMyGroupListResult
fieldtypedescription
group_listList<GroupItem>My group list

GetGroupChatMsgListResult

Result of get group chat message list

/// namespace: Pgos.Client
struct GetGroupChatMsgListResult
fieldtypedescription
msg_listList<GroupMsgInfo>Chat message info list
already_read_seqInt64Messages with seq less than or equal to this have already been read
has_moreboolWhether has more message
next_seqInt64The starting sequence for the next query

ReceiveGroupMsgEvt

Event result of receive group chat message

/// namespace: Pgos.Client
struct ReceiveGroupMsgEvt
fieldtypedescription
msgGroupMsgInfoGroup chat message received
group_briefGroupBriefGroup brief info
unread_countInt32Count of unread message from group

SendGroupMsgResult

Result of send a group message

/// namespace: Pgos.Client
struct SendGroupMsgResult
fieldtypedescription
msgGroupMsgInfoGroup chat message
group_briefGroupBriefGroup brief info

GroupMentionedInfo

Result of get group mentioned record.

/// namespace: Pgos.Client
struct GroupMentionedInfo
fieldtypedescription
msgGroupMsgInfoGroup chat message received
group_briefGroupBriefGroup brief info

GroupNewMentionedEvt

Event result of new mentioned.

/// namespace: Pgos.Client
struct GroupNewMentionedEvt
fieldtypedescription
msgGroupMsgInfoGroup chat message received
group_briefGroupBriefGroup brief info

GetMailListParams

Request parameters for get mail list.

/// namespace: Pgos.Client
struct GetMailListParams
fieldtypedescription
categoryMailCategoryQuery the specified category.
offsetUInt32The starting position of the list.
countUInt32The query count.

UnclaimedItem

In-game Item not claimed.

/// namespace: Pgos.Client
struct UnclaimedItem
fieldtypedescription
itemInGameItemEconomy item.
amountUInt32The amount of item.

MailAttachmentInfo

Mail attachment information.

/// namespace: Pgos.Client
struct MailAttachmentInfo
fieldtypedescription
itemsList<UnclaimedItem>Items waiting to be claimed.
currenciesList<Currency>Currencies waiting to be claimed.
is_gift_from_playerboolIs it a gift from the player.
giverPlayerInfoIf 'is_gift_from_player' is true, 'giver' represents the player who gave the gift.
is_claimedboolIs it claimed.

MailInfo

Mail information.

/// namespace: Pgos.Client
struct MailInfo
fieldtypedescription
mail_idstringMail ID.
titlestringMail title.
categoryMailCategoryMail category.
contentstringMail content.
attachmentMailAttachmentInfoMail attachment.
custom_datastringCustom data for mail.
sent_timeInt64The time the mail was sent.
is_readboolWhether the mail is marked as read.

GetMailListResult

Result of get mail list.

/// namespace: Pgos.Client
struct GetMailListResult
fieldtypedescription
mail_listList<MailInfo>Mail info list.
has_moreboolHas more.
next_offsetInt32The next starting position of the list.
total_numUInt32The total number of mails in the specified category. When the query category is 'All', it indicates the total number of mails in all categories.

ClaimMailAttachmentResult

Result of claim mail attachment.

/// namespace: Pgos.Client
struct ClaimMailAttachmentResult
fieldtypedescription
item_instsItemInstPackThe item instances obtained after claim attachments.
currenciesList<Currency>The currencies obtained after claim attachments.
conflict_unique_itemsList<UnclaimedItem>Unique items that already in inventory cause failed to be granted.
failsDictionary<string, string>Mails that failed to claim attachments, key: mail ID, value: failed reason.

GetMailBadgeNumResult

Result of get mail badge number.

/// namespace: Pgos.Client
struct GetMailBadgeNumResult
fieldtypedescription
category_badge_numDictionary<MailCategory, UInt32>Mail unread count by category.
total_badge_numUInt32Total unread count.

BadgeNumOfMailEvt

Event result of badge num of mail.

/// namespace: Pgos.Client
struct BadgeNumOfMailEvt
fieldtypedescription
total_badge_numUInt32Total unread count.

ReceiveNewMailEvt

Event result of receive new mail.

/// namespace: Pgos.Client
struct ReceiveNewMailEvt
fieldtypedescription
mailMailInfoNew mail.

RelationshipInfo

Information of the relationship with other players.

/// namespace: Pgos.Client
struct RelationshipInfo
fieldtypedescription
is_blockedboolWhether the player is blocked
is_friendboolWhether the player is in friend list
friend_remarkstringFriend remark. Only valid if the player is in friend_list
befriend_timeInt64The time when the player became friend, in seconds. Only valid if the player is in friend_list

GetPlayerProfileResult

Result of get player profile

/// namespace: Pgos.Client
struct GetPlayerProfileResult
fieldtypedescription
player_infoPlayerInfo
player_presencePlayerPresence
relationship_infoRelationshipInfo
last_play_timeInt64The time when the current logged in player played games with the player last time, in seconds

PublicChatSystemContent

Public chat system message content.

/// namespace: Pgos.Client
struct PublicChatSystemContent
fieldtypedescription
msgstringSystem message content.
duration_secUInt32Indicates how long a system message will expire. The players will receive the system messages that were sent before they join, as long as the message doesn't expire.

PublicChatMsgContent

Public chat message content

/// namespace: Pgos.Client
struct PublicChatMsgContent
fieldtypedescription
text_contentstringTake the value from here when msg type is MsgTypeText.
system_contentPublicChatSystemContentTake the value from here when msg type is MsgTypeSystem.
custom_contentstringTake the value from here when msg type is MsgTypeCustom.

PublicChatMsgInfo

Public chat message info.

/// namespace: Pgos.Client
struct PublicChatMsgInfo
fieldtypedescription
msg_typeChatMsgTypeThe type of the message.
contentPublicChatMsgContentThe message to be sent.
senderPlayerInfoThe player who sent the message.
sent_timeInt64The time the message was sent.
seqInt64The sequence number of the message
custom_datastringCustom data for message.
mentioned_playersList<MentionedPlayer>The mentioned player list. The mentioned players will receive the corresponding events. When the value of player_id is '@ALL', it means mentioning all players.

PublicChatChannelInfo

The channel info of public chat

/// namespace: Pgos.Client
struct PublicChatChannelInfo
fieldtypedescription
channel_namestringChannel name.

JoinPublicChatResult

Result of join public chat.

/// namespace: Pgos.Client
struct JoinPublicChatResult
fieldtypedescription
channel_infoPublicChatChannelInfoThe channel info of public chat.

SendPublicChatMsgParams

Request parameters for sending public chat message.

/// namespace: Pgos.Client
struct SendPublicChatMsgParams
fieldtypedescription
channel_namestringThe name of the channel on which the message was sent.
contentstringThe content of the message to be sent.
custom_datastringCustom data for message.
mentioned_playersList<MentionedPlayer>The mentioned player list. The mentioned players will receive the corresponding events. When the value of player_id is '@ALL', it means mentioning all players.

SendPublicChatMsgResult

Result of send public chat message.

/// namespace: Pgos.Client
struct SendPublicChatMsgResult
fieldtypedescription
msgPublicChatMsgInfoPublic chat message.
channel_infoPublicChatChannelInfoPublic chat channel info.

ReceivePublicChatMsgEvt

Event result of receive public chat message.

/// namespace: Pgos.Client
struct ReceivePublicChatMsgEvt
fieldtypedescription
msgPublicChatMsgInfoPublic chat message.
channel_infoPublicChatChannelInfoPublic chat channel info.

PublicChatMentionedInfo

Result of get public chat mentioned record.

/// namespace: Pgos.Client
struct PublicChatMentionedInfo
fieldtypedescription
msgPublicChatMsgInfoPublic chat message.
channel_infoPublicChatChannelInfoPublic chat channel info.

PublicChatNewMentionedEvt

Event result of new mentioned.

/// namespace: Pgos.Client
struct PublicChatNewMentionedEvt
fieldtypedescription
msgPublicChatMsgInfoPublic chat message.
channel_infoPublicChatChannelInfoPublic chat channel info.

GoalRewardItem

In-game item as goal rewards.

/// namespace: Pgos.Client
struct GoalRewardItem
fieldtypedescription
itemInGameItemIn-game item.
amountUInt32Amount of the item.

PlayerGoalPass

Pass for rewards in a hyper goal.

/// namespace: Pgos.Client
struct PlayerGoalPass
fieldtypedescription
pass_idstringThe identifier of the pass.
namestringName of the pass.
descriptionstringDescription of the pass.
iconstringIcon records the resource address of the pass icon shown to players.
is_activatedboolWhether the pass is activated for the player.

GoalReward

The reward that will available to players when a goal or a tier is reached.

/// namespace: Pgos.Client
struct GoalReward
fieldtypedescription
reward_idstringThe identifier of the reward.
pass_idstringThe access pass's id for the reward.
is_claimedboolTrue if the reward is claimed by the player.
claimed_timeInt64Unix timestamp that the reward is claimed.
itemsList<GoalRewardItem>The in-game items in this reward
currenciesList<Currency>The currencies in this reward

PlayerGoalTier

/// namespace: Pgos.Client
struct PlayerGoalTier
fieldtypedescription
tier_idstringThe identifier of the tier.
namestringName of the tier.
orderUInt32Order of the tier.
achieve_valueUInt32The value of achieve data of a player to achieve the tier.
is_achievedboolTrue if the tier is achieved by the player.
achieved_timeInt64Unix timestamp that the reward is claimed.
tier_rewardsList<GoalReward>Rewards of the tier.

GoalBaseInfo

/// namespace: Pgos.Client
struct GoalBaseInfo
fieldtypedescription
player_goal_idstringId of the player goal. The player goal id will be different when the goal appears in different available periods.
goal_idstringThe identifier of the goal.
typeGoalTypeType of the goal.
namestringName of the goal.
descriptionstringDescription of the goal.
iconstringIcon records the resource address of the goal icon shown to players.
tagsList<string>Tag strings of the goal.

SimpleGoal

/// namespace: Pgos.Client
struct SimpleGoal : GoalBaseInfo

parent: GoalBaseInfo

fieldtypedescription
achieve_valueUInt32The value of achieve data of a player to achieve the simple goal.
current_valueUInt32The current value of the achieve data.
is_achievedboolTrue if the simple goal is achieved by the player.
achieved_timeInt64Unix timestamp that the reward is claimed.
rewardGoalRewardThe reward players can get if they achieve the goal.

HyperGoal

/// namespace: Pgos.Client
struct HyperGoal : GoalBaseInfo

parent: GoalBaseInfo

fieldtypedescription
passesList<PlayerGoalPass>Passes of the hyper goal.
tiersList<PlayerGoalTier>Tiers of the hyper goal.
current_tier_idstringThe tier that the player is challenging now. When the Algorithm Type is Absolute, current value is the same as the value of player's achieve data. When the Algorithm Type is Increment, current value is the incremental value obtained by the player achieve data in the current tier.
current_valueUInt32The current value of the achieve data of the hyper goal.

AvailablePeriod

Available period info.

/// namespace: Pgos.Client
struct AvailablePeriod
fieldtypedescription
period_idstringPeriod id.
player_goal_idsList<string>Player goal ids within the available period.
simple_goalsDictionary<string, SimpleGoal>Mapping of player goal id to simple player goal.
hyper_goalsDictionary<string, HyperGoal>Mapping of player goal id to hyper player goal.
start_timeInt64Start Unix timestamp of the period.
end_timeInt64End Unix timestamp of the period.
lengthInt64Length of the available period. Counting in second.

GoalsSchedule

Goal schedule info.

/// namespace: Pgos.Client
struct GoalsSchedule
fieldtypedescription
schedule_idstringThe identifier of a goals schedule.
namestringName of a goals schedule.
descriptionstringDescription of a goals schedule.
statusScheduleStatusStatus of a goals schedule.
periodsDictionary<string, AvailablePeriod>Available periods of the schedule. For current period, a fully AvailablePeriod structure will be returned. For next period, only the time schedule of of the period will be returned.
current_period_idstringThe nearest available period to the current time, which is already active.
next_period_idstringThe nearest available period to the current time that is not yet active.
reward_wayGoalRewardWayThe reward way of the goals within the goals schedule.

GetGoalTiersResult

/// namespace: Pgos.Client
struct GetGoalTiersResult
fieldtypedescription
tiersList<PlayerGoalTier>Tiers info.
next_orderUInt32Next tier's roder.

ClaimGoalsRewardResult

Result of claim goal rewards.

/// namespace: Pgos.Client
struct ClaimGoalsRewardResult
fieldtypedescription
item_instsItemInstPackThe item instances obtained after claim attachments.
currenciesList<Currency>The currencies obtained after claim attachments.
conflict_unique_itemsList<UnclaimedItem>Unique items that already in inventory that failed to be granted.

SimpleGoalAchievedEvt

The event will be triggered when a simple goal achieved.

/// namespace: Pgos.Client
struct SimpleGoalAchievedEvt
fieldtypedescription
achieved_goalSimpleGoalThe simple goal that has been achieved.

HyperGoalAchievedEvt

The event will be triggered when some tiers of a hyper goal achieved.

/// namespace: Pgos.Client
struct HyperGoalAchievedEvt
fieldtypedescription
achieved_goalHyperGoal
achieved_tiers_idsList<string>The tier id that has been achieved.

TitleRegionClosedEvt

The event will be triggered when the title region is closed. After the title region is closed, players can no longer access new logins, new matchmaking, or new battle session placements.

/// namespace: Pgos.Client
struct TitleRegionClosedEvt
fieldtypedescription
current_timeInt64The current Unix timestamp of the backend server. (in seconds)
kicked_offline_timeInt64The approximate Unix timestamp at which the player will be kicked offline. (in seconds) If the value is 0, the PGOS backend will kick the player offline soon. If the value is -1, the PGOS backend will still allow the current player to remain online, and battle sessions the player is in will not be affected.

EventChannelStatusChangedEvt

The event will be triggered when the event channel status has been changed. The Event Channel serves as a data pipeline for the PGOS backend to send event notifications (e.g., chat_messages/friend_requests) to the client. Its status can be influenced by factors such as API calls (e.g., login/logout) and fluctuations in the network environment. In certain scenarios, the event helps the game/player understand the possible reasons for PGOS/game service degradation.

/// namespace: Pgos.Client
struct EventChannelStatusChangedEvt
fieldtypedescription
current_statusPgosEventChannelStatusIndicate the current status of the event channel.
last_statusPgosEventChannelStatusIndicate the status of the event channel in the previous StatusChanged event. If there is no previous event (meaning it is the first event), its value is set to 'Dummy'.

DescribeBattleSessionsResult

/// namespace: Pgos.Client
struct DescribeBattleSessionsResult
fieldtypedescription
battle_sessionsList<BattleSessionInfo>The battle sesions that a player is participating in.

DSHostingLatencies

The latencies from the client to the DS hosting data centers.

/// namespace: Pgos.Client
struct DSHostingLatencies
fieldtypedescription
latenciesDictionary<string, Int32>The latencies from the client to the DS hosting data centers. Key: The data center name and its possible values can be viewed in the 'DataCenterName' definition. Value: The latency to the data center, in milliseconds.

GameCustomMsgEvt

The event will be triggered when the game calls the HTTP API 'PushMsg'.

/// namespace: Pgos.Client
struct GameCustomMsgEvt
fieldtypedescription
msg_typestringCorresponds to the 'msg_type' parameter of the HTTP API 'PushMsg'.
msgstringCorresponds to the 'msg' parameter of the HTTP API 'PushMsg'.

CycleInfo

Information of cycle which configured on the portal.

/// namespace: Pgos.Client
struct CycleInfo
fieldtypedescription
cycle_namestringCycle name.
cycle_start_timeInt64Start time of the cycle. Unix time in second.
cycle_end_timeInt64End time of the cycle. Unix time in second.
lock_time_spanUInt32Lock time span of this cycle. After setting, the period before the end of each round will be locked, and the leaderboard data will not be updated during the locked period. Unix time in second.

LeaderboardRoundInfo

Information of leaderboard round.

/// namespace: Pgos.Client
struct LeaderboardRoundInfo
fieldtypedescription
round_seqUInt32The sequence number of the leaderboard round. Start from 1, the numbers are increasing in sequence, increasing by 1 in each round. 0 means the data of this round info is invalid or has been cleared.
round_start_timeInt64The round start time. Unix time in second.
round_end_timeInt64The round end time. Unix time in second.
round_lockedboolTrue if this round has been locked or end.

LeaderboardInfo

Information of leaderboard.

/// namespace: Pgos.Client
struct LeaderboardInfo
fieldtypedescription
leaderboard_namestringThe name of the leaderboard.
stat_namestringThe name of the stat bound to the leaderboard.
is_cycledboolIs this leaderboard a cycled leaderboard.
cycle_infoCycleInfoThe information of cycle bound to the leaderboard. This is only meaningful if is_cycled is true.
round_infoLeaderboardRoundInfoRound information for a specified time or current time. This is only meaningful if is_cycled is true.

LBRankingItem

Ranking item of leaderboard.

/// namespace: Pgos.Client
struct LBRankingItem
fieldtypedescription
rankUInt32The ranking number, start from 1.
keystringStat item key.
valuedoubleStat item value.
secondary_valuedoubleStat item secondary value.
custom_datastringStat item custom data, used to store additional information.

LBRankingListResult

Response for get ranking list.

/// namespace: Pgos.Client
struct LBRankingListResult
fieldtypedescription
itemsList<LBRankingItem>List of ranking items.
leaderboard_infoLeaderboardInfoLeaderboard information.
total_numUInt32The total number of ranking items.
next_offsetUInt32The next starting position of the list.

LBRankingItemPos

Current ranking list item with neighbor items.

/// namespace: Pgos.Client
struct LBRankingItemPos
fieldtypedescription
itemLBRankingItemCurrent ranking item.
preceding_itemsList<LBRankingItem>Preceding items.
subsequent_itemsList<LBRankingItem>Subsequent items.
leaderboard_infoLeaderboardInfoLeaderboard information.

GetRankingListParams

/// namespace: Pgos.Client
struct GetRankingListParams
fieldtypedescription
leaderboard_namestringThe name of the leaderboard to query.
offsetUInt32The starting position of the query.
countUInt32The query count.
leaderboard_round_seqUInt32[Option] Query the ranking list of the specified round in the cycled leaderboard. The default value 0 means querying the ranking of the current round.

GetFriendsRankingListParams

/// namespace: Pgos.Client
struct GetFriendsRankingListParams
fieldtypedescription
leaderboard_namestringThe name of the leaderboard to query.
leaderboard_round_seqUInt32[Option] Query the ranking list of the specified round in the cycled leaderboard. The default value 0 means querying the ranking of the current round.

LBFriendsRankingListResult

Response for get friends ranking list.

/// namespace: Pgos.Client
struct LBFriendsRankingListResult
fieldtypedescription
itemsList<LBRankingItem>List of friends ranking items. The stat item key was filled with player id.
friend_infosDictionary<string, PlayerFriendInfo>Friends' details. key: player id Note that this only contains the player information of friends, not my own. The 'items' contains my ranking.
leaderboard_infoLeaderboardInfoLeaderboard information.

GetRankingItemPosParams

/// namespace: Pgos.Client
struct GetRankingItemPosParams
fieldtypedescription
leaderboard_namestringThe name of the leaderboard to query.
keystringThe stat item key to query.
neighbor_cntUInt32Specify the desired number of preceding and subsequent neighbors, ranging from 0 to 10. For example: if neighbor_cnt is 3, then you will get 3 preceding neighbors and 3 subsequent neighbors.
leaderboard_round_seqUInt32[Option] Query the ranking list of the specified round in the cycled leaderboard. The default value 0 means querying the ranking of the current round.

SetGroupGlobalCustomDataParams

/// namespace: Pgos.Client
struct SetGroupGlobalCustomDataParams
fieldtypedescription
group_idstringThe group id.
global_custom_dataDictionary<string, string>Custom data to be modified or added.

SetGroupGlobalCustomDataResult

/// namespace: Pgos.Client
struct SetGroupGlobalCustomDataResult
fieldtypedescription
global_custom_dataDictionary<string, string>Updated full global custom data.

DelGroupGlobalCustomDataParams

/// namespace: Pgos.Client
struct DelGroupGlobalCustomDataParams
fieldtypedescription
group_idstringThe group id.
keysList<string>Custom data keys to delete.

DelGroupGlobalCustomDataResult

/// namespace: Pgos.Client
struct DelGroupGlobalCustomDataResult
fieldtypedescription
global_custom_dataDictionary<string, string>Updated full global custom data.
failsDictionary<string, string>Keys failed to delete, and also with the reason.

ClearGroupGlobalCustomDataParams

/// namespace: Pgos.Client
struct ClearGroupGlobalCustomDataParams
fieldtypedescription
group_idstringThe group id.

SetGroupMyPlayerCustomDataParams

/// namespace: Pgos.Client
struct SetGroupMyPlayerCustomDataParams
fieldtypedescription
group_idstringThe group id.
player_custom_datastringCustom data for current player.

SetGroupMyPlayerCustomDataResult

/// namespace: Pgos.Client
struct SetGroupMyPlayerCustomDataResult
fieldtypedescription
player_custom_datastringUpdated custom data for current player.

BatchSetGroupPlayerCustomDataParams

/// namespace: Pgos.Client
struct BatchSetGroupPlayerCustomDataParams
fieldtypedescription
group_idstringThe group id.
player_custom_dataDictionary<string, string>Map from player id to player custom data.

BatchSetGroupPlayerCustomDataResult

/// namespace: Pgos.Client
struct BatchSetGroupPlayerCustomDataResult
fieldtypedescription
player_custom_dataDictionary<string, string>Updated custom data for each player.
failsDictionary<string, string>Keys failed to set, and also with the reason.

JoinWorldParams

/// namespace: Pgos.Client
struct JoinWorldParams
fieldtypedescription
world_configstringWorld config name that request to join.
filter_attributesDictionary<string, KVDataValue>Attributes needed by world buckets filters, map key: attribute name, map value: attribute value.
team_namestringThe team name that the player will join in the world battle session. If empty, the player will be assigned to a [default] team.

JoinWorldResult

/// namespace: Pgos.Client
struct JoinWorldResult
fieldtypedescription
battle_sessionBattleSessionInfoThe battle session that the world assigned for the players.

InviteJoinWorldParams

/// namespace: Pgos.Client
struct InviteJoinWorldParams
fieldtypedescription
world_configstringWorld config name that request to join.
filter_attributesDictionary<string, KVDataValue>Attributes needed by world buckets filters, map key: attribute name, map value: attribute value.
invited_player_idsList<string>Player IDs who will be invited to join the same world. (Must include at least 1 player) These invited players will receive the 'OnJoinWorldInvitationUpdated' event on their game client. Players who accept (AcceptJoinWorldInvitation API) the invitation will be assigned to the same world battle session as the current player. Players who reject (RejectJoinWorldInvitation API) the invitation will skip the invitation and will not be affected. The inviter (current player) will also receive the 'OnJoinWorldInvitationUpdated' event to know the status of the invitation being accepted or rejected. The inviter will automatically accept the invitation.
team_namestringThe team name that the player will join in the world battle session. If empty, the player will be assigned to a [default] team.

InviteJoinWorldResult

/// namespace: Pgos.Client
struct InviteJoinWorldResult
fieldtypedescription
world_configstringThe world configuration name associated with the invitation ticket.
invitation_ticketstringThe ticket of the join world invitation.

InviteLeaveWorldParams

/// namespace: Pgos.Client
struct InviteLeaveWorldParams
fieldtypedescription
world_configstringWorld config name that request to join.
invited_player_idsList<string>Player IDs who will be invited to leave the same world. (Must include at least 1 player) These invited players will receive the 'OnLeaveWorldInvitationUpdated' event on their game client. Players who accept (AcceptLeaveWorldInvitation API) the invitation will be removed from the world. Players who reject (RejectLeaveWorldInvitation API) the invitation will skip the invitation and will not be affected. The inviter (current player) will also receive the 'OnLeaveWorldInvitationUpdated' event to know the status of the invitation being accepted or rejected. The inviter will automatically leave the world.

InviteLeaveWorldResult

/// namespace: Pgos.Client
struct InviteLeaveWorldResult
fieldtypedescription
world_configstringThe world configuration name associated with the invitation ticket.
invitation_ticketstringThe ticket of the leave world invitation.

LeaveWorldParams

/// namespace: Pgos.Client
struct LeaveWorldParams
fieldtypedescription
world_configstringWorld config name that request to leave.

JoinWorldBattleSessionParams

/// namespace: Pgos.Client
struct JoinWorldBattleSessionParams
fieldtypedescription
world_configstringWorld config name that request to join.
battle_session_idstringThe world battle session id to join.
payloadstringThe game custom data, which will be passed to the DS (dedicated server). It can be obtained by monitoring the 'OnBattleSessionUpdated' event of the Hosting module: FServerBattleSessionUpdatedEvt.new_player_battle_sessions.payload.
team_namestringThe team name that the player will join in the world battle session. If empty, the player will be assigned to a [default] team.

JoinWorldBattleSessionResult

/// namespace: Pgos.Client
struct JoinWorldBattleSessionResult
fieldtypedescription
battle_sessionBattleSessionInfoBattle session detail info.

InviteJoinWorldBattleSessionParams

/// namespace: Pgos.Client
struct InviteJoinWorldBattleSessionParams
fieldtypedescription
world_configstringWorld config name that request to join.
battle_session_idstringThe world battle session id to join.
payloadstringThe game custom data, which will be passed to the DS (dedicated server). It can be obtained by monitoring the Hosting module event (OnBattleSessionUpdatedEvt): BattleSessionUpdatedEvt.new_player_battle_sessions.payload.
invited_player_idsList<string>Player IDs who will be invited to join the same world battle session. (Must include at least 1 player) These invited players will receive the 'OnJoinWorldInvitationUpdated' event on their game client. Players who accept (AcceptJoinWorldInvitation API) the invitation will be assigned to the same world battle session as the current player. Players who reject (RejectJoinWorldInvitation API) the invitation will skip the invitation and will not be affected. The inviter (current player) will also receive the 'OnJoinWorldInvitationUpdated' event to know the status of the invitation being accepted or rejected. The inviter will automatically accept the invitation.
team_namestringThe team name that the player will join in the world battle session. If empty, the player will be assigned to a [default] team.

InviteJoinWorldBattleSessionResult

/// namespace: Pgos.Client
struct InviteJoinWorldBattleSessionResult
fieldtypedescription
world_configstringThe world configuration name associated with the invitation ticket.
invitation_ticketstringThe ticket of the join world invitation.

AcceptJoinWorldInvitationParams

/// namespace: Pgos.Client
struct AcceptJoinWorldInvitationParams
fieldtypedescription
invitation_ticketstringThe ticket of the join world invitation.

RejectJoinWorldInvitationParams

/// namespace: Pgos.Client
struct RejectJoinWorldInvitationParams
fieldtypedescription
invitation_ticketstringThe ticket of the join world invitation.

AcceptLeaveWorldInvitationParams

/// namespace: Pgos.Client
struct AcceptLeaveWorldInvitationParams
fieldtypedescription
invitation_ticketstringThe ticket of the leave world invitation.

RejectLeaveWorldInvitationParams

/// namespace: Pgos.Client
struct RejectLeaveWorldInvitationParams
fieldtypedescription
invitation_ticketstringThe ticket of the leave world invitation.

QueryMyWorldBattleSessionsParams

/// namespace: Pgos.Client
struct QueryMyWorldBattleSessionsParams
fieldtypedescription
world_configsList<string>Worlds to query.

QueryMyWorldBattleSessionsResult

/// namespace: Pgos.Client
struct QueryMyWorldBattleSessionsResult
fieldtypedescription
world_battle_sessionsDictionary<string, BattleSessionInfo>A map from world config name to the battle session. Only contains the worlds that the player has joined.

QueryPlayerWorldBattleSessionsParams

/// namespace: Pgos.Client
struct QueryPlayerWorldBattleSessionsParams
fieldtypedescription
player_idstringPlayer to query.
world_configsList<string>Worlds to query.

QueryPlayerWorldBattleSessionsResult

/// namespace: Pgos.Client
struct QueryPlayerWorldBattleSessionsResult
fieldtypedescription
world_battle_sessionsDictionary<string, BattleSessionInfo>A map from world config name to the battle session. Only contains the worlds that the player has joined.

QueryJoinWorldInvitationParams

/// namespace: Pgos.Client
struct QueryJoinWorldInvitationParams
fieldtypedescription
invitation_ticketstringThe invitation ticket to query.

JoinWorldInvitationInfo

The join world invitation detail information.

/// namespace: Pgos.Client
struct JoinWorldInvitationInfo
fieldtypedescription
world_configstringThe world configuration name associated with the invitation ticket.
inviterPlayerInfoThe player who initiated the invitation.
invitation_ticketstringThe ticket of the join world invitation.
statusJoinWorldInvitationStatusThe status of the Join World invitation. Typically, the player who accepts the invitation will receive the 'OnWorldBattleSessionUpdated' event after the invitation status is marked as 'Completed'. However, if the player is already in the assigned battle session before the invitation, and has obtained the battle session's IP&port (which means he has received the relevant event of the battle session status being Active), then he may not be pushed the 'OnWorldBattleSessionUpdated' event.
error_msgstringThe error message when the status is 'Error'.
my_action_to_invitationJoinWorldInvitationActionThe current player's action to this join world invitation. Call 'AcceptJoinWorldInvitation' API to accept the invitation and will receive the 'OnJoinWorldInvitationUpdated' event until the status is 'Completed'. Alternatively, call the 'RejectJoinWorldInvitation' API to reject the invitation and stop receiving the 'OnJoinWorldInvitationUpdated' event for this 'invitation_ticket'. Note: Once you have made your choice, you cannot change your decision.
accepted_playersList<PlayerInfo>Players who have accepted the invitation. (including the inviter)
rejected_playersList<PlayerInfo>Players who have rejected the invitation.
undecided_playersList<PlayerInfo>Players who have not yet made a decision.
invitation_created_timeInt64The Unix timestamp(in seconds) when the invitation was created.
invitation_timeoutUInt32The maximum time(in seconds) to wait for all invited players to accept/reject. After the time (invitation_created_time+invitation_timeout), the event status will be updated to 'Completed'.
battle_session_idstringThe world battle session joined by the players who accepted the invitation. It will be empty until the 'status' changes to 'JoinWorldInvitationStatus::Completed'.

LeaveWorldInvitationInfo

The leave world invitation detail information.

/// namespace: Pgos.Client
struct LeaveWorldInvitationInfo
fieldtypedescription
world_configstringThe world configuration name associated with the invitation ticket.
inviterPlayerInfoThe player who initiated the invitation.
invitation_ticketstringThe ticket of the leave world invitation.
statusLeaveWorldInvitationStatusThe status of the leave World invitation.
error_msgstringThe error message when the status is 'Error'.
my_action_to_invitationLeaveWorldInvitationActionThe current player's action to this leave world invitation. Call 'AcceptLeaveWorldInvitation' API to accept the invitation and will receive the 'OnLeaveWorldInvitationUpdated' event until the status is 'Completed'. Alternatively, call the 'RejectLeaveWorldInvitation' API to reject the invitation and stop receiving the 'OnLeaveWorldInvitationUpdated' event for this 'invitation_ticket'. Note: Once you have made your choice, you cannot change your decision.
accepted_playersList<PlayerInfo>Players who have accepted the invitation. (including the inviter)
rejected_playersList<PlayerInfo>Players who have rejected the invitation.
undecided_playersList<PlayerInfo>Players who have not yet made a decision.
invitation_created_timeInt64The Unix timestamp(in seconds) when the invitation was created.
invitation_timeoutUInt32The maximum time(in seconds) to wait for all invited players to accept/reject. After the time (invitation_created_time+invitation_timeout), the event status will be updated to 'Completed'.

QueryJoinWorldInvitationResult

/// namespace: Pgos.Client
struct QueryJoinWorldInvitationResult
fieldtypedescription
infoJoinWorldInvitationInfoThe join world invitation detail information.

GetRecommendedPlayersParams

/// namespace: Pgos.Client
struct GetRecommendedPlayersParams
fieldtypedescription
countUInt32Specifies the (maximum) number of players to be returned, its value range is: [1~50]

GetPotentialFriendsParams

/// namespace: Pgos.Client
struct GetPotentialFriendsParams
fieldtypedescription
countUInt32Specifies the (maximum) number of players to be returned, its value range is: [1~50]
offsetUInt32Specifies the offset of the first player to be returned.

WorldBattleSessionUpdatedEvt

/// namespace: Pgos.Client
struct WorldBattleSessionUpdatedEvt
fieldtypedescription
world_configstringThe world configuration name associated with this update.
battle_sessionBattleSessionInfoThe updated details of the battle session that the current player joined.

WorldBattlePropertiesUpdatedEvt

/// namespace: Pgos.Client
struct WorldBattlePropertiesUpdatedEvt
fieldtypedescription
source_typeBattleSourceTypeThe source type of the battle session.
configuration_namestringWorld config name.
battle_session_idstringWorld battle session id.
battle_propertiesList<BattleProperty>

JoinWorldInvitationUpdatedEvt

/// namespace: Pgos.Client
struct JoinWorldInvitationUpdatedEvt
fieldtypedescription
infoJoinWorldInvitationInfoThe join world invitation detail information.

LeaveWorldInvitationUpdatedEvt

/// namespace: Pgos.Client
struct LeaveWorldInvitationUpdatedEvt
fieldtypedescription
infoLeaveWorldInvitationInfoThe leave world invitation detail information.

LobbyJoinRequestEvt

/// namespace: Pgos.Client
struct LobbyJoinRequestEvt
fieldtypedescription
lobby_idstringLobby id.
player_idstringPlayer id who request to join the lobby.
payloadstringPayload data from the request player.
tokenstringThe token required to process this join request, which should be used in ApproveJoinRequest/RejectJoinRequest interface.

LobbyJoinRequestApprovedEvt

/// namespace: Pgos.Client
struct LobbyJoinRequestApprovedEvt
fieldtypedescription
lobby_detailLobbyDetailInfoThe lobby details information.

LobbyJoinRequestRejectedEvt

/// namespace: Pgos.Client
struct LobbyJoinRequestRejectedEvt
fieldtypedescription
lobby_idstringLobby id.

LobbyGlobalCustomDataUpdatedEvt

/// namespace: Pgos.Client
struct LobbyGlobalCustomDataUpdatedEvt
fieldtypedescription
kv_dataDictionary<string, string>Global kv data of the lobby. Only owner has the permission to modify it.
lobby_idstringLobby id.

LobbyPlayerCustomDataUpdatedEvt

/// namespace: Pgos.Client
struct LobbyPlayerCustomDataUpdatedEvt
fieldtypedescription
player_kv_dataDictionary<string, string>Player custom data of each lobby member. The map key is lobby member's player ID, the map value is the lobby member's custom data. Each lobby member could modify it's player kv data.
lobby_idstringLobby id.

ApproveJoinLobbyRequestParams

/// namespace: Pgos.Client
struct ApproveJoinLobbyRequestParams
fieldtypedescription
lobby_idstringLobby id.
player_idstringPlayer id who request to join the lobby.
tokenstringThe token required to process this join request, which could be obtained from LobbyJoinRequestEvt.

RejectJoinLobbyRequestParams

/// namespace: Pgos.Client
struct RejectJoinLobbyRequestParams
fieldtypedescription
lobby_idstringLobby id.
player_idstringPlayer id who request to join the lobby.
tokenstringThe token required to process this join request, which could be obtained from LobbyJoinRequestEvt.

IncrMyKVDataIdempotentParams

/// namespace: Pgos.Client
struct IncrMyKVDataIdempotentParams
fieldtypedescription
incrementsDictionary<string, KVDataValue>Increments to update, key: kvdata key, value: increment of the value.
idempotency_tokenstring[Optional] Used to ensure the idempotence of the function. An idempotent operation produces the same outcome regardless of how many times it's executed, without causing any side effects or altering the system's state. The scope of the idempotent token is for each player.

IncrMyKVDataIdempotentResult

/// namespace: Pgos.Client
struct IncrMyKVDataIdempotentResult
fieldtypedescription
kvdataDictionary<string, KVDataValue>KVData items, key: item key, value: item value.
replayedboolWhether the request is replayed. When it is True, it indicates that the result of the function is obtained by replaying with the same idempotency_token. This means that the result of the function has been generated in a previous call and is being reused in the current call.

GetMidasGlobalAddonInfoResult

/// namespace: Pgos.Client
struct GetMidasGlobalAddonInfoResult
fieldtypedescription
is_role_id_mappedboolThe management method for the Midas Role ID in the Midas Global addon. If the value is true, the role_id field will be populated by PGOS with the Role ID assigned to the current logged-in player based on the Midas Global addon configuration. If the value is false, the role_id field will not be populated. Please use the SetMidasGlobalMetaData interface to actively set the Midas Role ID.
role_idstring
partition_idstring
provider_app_idstring

SetMidasGlobalMetaDataParams

/// namespace: Pgos.Client
struct SetMidasGlobalMetaDataParams : MidasGlobalMetaData

parent: MidasGlobalMetaData

SetMidasGlobalMetaDataResult

/// namespace: Pgos.Client
struct SetMidasGlobalMetaDataResult
fieldtypedescription
is_role_id_mappedboolEcho back the role ID management mode configured in the Midas Global addon.
role_idstringEcho back the final adopted role ID. It will be the same as the calling parameter if is_role_id_mapped is false. If is_role_id_mapped is true, PGOS will populate it based on the current player's login information.

MidasGlobalTransaction

/// namespace: Pgos.Client
struct MidasGlobalTransaction
fieldtypedescription
payment_methodstringPay method, enumeration values can be filled in: GOOGLE_PLAY, APPLE_STORE, STEAM, EPIC, MICROSOFT_STORE, SWITCH, PLAY_STATION
region_codestringRegion code in uppercase, refer to ISO 3166.
currency_codestringCurrency code, refer to ISO 4217.

MidasGlobalProductInfo

/// namespace: Pgos.Client
struct MidasGlobalProductInfo
fieldtypedescription
midas_unified_product_idstringMidas unified product id.
store_item_idstringPGOS store item that mapped to the Midas product and the Store where it will be listed for sale are need.
store_idstringPGOS store item that mapped to the Midas product and the Store where it will be listed for sale are need.

CreateMidasGlobalOrderParams

/// namespace: Pgos.Client
struct CreateMidasGlobalOrderParams
fieldtypedescription
product_infoMidasGlobalProductInfoPurchase item information.
transactionMidasGlobalTransactionTransaction information.
payloadstringTransparent field, with a maximum limit of 256 characters.
languagestringRelated to multilingualism, refer to ISO 639-1.

CreateMidasGlobalOrderResult

/// namespace: Pgos.Client
struct CreateMidasGlobalOrderResult
fieldtypedescription
order_idstringOrder ID.
pay_infostringPayment informatio, required by the Pay interface provided by the Midas Client SDK.

GetMidasGlobalBalanceDetailParams

/// namespace: Pgos.Client
struct GetMidasGlobalBalanceDetailParams
fieldtypedescription
currency_codesList<string>Currency code of a PGOS virtual currency. Note: This interface is only used to query virtual currency with CurrencyType as MidasGlobalToken.

GetMidasGlobalBalanceDetailResult

/// namespace: Pgos.Client
struct GetMidasGlobalBalanceDetailResult
fieldtypedescription
balancesList<MidasGlobalBalance>

ActivateP2PBattleSessionParams

/// namespace: Pgos.Client
struct ActivateP2PBattleSessionParams
fieldtypedescription
battle_session_idstring

AcceptP2PPlayerBattleSessionParams

/// namespace: Pgos.Client
struct AcceptP2PPlayerBattleSessionParams
fieldtypedescription
battle_session_idstringThe id of a P2P battle session
player_battle_session_idstringThe id of player session in the battle, only a Reserved player session id could be accepted. !!! NOT BATTLE SESSION ID !!!
player_idstringPlayer id.

DisconnectP2PPlayerBattleSessionParams

/// namespace: Pgos.Client
struct DisconnectP2PPlayerBattleSessionParams
fieldtypedescription
battle_session_idstringThe id of a P2P battle session
player_battle_session_idstringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
player_idstringKeep it empty if do not need PGOS to validate it.

RemoveP2PPlayerBattleSessionParams

/// namespace: Pgos.Client
struct RemoveP2PPlayerBattleSessionParams
fieldtypedescription
battle_session_idstringThe id of a P2P battle session
player_battle_session_idstringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
player_idstringKeep it empty if do not need PGOS to validate it.

DescribeP2PPlayerBattleSessionsParams

Request info to describe player battle sessions

/// namespace: Pgos.Client
struct DescribeP2PPlayerBattleSessionsParams
fieldtypedescription
battle_session_idstringThe P2P battle session id.
player_battle_session_idstringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!! Leave this parameter blank to iterate through all players in the battle session.
offsetUInt32The next token
countUInt32The limit of the player battle sessions request.

DescribeP2PPlayerBattleSessionsResult

Information about the players in the battle session.

/// namespace: Pgos.Client
struct DescribeP2PPlayerBattleSessionsResult
fieldtypedescription
next_offsetUInt32The next offset.
has_moreboolIf has more players.
total_numUInt32None-completed players count in the battle session.
player_battle_sessionsList<P2PPlayerBattleSession>A list of player battle sessions. Empty if there's no more sessions.

DescribeP2PBattleSessionsResult

/// namespace: Pgos.Client
struct DescribeP2PBattleSessionsResult
fieldtypedescription
battle_sessionsList<P2PBattleSession>The battle sesions that a player is participating in.

TerminateP2PPlayerBattleSessionParams

/// namespace: Pgos.Client
struct TerminateP2PPlayerBattleSessionParams
fieldtypedescription
battle_session_idstringThe battle session id
player_battle_session_idstringThe player battle session id, !!! NOT BATTLE SESSION ID !!!

ReportHostHealthParams

/// namespace: Pgos.Client
struct ReportHostHealthParams
fieldtypedescription
battle_session_idstringThe battle session id
player_battle_session_idstringThe player battle session id of reporter
host_player_idstringHost player id
is_host_healthyboolIs the current client considering the host healthy or not

StartP2PBattleSessionEvt

/// namespace: Pgos.Client
struct StartP2PBattleSessionEvt
fieldtypedescription
battle_sessionP2PBattleSessionThe battle session.
battle_source_dataBattleSourceDataCreation source data of a battle session, contains information about the source type of the battle and player information filled in by the battle creator.

P2PBattleSessionTerminateEvt

/// namespace: Pgos.Client
struct P2PBattleSessionTerminateEvt
fieldtypedescription
battle_session_idstringThe battle session id
termination_timeInt64PGOS will forcefully terminate the session after waiting this time.

P2PPlayerBattleSessionsTerminatedEvt

This event is called periodically to notify game DS of those player battle sessions that have been terminated from client side.

/// namespace: Pgos.Client
struct P2PPlayerBattleSessionsTerminatedEvt
fieldtypedescription
battle_session_idstringThe battle session id.
player_battle_session_idstringThe player battle session id that have been terminated.

P2PBattleSessionUpdatedEvt

/// namespace: Pgos.Client
struct P2PBattleSessionUpdatedEvt
fieldtypedescription
battle_sessionP2PBattleSessionThe updated battle session details.

P2PConnectParams

/// namespace: Pgos.Client
struct P2PConnectParams
fieldtypedescription
peer_player_idstringThe player id.
connection_typeP2PConnectionTypeThe connection type to used. If not specified, PGOS will try to connect via p2p and then via relay.
tokenstringThe token to be used for authentication by the game client.
response_timeoutUInt32The number of milliseconds that the local player waits for a response from the remote player

P2PConnectResult

/// namespace: Pgos.Client
struct P2PConnectResult
fieldtypedescription
peer_player_idstringThe player id.
connection_typeP2PConnectionTypeThe connection type to used.
connection_idstringA unique id that represents a A->B connection.

P2PConnectRequestEvt

Event result of receiving a p2p connection request.

/// namespace: Pgos.Client
struct P2PConnectRequestEvt
fieldtypedescription
peer_player_idstringThe player id of the player who sent the request.
connection_idstringThe connection id of the connection.
tokenstringThe token to be used for authentication by the game client.

P2PMessageEvt

Event result of receiving a p2p message.

/// namespace: Pgos.Client
struct P2PMessageEvt
fieldtypedescription
peer_player_idstringThe player id of the player who sent the message.
connection_idstringThe connection id of the connection.
messagebyte[]The message.

P2PConnectionClosedEvt

Event result when the p2p connection has been closed.

/// namespace: Pgos.Client
struct P2PConnectionClosedEvt
fieldtypedescription
peer_player_idstringThe player id of the player you connect to.
connection_idstringThe connection id of the connection.
reasonPgosResultThe reason of the connection close. Should be ok if the connection is closed by yourself.

DetectNatTypeResult

/// namespace: Pgos.Client
struct DetectNatTypeResult
fieldtypedescription
nat_typeNatTypeThe detected nat type.

P2PConnectionInfo

The information of P2P connection.

/// namespace: Pgos.Client
struct P2PConnectionInfo
fieldtypedescription
peer_player_idstringThe player id of the player you connect to.
peer_nat_typeNatTypeThe nat type of the peer player.
connection_idstringThe connection id of the connection.
connection_typeP2PConnectionTypeThe connection type to used.
is_connectedboolWhether the connection is connected.
is_initiatorboolWhether the connection is initiated by you.
rttintThe RTT of the connection. -1 if not connected.
srttintThe smoothed RTT of the connection. -1 if not connected.
loss_ratefloatThe packet loss rate of the connection. -1 if not connected.

SendP2PMessageParams

/// namespace: Pgos.Client
struct SendP2PMessageParams
fieldtypedescription
connection_idstringThe connection id of the connection.
messagebyte[]The message to be sent.

TerminateP2PBattleSessionParams

/// namespace: Pgos.Client
struct TerminateP2PBattleSessionParams
fieldtypedescription
battle_session_idstringP2P battle session id.

IntoLoginQueueEvt

Event result when the player is placed into the login queue.

/// namespace: Pgos.Client
struct IntoLoginQueueEvt
fieldtypedescription
queue_positionUInt32The queue position of the player.
estimated_wait_timeUInt32The estimated wait time of the player in seconds.

LoginQueueUpdatedEvt

Event result when the login queue status is updated.

/// namespace: Pgos.Client
struct LoginQueueUpdatedEvt : IntoLoginQueueEvt

parent: IntoLoginQueueEvt

GetInventoryWithFilterParams

Get inventory with filter params.

/// namespace: Pgos.Client
struct GetInventoryWithFilterParams
fieldtypedescription
item_typesList<InGameItemType>Item types to get
item_tagsList<TagDataFilter>Item tags to get
item_instance_tagsList<TagDataFilter>Item instance tags to get
uniqueBooleanFilterFilter by unique item
stackableBooleanFilterFilter by stackable item
consumableBooleanFilterFilter by consumable item

GetMutualFriendsCountParams

Get mutual friends count params.

/// namespace: Pgos.Client
struct GetMutualFriendsCountParams
fieldtypedescription
player_idsList<string>The player ids to get mutual friends count with

GetMutualFriendsCountResult

Get mutual friends count result.

/// namespace: Pgos.Client
struct GetMutualFriendsCountResult
fieldtypedescription
mutual_friends_countDictionary<string, UInt32>The mutual friends count of each target player.

PotentialFriendInfo

Basic player information of a potential friend

/// namespace: Pgos.Client
struct PotentialFriendInfo : PlayerSearchInfo

parent: PlayerSearchInfo

fieldtypedescription
mutual_friend_countUInt32The number of mutual friends between this player and the target player.

GetPotentialFriendsResult

The result of [GetPotentialFriends]

/// namespace: Pgos.Client
struct GetPotentialFriendsResult
fieldtypedescription
info_listList<PotentialFriendInfo>A list of potential friends information
has_moreboolWhether there is more friends or not
next_offsetUInt32The starting offset for the next query

LatencyTestRoundCompletedEvt

Event details when a latency test round is completed.]

/// namespace: Pgos.Client
struct LatencyTestRoundCompletedEvt
fieldtypedescription
round_idxUInt32The index of the test round, specifying which round this is (starting from 0).
dataDSHostingLatenciesThe latencies from the client to the DS hosting data centers.