Skip to main content

Server Data Models

Enums

EPgosServerBackfillStrategy

The player filling strategy when backfilling.

enum class EPgosServerBackfillStrategy : uint8
membervaluedescription
Dummy0
Custom1In this mode, the target player count of each team needs to be specified. However, the number of players per team must comply with the ruleset constraint.
MaxPossible2Backfill matchmaking will target max players as defined in ruleset and ignore expansions on player count.

EPgosServerBackfillStatus

Backfill matchmaking request status.

enum class EPgosServerBackfillStatus : uint8
membervaluedescription
Dummy0No ongoing or ended backfill request.
Searching1Searching player to backfill with.
Paused2Means that the backfill is suspended, normally because the battle is full. If any player leaves the battle session after the backfill is paused, the backfill status will turn to searching again.
Canceled3The backfill request is canceled.
Completed4Means that the backfill reaches target and stopped, which only happens when using Custom strategy.
Error5Means that the backfill is terminated due to mathcmaking engine failure, submit bug to us when this happened.

EPgosServerCreationPolicy

The player battle session creation policy.

enum class EPgosServerCreationPolicy : uint8
membervaluedescription
ALLOW_ALL0
DENY_ALL1

EPgosServerEctStatus

The status of ECT.

enum class EPgosServerEctStatus : uint8
membervaluedescription
Uncompleted0The ECT is in an 'Uncompleted' state, indicating that it has not yet reached the 'Done', 'Canceled', or 'Expired' state. This status implies that the ECT is still in progress or has not been completed.
Done1The status of all the actions were updated to 'SUCCESS'; consequently, the ECT's status will become 'Done'
Canceled2The ECT is canceled.
Expired3The ECT is Expired.

EPgosServerEctActionStatus

The status of ECT action.

enum class EPgosServerEctActionStatus : uint8
membervaluedescription
Init0The default action status when an ECT is created.
Success1The action is succeeded.
Failed2The action is failed.

EPgosServerPartyJoinStrategy

The strategy controls the rules who could join the party

enum class EPgosServerPartyJoinStrategy : uint8
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

EPgosServerPartyInviteStrategy

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

enum class EPgosServerPartyInviteStrategy : uint8
membervaluedescription
AllMembersCanInvite0All members of the party can invite others, it's the default strategy
OnlyLeaderCanInvite1Only the party leader can invite others

Structs

FPgosServerWorldTeamInfo

Information of a team in a world battle session.

struct FPgosServerWorldTeamInfo
fieldtypedescription
team_nameFStringThe world team name
player_idsTArray<FString>Players of the world team
team_capacityint32Max number of players in the world team

FPgosServerBalance

The currency in the player's wallet.

struct FPgosServerBalance
fieldtypedescription
currency_codeFStringThe code of the currency.
currency_nameFStringThe name of the currency.
currency_iconFStringThe uri of the currency.
currency_typeEPgosCurrencyTypeCurrency 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.

FPgosServerBatchGetPlayerInfoSvrRsp

Response that server batch getting playerInfo.

struct FPgosServerBatchGetPlayerInfoSvrRsp
fieldtypedescription
dataTMap<FString, FPgosPlayerDetail>Player infos, key: player_id, value: player detail.
fail_playersTMap<FString, FString>Players who totally failed, key: player_id, value: failed reason.

FPgosServerBatchIncrOneOfPlayerKVDataRsp

The response that Performs atomic increment operation on a specific kvdata item for multiple players.

struct FPgosServerBatchIncrOneOfPlayerKVDataRsp
fieldtypedescription
dataTMap<FString, FPgosOnePlayerKVData>data after the increment, key: player_id, value: the player's new kvdata value after the updated.
failed_playersTMap<FString, FPgosResult>Players who totally failed, key: player_id, value: failed reason.

FPgosServerKVDataGroupWithResult

A set of kvdata items.

struct FPgosServerKVDataGroupWithResult
fieldtypedescription
resultFPgosResultThe result corresponding to the data in the structure: If the result.err_code is 0 (success), then the operation for the player is successful and the kvdata is the latest data. If the result.err_code is 11108 (kBackendKVDataVersionMismatched (11108)), then the operation for the player is failed and the kvdata is the latest data, you may try again with the latest version. For other values of the result.err_code, the kvdata is invalid, you can check the result.msg for detail.
versionint32The player-wide version of the versioned kvdata
kvdataTMap<FString, FPgosKVDataValue>KVData items, key: item key, value: item value.

FPgosServerBatchSetPlayerVersionedKVDataRsp

Response that updates versioned kvdata for multiple players.

struct FPgosServerBatchSetPlayerVersionedKVDataRsp
fieldtypedescription
dataTMap<FString, FPgosServerKVDataGroupWithResult>Results and data for each player, key: player_id, value: kvdata with result.

FPgosServerBatchOpenIDToPlayerIDRsp

Response of transform playerIDs of PGOS to account openIDs of external platform.

struct FPgosServerBatchOpenIDToPlayerIDRsp
fieldtypedescription
dataTMap<FString, FString>Result of successful conversion, key: account openID, value: player id.
failsTMap<FString, FString>Account openIDs who failed, key: account openID, value: failed reason.

FPgosServerBattleSession

A battle session corresponds a accessible battle

struct FPgosServerBattleSession
fieldtypedescription
battle_session_idFStringThe battle session id to query
fleet_idFStringThe DS fleet that battle sessions located in
battle_source_dataFPgosBattleSourceDataCreation source data of a battle session, contains information about the source type of the battle and player information filled in by the battle creator.
battle_propertiesTArray<FPgosBattleProperty>Custom K-V pairs of a battle session. Preset in matchmaking or world configuration of filled with lobby data
battle_session_dataFStringCustom string data of a battle session. Preset in matchmaking or world configuration
portint32The port of the DS holding the battle session.
ip_addressFStringThe IP address of the DS holding the battle session.
backfill_statusEPgosServerBackfillStatusBackfill request status.
bucket_pathTMap<FString, FString>Mapping from bucket filter attribute name to attribute value. [for WORLD battle session only]
source_typeEPgosBattleSourceTypeWhat service that the battle session generated from
configuration_nameFStringConfiguration name of matchmaking, lobby or world service
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
max_teamsint32Maximum number of teams in the battle session Only filled when the battle session source type is BattleSourceType::World
total_playersint32Total number of players in the battle session. Only players with a player battle session status of COMPLETED will be excluded
ruleset_nameFStringRuleset 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.
zoneFStringZone where the battle session placed.
teamsTMap<FString, FPgosServerWorldTeamInfo>Teams info in a world battle session. Only filled when the battle session source type is BattleSourceType::World

FPgosServerPlayerBattleSession

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

struct FPgosServerPlayerBattleSession
fieldtypedescription
player_battle_session_idFStringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
player_idFStringThe player id
battle_session_idFStringThe battle session id
statusFStringPENDING The player battle session requires DS to call the ReservePlayerBattleSession interface for approval. RESERVED Reserved players can be validated through the AcceptPlayerBattleSession interface. ACTIVE Player battle session status turn to ACTIVE after AcceptPlayerBattleSession is called successfully. COMPLETED This 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.
payloadFStringPayload data set be game client when calling interface JoinWorldBattleSession.
created_timeint64The Unix timestamp(in seconds) when the battle session was created.
team_nameFStringTeam name in a world battle session.

FPgosServerPlayerBattleSessionParams

struct FPgosServerPlayerBattleSessionParams
fieldtypedescription
battle_session_idFStringThe battle session in which the player is participating.
player_battle_session_idFStringThe session ID of the player within the battle session. Please note that this parameter is different from the battle session ID. PGOS assigns different player battle session IDs to players who join the same battle session multiple times.
player_idFStringPlayer ID.

FPgosServerDescribePlayerBattleSessionsParams

Request info to describe player battle sessions

struct FPgosServerDescribePlayerBattleSessionsParams
fieldtypedescription
battle_session_idFStringThe battle session id to query
player_battle_session_idFStringThe id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
offsetint32The next token
countint32The limit of the player battle sessions request

FPgosServerDescribePlayerBattleSessionsResult

Information about the players in the battle session.

struct FPgosServerDescribePlayerBattleSessionsResult
fieldtypedescription
next_offsetint32The next offset.
has_moreboolIf has more players.
total_numint32None-completed players count in the battle session.
player_battle_sessionsTArray<FPgosServerPlayerBattleSession>A list of player battle sessions. Empty if there's no more sessions.

FPgosServerGrantItem

struct FPgosServerGrantItem
fieldtypedescription
item_idFStringThe id of the item will be granted.
amountint32The number of the item will be granted.
mutable_custom_dataTMap<FString, FPgosKVDataValue>The mutable kv data of the instance. The key must be prefixed with "int", "flt", or "str_", which respectively indicate that the value type is integer, float, or string. Max 32 keys, each key limited to 128 bytes and each value limited to 4096 bytes(in a narrow-character string).

FPgosServerBatchRevokeInstancesParams

Request struct for revoke instances.

struct FPgosServerBatchRevokeInstancesParams : public FPgosBaseBackendEventParams

parent: FPgosBaseBackendEventParams

fieldtypedescription
player_idFStringThe player whose item instance will be revoked from inventory.
instance_idsTArray<FString>The item instance ids. Maximum array size: 99.

FPgosServerBatchRevokeInstancesResult

Request struct for batch revoke instances.

struct FPgosServerBatchRevokeInstancesResult
fieldtypedescription
left_amountsTMap<FString, int32>The number of instance remaining after this operation. key: item instance id, value: left amount.
failsTMap<FString, FPgosResult>Item instances that failed to revoke. key: item instance id, value: failed reason.

FPgosServerGrantCurrency

struct FPgosServerGrantCurrency
fieldtypedescription
currency_codeFStringThe code of the currency will be granted.
amountint32The amount of the currency will be granted.

FPgosServerGrantItemToPlayerParams

Request struct for grant item to player.

struct FPgosServerGrantItemToPlayerParams : public FPgosBaseBackendEventParams

parent: FPgosBaseBackendEventParams

fieldtypedescription
player_idFStringThe player id who will be granted items to.
itemsTArray<FPgosServerGrantItem>The items will be granted.
idempotency_tokenFString[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_id.
pay_platform_dataFPgosPayPlatformDataThe necessary information required by the payment platform, which must be filled out when granting items contents premium currency.

FPgosServerGrantItemResult

struct FPgosServerGrantItemResult
fieldtypedescription
player_idFStringThe player id who has been successfully granted.
item_instsFPgosItemInstPackThe item instances that have been granted.
currenciesTArray<FPgosCurrency>The currencies that have been granted. (such as granting bundle that contains currencies)
conflict_unique_itemsTArray<FPgosConflictUniqueItem>Unique items that already in inventory cause failed to be granted.
failed_currenciesTMap<FString, FString>Currencies that failed to grant. Mapping from currency code to failure reason.
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.

FPgosServerGrantCurrencyToPlayerParams

Request struct for grant currency to player.

struct FPgosServerGrantCurrencyToPlayerParams : public FPgosBaseBackendEventParams

parent: FPgosBaseBackendEventParams

fieldtypedescription
player_idFStringThe player id who will be granted currencies to.
currenciesFPgosServerGrantCurrencyThe currencies will be granted.
idempotency_tokenFString[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_id.
pay_platform_dataFPgosPayPlatformDataThe necessary information required by the payment platform, which must be filled out when granting premium currency.

FPgosServerGrantCurrencyResult

struct FPgosServerGrantCurrencyResult
fieldtypedescription
player_idFStringThe player id who have been successfully granted.
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.

FPgosServerGetPlayerInventoryResult

struct FPgosServerGetPlayerInventoryResult
fieldtypedescription
player_idFStringThe player id whose inventory will be queried.
item_instsFPgosItemInstPackThe item instances of the query instance ids.
failsTMap<FString, FString>The instance ids which was failed to query.

FPgosServerGetPlayerInventoryWithFilterResult

struct FPgosServerGetPlayerInventoryWithFilterResult
fieldtypedescription
player_idFStringThe player id whose inventory will be queried.
item_instsFPgosItemInstPackThe item instances of the query instance ids.

FPgosServerSetInstanceCustomDataParams

struct FPgosServerSetInstanceCustomDataParams
fieldtypedescription
player_idFStringThe player whose item instance mutable_custom_data will be updated.
instance_idFStringThe item instance id.
update_dataTMap<FString, FPgosKVDataValue>Update the data of the specified keys in the mutable_custom_data. If the key does not exist, it indicates inserting new data.
delete_keysTArray<FString>Delete the data of specified keys in the mutable_custom_data. The key from update_data cannot be included.

FPgosServerSetInstanceCustomDataResult

struct FPgosServerSetInstanceCustomDataResult
fieldtypedescription
mutable_custom_dataTMap<FString, FPgosKVDataValue>Latest mutable_custom_data of item instance.
versionint32Latest mutable_custom_data_version of item instance.

FPgosServerUpdatedInstanceCustomData

struct FPgosServerUpdatedInstanceCustomData
fieldtypedescription
update_dataTMap<FString, FPgosKVDataValue>Update the data of the specified keys in the mutable_custom_data. If the key does not exist, it indicates inserting new data.
delete_keysTArray<FString>Delete the data of specified keys in the mutable_custom_data. The key from update_data cannot be included.

FPgosServerBatchSetInstanceCustomDataParams

struct FPgosServerBatchSetInstanceCustomDataParams
fieldtypedescription
player_idFStringThe player whose item instance mutable_custom_data will be updated.
dataTMap<FString, FPgosServerUpdatedInstanceCustomData>The item instances to be updated. key: item instance id, value: custom data to be updated. Maximum map entries: 99.

FPgosServerInstanceCustomData

struct FPgosServerInstanceCustomData
fieldtypedescription
mutable_custom_dataTMap<FString, FPgosKVDataValue>Latest mutable_custom_data of item instance.
versionint32Latest mutable_custom_data_version of item instance.

FPgosServerBatchSetInstanceCustomDataResult

struct FPgosServerBatchSetInstanceCustomDataResult
fieldtypedescription
dataTMap<FString, FPgosServerInstanceCustomData>Latest mutable_custom_data of item instance. key: item instance id, value: latest custom data
failsTMap<FString, FPgosResult>Item instances that failed to update. key: item instance id, value: failed reason.

FPgosServerSetInstanceCustomDataWithVersionParams

struct FPgosServerSetInstanceCustomDataWithVersionParams : public FPgosServerSetInstanceCustomDataParams

parent: FPgosServerSetInstanceCustomDataParams

fieldtypedescription
versionint32The latest mutable_custom_data_version.

FPgosServerIncrInstanceCustomDataParams

struct FPgosServerIncrInstanceCustomDataParams
fieldtypedescription
player_idFStringThe player id whose item instance mutable_custom_data will be updated.
instance_idFStringThe item instance id.
incrementsTMap<FString, FPgosKVDataValue>Increments to update, key: kvdata key, value: increment of the value.
idempotency_tokenFString[Optional] Used to ensure the idempotence of the function. By passing a unique idempotency_token, it ensures that the function does not produce duplicate side effects or results when called repeatedly.

FPgosServerIncrInstanceCustomDataResult

struct FPgosServerIncrInstanceCustomDataResult
fieldtypedescription
mutable_custom_dataTMap<FString, FPgosKVDataValue>Latest mutable_custom_data of item instance.
versionint32Latest mutable_custom_data_version of item instance.
replayedboolWhether the request is replayed. When it is true, it indicates that the previously used idempotency_token was used, and the increment operation did not take effect. The result returns the latest mutable_custom_data and mutable_custom_data_version of the instance.

FPgosServerSetInstanceTagsParams

struct FPgosServerSetInstanceTagsParams
fieldtypedescription
player_idFStringThe player id whose item instance tags will be updated.
instance_idFStringThe item instance id.
update_dataTMap<FString, FString>Update the data of the specified keys in the tags. If the key does not exist, it indicates inserting new data.
delete_keysTArray<FString>Delete the data of specified keys in the tags. The key from update_data cannot be included.

FPgosServerSetInstanceTagsResult

struct FPgosServerSetInstanceTagsResult
fieldtypedescription
tagsTMap<FString, FString>Latest tags of item instance.

FPgosServerUpdatedInstanceTags

struct FPgosServerUpdatedInstanceTags
fieldtypedescription
update_dataTMap<FString, FString>Update the data of the specified keys in the tags. If the key does not exist, it indicates inserting new data.
delete_keysTArray<FString>Delete the data of specified keys in the tags. The key from update_data cannot be included.

FPgosServerBatchSetInstanceTagsParams

struct FPgosServerBatchSetInstanceTagsParams
fieldtypedescription
player_idFStringThe player id whose item instance tags will be updated.
dataTMap<FString, FPgosServerUpdatedInstanceTags>The item instances to be updated. key: item instance id, value: tags to be updated. Maximum map entries: 99.

FPgosServerInstanceTags

struct FPgosServerInstanceTags
fieldtypedescription
tagsTMap<FString, FString>Latest tags of item instance.

FPgosServerBatchSetInstanceTagsResult

struct FPgosServerBatchSetInstanceTagsResult
fieldtypedescription
dataTMap<FString, FPgosServerInstanceTags>Latest tags of item instance.
failsTMap<FString, FPgosResult>Item instances that failed to update. key: item instance id, value: failed reason.

FPgosServerDelBattleDataRsp

Response that delete battle data.

struct FPgosServerDelBattleDataRsp
fieldtypedescription
failsTMap<FString, FString>Keys failed to delete, key: battle data keys, value: failed reason.

FPgosServerStartBackfillParams

struct FPgosServerStartBackfillParams
fieldtypedescription
battle_session_idFStringBattle session to be backfilled.
backfill_strategyEPgosServerBackfillStrategyThe player filling strategy when backfilling.
custom_team_mapTMap<FString, int32>The target player count of each team.

FPgosServerCancelBackfillResult

Cancel a backfill matchmaking request

struct FPgosServerCancelBackfillResult
fieldtypedescription
canceledboolWhether the player has canceled the backfill matchmaking request

FPgosServerBattlePlayerOfflineEvt

The event will be triggered when the player in the battle-session is offline.

struct FPgosServerBattlePlayerOfflineEvt
fieldtypedescription
player_idFStringThe player id of the player who is offline.
battle_session_idFStringThe battle-session the player is in
offline_typeEPgosPlayerSessionEvtThe reason why the player is offline.
offline_msgFStringThe detail message for the event.

FPgosServerBattlePlayerBannedEvt

The event will be triggered when the player in the battle-session is banned.

struct FPgosServerBattlePlayerBannedEvt
fieldtypedescription
player_idFStringThe player id of the player who is baned.
battle_session_idFStringThe battle-session the player is in
ban_reasonFStringReason for ban. The reason string comes from the reason string passed in when creating the ban.
ban_created_timeint64Ban creation time.
ban_durationint64Ban duration
ban_expired_timeint64Ban expiration time, 0 means forever

FPgosServerBattleSessionUpdatedEvt

The event will be triggered when new players are added to the battle session or when the backfill status changes.

struct FPgosServerBattleSessionUpdatedEvt
fieldtypedescription
update_reasonFStringThis is a string data enumeration: @BACKFILL_STATUS_CHANGED: backfill status changes @BACKFILL_ADDED_PLAYERS: new players backfilled to the battle session @WORLD_ADDED_PLAYERS: New players are added to the session by World service.
battle_session_idFStringBattle session id.
backfill_statusEPgosServerBackfillStatusStatus for the backfilling process to the battle session.
total_playersint32Total number of players in the battle session. Note: players with a player battle session status of COMPLETED will be excluded.
max_playersint32Max number of players in the battle session.
backedfilled_playersTArray<FPgosPlayerDesc>New players add by backfill matchmaking.
new_player_battle_sessionsTArray<FPgosServerPlayerBattleSession>New players added to the battle session. For example, by the World service.
lockedboolLocked state of the battle session.

FPgosServerUpdateStatItemParams

struct FPgosServerUpdateStatItemParams
fieldtypedescription
itemFPgosStatItemThe stat item to update.
ignore_custom_databoolWhether update custom data. It won't overwrite the old one when updated if this is true.
ignore_tagsboolWhether update tags. It won't overwrite the old one when updated if this is true.

FPgosServerBatchUpdateStatItemParams

struct FPgosServerBatchUpdateStatItemParams
fieldtypedescription
itemsTArray<FPgosStatItem>The stat items to update.
ignore_custom_databoolWhether update custom data. It won't overwrite the old one when updated if this is true.
ignore_tagsboolWhether update tags. It won't overwrite the old one when updated if this is true.

FPgosServerUpdateStatItemFailInfo

Update stat item fail info.

struct FPgosServerUpdateStatItemFailInfo
fieldtypedescription
stat_nameFStringStat to update.
keyFStringThe key of the stat item to update.
err_codeint32update fail error code, view pgos_error.h or PgosErrorCode.h for details.
msgFStringUpdate fail error message, view pgos_error.h or PgosErrorCode.h for details.

FPgosServerStatItemAfterUpdate

Update stat item success info.

struct FPgosServerStatItemAfterUpdate
fieldtypedescription
latest_itemFPgosStatItemLatest stat item.
is_insertedboolIf the stat item is newly created (which means previously the key doesn't exist).
is_modifiedboolIf the stat item is updated (which depends on aggregation type and min/max value range).

FPgosServerBatchUpdateStatItemResult

Response for batch update stat items.

struct FPgosServerBatchUpdateStatItemResult
fieldtypedescription
itemsTArray<FPgosServerStatItemAfterUpdate>Stat items after updated.
failsTArray<FPgosServerUpdateStatItemFailInfo>Stat items that failed to update.

FPgosServerSetBattlePropertiesParams

struct FPgosServerSetBattlePropertiesParams
fieldtypedescription
battle_session_idFStringBattle session id.
battle_propertiesTArray<FPgosBattleProperty>The new battle properties.

FPgosServerLockWorldBattleSessionParams

struct FPgosServerLockWorldBattleSessionParams
fieldtypedescription
battle_session_idFStringBattle session id.

FPgosServerUnlockWorldBattleSessionParams

struct FPgosServerUnlockWorldBattleSessionParams
fieldtypedescription
battle_session_idFStringBattle session id.

FPgosServerPlayerFriendsLimit

struct FPgosServerPlayerFriendsLimit
fieldtypedescription
player_idFStringPlayer id.
friends_limitint32The maximum limit of friends player can have. (max 500 friends)

FPgosServerBatchSetPlayerFriendsLimitParams

struct FPgosServerBatchSetPlayerFriendsLimitParams
fieldtypedescription
player_friends_limitTArray<FPgosServerPlayerFriendsLimit>Friends limit of player.

FPgosServerBatchGetPlayerFriendsLimitParams

struct FPgosServerBatchGetPlayerFriendsLimitParams
fieldtypedescription
player_idsTArray<FString>Player ids.

FPgosServerBatchGetPlayerFriendsLimitResult

struct FPgosServerBatchGetPlayerFriendsLimitResult
fieldtypedescription
player_friends_limitTArray<FPgosServerPlayerFriendsLimit>Friends limit of player.

FPgosServerSetBattleTagsParams

struct FPgosServerSetBattleTagsParams
fieldtypedescription
battle_session_idFStringThe id of battle session.
tagsTArray<FString>The tags of battle.

FPgosServerKVDataItemsWithReplayed

struct FPgosServerKVDataItemsWithReplayed
fieldtypedescription
kvdataTMap<FString, FPgosKVDataValue>KVData items, key: item key, value: value of the key.
replayedboolWhether the request is replayed. When it is True, it indicates that the result of the function is obtained by replaying with the same idepotency_token. This means that the result of the function has been generated in a previous call and is being reused in the current call.

FPgosServerKVDataIncrementsIdempotent

A set of kvdata items with a idempotency token.

struct FPgosServerKVDataIncrementsIdempotent : public FPgosPlayerKVDataGroup

parent: FPgosPlayerKVDataGroup

fieldtypedescription
idempotency_tokenFString[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.

FPgosServerBatchIncrPlayerKVDataIdempotentParams

struct FPgosServerBatchIncrPlayerKVDataIdempotentParams
fieldtypedescription
dataTArray<FPgosServerKVDataIncrementsIdempotent>Key: player id, value: kvdata increments of the player.

FPgosServerBatchIncrPlayerKVDataIdempotentResult

struct FPgosServerBatchIncrPlayerKVDataIdempotentResult
fieldtypedescription
dataTMap<FString, FPgosServerKVDataItemsWithReplayed>players kvdata result values map: key is player id, value is result for increment operations.
failed_playersTMap<FString, FPgosResult>Failed players map: key is player id, value is error code and message.

FPgosServerMachineInfo

struct FPgosServerMachineInfo
fieldtypedescription
machine_idFStringunique id of the machine
machine_modelFStringinstance type of the machine

FPgosServerBuildInfo

struct FPgosServerBuildInfo
fieldtypedescription
build_idFStringunique id of the build
build_nameFStringname of the build

FPgosServerDeploymentInfo

struct FPgosServerDeploymentInfo
fieldtypedescription
public_ipFStringpublic ip of the game server
fleet_idFStringunique id of the fleet
data_centerFStringname of the data center. the possible values can be viewed in the 'DataCenterName' definition.
machine_infoFPgosServerMachineInfodetail information of the machine
build_infoFPgosServerBuildInfodetail information of the build
title_idFString
title_region_idFString

FPgosServerEctActionInfo

Structure to hold information about an ECT action.

struct FPgosServerEctActionInfo
fieldtypedescription
idFStringThe ID of ECT action.
nameFStringThe name of ECT action.
idempotency_tokenFStringToken for idempotency operation.
payloadFStringThe userdata of operation set by game, such as parameters in JSON.
resultFStringThe result of operation set by game.
statusEPgosServerEctActionStatusThe status of ECT action.
updated_timeint64The last updated time of ECT action.

FPgosServerEctExpirationAndRetryPolicy

struct FPgosServerEctExpirationAndRetryPolicy
fieldtypedescription
expiration_durationint32The expiration duration for an ECT is the time period in seconds from its creation until it expires. The ECT will be marked as expired if the duration has elapsed and the ECT is uncompleted. Minimum: 60 seconds; maximum: 604800 seconds (7 days).
trigger_auto_retry_eventboolWhether the retry event of ECT is triggered to VS by PGOS if the ECT is uncompleted.
max_auto_retry_countint32Maximum number of retry attempts. This is only meaningful when the 'trigger_auto_retry_event' is set to true.
auto_retry_intervalint32The time interval in seconds between each retry attempt. The timing of the first try starts counting from the creation of the ECT. This is only meaningful when the 'trigger_auto_retry_event' is set to true. Minimum: 60 seconds; maximum: 86400 seconds (24 hours).

FPgosServerEctInfo

Structure to hold information about an ECT (Eventual Consistent Transaction).

struct FPgosServerEctInfo
fieldtypedescription
idFStringThe ID of ECT.
nameFStringThe name of ECT.
payloadFStringThe userdata of ECT set by game.
player_idsTArray<FString>All players associated with the operation in this ECT.
statusEPgosServerEctStatusThe status of ECT.
expiration_and_retry_policyFPgosServerEctExpirationAndRetryPolicyWhether the retry event of ECT is triggered to VS by PGOS if the ECT is not done.
created_timeint64The created time of ECT.
updated_timeint64The last updated time of ECT.
actionsTArray<FPgosServerEctActionInfo>The actions of ECT.

FPgosServerEctActionCreateParams

struct FPgosServerEctActionCreateParams
fieldtypedescription
nameFStringThe name of ECT action.
payloadFStringThe userdata of operation set by game, such as parameters in JSON.
idempotency_tokenFStringToken for idempotency operation.

FPgosServerCreateEctParams

struct FPgosServerCreateEctParams
fieldtypedescription
idFStringThe ID of ECT.
nameFStringThe name of ECT.
payloadFStringThe userdata of ECT set by game.
player_idsTArray<FString>All players associated with the operation in this ECT.
expiration_and_retry_policyFPgosServerEctExpirationAndRetryPolicyWhether the retry event of ECT will be triggered to VS by PGOS if the ECT is uncompleted.
actionsTArray<FPgosServerEctActionCreateParams>The actions of ECT.

FPgosServerEctActionUpdateParam

struct FPgosServerEctActionUpdateParam
fieldtypedescription
payloadFStringUpdate action's payload.
resultFStringUpdate action's result.
statusEPgosServerEctActionStatusUpdate action's status.

FPgosServerUpdateEctParams

struct FPgosServerUpdateEctParams
fieldtypedescription
idFStringECT ID.
payloadFStringUpdate action's payload.
action_updatesTMap<FString, FPgosServerEctActionUpdateParam>Update the results and status of actions. key: action ID.

FPgosServerUpdateEctActionsParams

struct FPgosServerUpdateEctActionsParams
fieldtypedescription
idFStringECT ID.
action_updatesTMap<FString, FPgosServerEctActionUpdateParam>Update the results and status of actions. key: action ID.

FPgosServerCancelEctParams

struct FPgosServerCancelEctParams
fieldtypedescription
idFStringECT ID.
reasonFStringReason for cancellation.

FPgosServerGetEctInfoParams

struct FPgosServerGetEctInfoParams
fieldtypedescription
idFStringECT ID.

FPgosServerGetPlayerUncompletedEctsParams

struct FPgosServerGetPlayerUncompletedEctsParams
fieldtypedescription
player_idFStringThe ID of the specified player.
offsetint32The start position.
countint32The limit of the ECTs request.

FPgosServerGetPlayerUncompletedEctsResult

struct FPgosServerGetPlayerUncompletedEctsResult
fieldtypedescription
ect_listTArray<FPgosServerEctInfo>List of ECTs.
has_moreboolHas more.
next_offsetint32The next starting position of the list.
total_numint32The total number of uncompleted ECTs that this player has.

FPgosServerPushMsgToGameBackendParams

struct FPgosServerPushMsgToGameBackendParams
fieldtypedescription
msg_bus_tagFStringOptional, the tag of the message bus instance to which the message is sent. If this value is not set, the messge will be sent to a random message bus instance.
msgTArray<uint8>The message data to be sent.
extraTArray<uint8>Optional, extra data to be delivered. For example: it can be used as a header for routing.

FPgosServerRPCRequestToGameBackendParams

struct FPgosServerRPCRequestToGameBackendParams
fieldtypedescription
msg_bus_tagFStringOptional, the tag of the message bus instance to which the message is sent. If this value is not set, the messge will be sent to a random message bus instance.
msgTArray<uint8>The message data to be sent.
extraTArray<uint8>Optional, extra data to be delivered. For example: it can be used as a header for routing.
timeout_msint32Timeout period, in milliseconds. If this value is set to 0, the maximum value 60000 (60 seconds) will be used.

FPgosServerRPCResponse

struct FPgosServerRPCResponse
fieldtypedescription
responseTArray<uint8>The response of an RPC request.

FPgosServerGameBackendMsgEvt

Event info when received msg from the game backend.

struct FPgosServerGameBackendMsgEvt
fieldtypedescription
msg_bus_tagFStringThe tag of the message bus instance from which the message is received.
msgTArray<uint8>Message data sent by the game via PgosMsgBusSDK.

FPgosServerHTTPAPIMsgEvt

Event info when received msg the PGOS backend HTTP API.

struct FPgosServerHTTPAPIMsgEvt
fieldtypedescription
msgTArray<uint8>Message data sent by the game via backend HTTP API.
extraTArray<uint8>Extra data sent by the game via backend HTTP API.

FPgosServerSubtractCurrency

struct FPgosServerSubtractCurrency
fieldtypedescription
currency_codeFStringThe code of the currency will be subtracted.
amountint32The amount of the currency will be subtracted.

FPgosServerSubtractPlayerCurrencyParams

struct FPgosServerSubtractPlayerCurrencyParams : public FPgosBaseBackendEventParams

parent: FPgosBaseBackendEventParams

fieldtypedescription
player_idFStringPlayers whose balance will be subtracted.
subtract_currencyFPgosServerSubtractCurrencyInformation about the subtracted currency.
idempotency_tokenFString[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_id.
pay_platform_dataFPgosPayPlatformDataThe necessary information required by the payment platform, which must be filled out when deducting premium currency.

FPgosServerSubtractPlayerCurrencyResult

struct FPgosServerSubtractPlayerCurrencyResult
fieldtypedescription
player_idFStringThe player id who have been successfully granted.
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.

FPgosServerGetPlayerBalanceParams

struct FPgosServerGetPlayerBalanceParams
fieldtypedescription
player_idFString
pay_platform_dataFPgosPayPlatformDataThe necessary information required by the payment platform, which must be filled out when deducting premium currency.

FPgosServerGetPlayerBalanceResult

struct FPgosServerGetPlayerBalanceResult
fieldtypedescription
currenciesTArray<FPgosServerBalance>All virtual currency balance of the player.

FPgosServerBatchGrantVirtualCurrenciesToPlayerParams

Request struct for batch grant currency to player.

struct FPgosServerBatchGrantVirtualCurrenciesToPlayerParams : public FPgosBaseBackendEventParams

parent: FPgosBaseBackendEventParams

fieldtypedescription
player_idFStringThe player id who will be granted currencies to.
granted_currenciesTArray<FPgosServerGrantCurrency>The virtual currencies will be granted.
idempotency_tokenFString[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_id.

FPgosServerBatchGrantVirtualCurrenciesToPlayerResult

struct FPgosServerBatchGrantVirtualCurrenciesToPlayerResult
fieldtypedescription
player_idFStringThe player id who have been successfully granted.
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.

FPgosServerBatchSubtractPlayerVirtualCurrenciesParams

struct FPgosServerBatchSubtractPlayerVirtualCurrenciesParams : public FPgosBaseBackendEventParams

parent: FPgosBaseBackendEventParams

fieldtypedescription
player_idFStringPlayers whose balance will be subtracted.
subtract_currenciesTArray<FPgosServerSubtractCurrency>The virtual currencies to be granted.
idempotency_tokenFString[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_id.

FPgosServerBatchSubtractPlayerVirtualCurrenciesResult

struct FPgosServerBatchSubtractPlayerVirtualCurrenciesResult
fieldtypedescription
player_idFStringThe player id who have been successfully granted.
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.

FPgosServerPartyCustomData

Custom data for party.

struct FPgosServerPartyCustomData
fieldtypedescription
versionint32Custom data version, always incremental over the lifetime of the party.
global_custom_dataFStringGlobal custom data. Only Leader has permission to modify it.
player_custom_dataTMap<FString, FString>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.

FPgosServerPartyInfo

Detailed information of a party

struct FPgosServerPartyInfo
fieldtypedescription
party_idFStringThe party id
nameFStringName of the party
leaderFPgosPlayerInfoPlayer 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.
membersTArray<FPgosPlayerInfo>Players of the party
created_timeint64The Unix timestamp(in seconds) when the party was created.
max_playerint32Max number of players in the party, unlimited if it is 0.
custom_dataFPgosServerPartyCustomDataCustom data of the party(including global and player).
join_strategyEPgosServerPartyJoinStrategyThe strategy controls the rules who could join the party.
invite_strategyEPgosServerPartyInviteStrategyThe strategy controls the rules who could invite others to the party.

FPgosServerBatchGetPlayerCurrentPartyIdsParams

struct FPgosServerBatchGetPlayerCurrentPartyIdsParams
fieldtypedescription
player_idsTArray<FString>The player ids.

FPgosServerBatchGetPlayerCurrentPartyIdsResult

struct FPgosServerBatchGetPlayerCurrentPartyIdsResult
fieldtypedescription
player_party_idsTMap<FString, FString>The map of player -> party ids, the empty value implies the player is not in any party.

FPgosServerGetPartyInfoParams

struct FPgosServerGetPartyInfoParams
fieldtypedescription
party_idFStringThe player id.

FPgosServerGetPartyInfoResult

struct FPgosServerGetPartyInfoResult
fieldtypedescription
party_infoFPgosServerPartyInfoThe party info.

FPgosServerGetPlayerInventoryWithFilterParams

Get inventory with filter params.

struct FPgosServerGetPlayerInventoryWithFilterParams
fieldtypedescription
player_idFStringThe player id.
item_typesTArray<EPgosInGameItemType>Item types to get
item_tagsTArray<FPgosTagDataFilter>Item tags to get
item_instance_tagsTArray<FPgosTagDataFilter>Item instance tags to get
uniqueEPgosBooleanFilterFilter by unique item
stackableEPgosBooleanFilterFilter by stackable item
consumableEPgosBooleanFilterFilter by consumable item