Skip to main content

Base Data Models

Enums

EPgosAccountProvider

Game integrated account service provider.

enum class EPgosAccountProvider : uint8
membervaluedescription
FAS0Fake account service provided by PGOS.
INTL1Account service provided by Proxima for overseas games.
MSDK2Account service provided by Tencent for China mainland games.
WeGame3Account service provided by WeGame.
PlayFab4Account service provided by PlayFab.
Steam5Account service provided by Steam.
Epic6Account service provided by Epic(EOS), only epicgames identity is supported.
XboxLive7Account service provided by XboxLive.
PlayStationNetwork8Account service provided by PlayStationNetwork.
Nintendo9Account service provided by Nintendo.
JWT10Custom JWT-based authentication using your own identity provider.

EPgosClientOS

The operating system the game client runs on.

enum class EPgosClientOS : uint8
membervaluedescription
Unknown0Unknown.
Linux1Linux.
Windows2Windows.
Mac3MacOS.
Android4Android.
IOS5IOS.
Xbox6XBOX.
PlayStation7PSN.
Switch8Switch.
Web9Run on web browser.

EPgosPlayerSessionEvt

Purpose: define player-session event in its lifetime.

enum class EPgosPlayerSessionEvt : uint8
membervaluedescription
Dummy0unknown event.
SessionExpired_NetworkAbnormal1triggered when the network is abnormal. It is recommended that game clients silently call 'ReLoginPGOS' to create a new player session to regain access to PGOS services. If the result of 'ReLoginPGOS' still fails, then notify the player to check the local network environment.
SessionExpired_TokenExpired2triggered when the PGOS PLAYER TOKEN expired. This usually happens when: the game client loses the network for a long time (for example, the app enters the background mode on the mobile device), and then regains the network (the app enters the foreground mode) and reconnects with PGOS. It is recommended that game clients silently call 'ReLoginPGOS' to create a new player session to regain access to PGOS services. If the result of 'ReLoginPGOS' API still fails, then notify the player to re-login using the account service.
SessionExpired_KickoutByGame3triggered when the game behavior kicks the player out (by the virtual_server API: KickOutPlayer()). it is recommended to notify the player to check the account status.
SessionExpired_KickoutByBan4triggered when the player is banned by the virtual_server API: BanPlayer(kickout=true). it is recommended to notify the player to check the account status.
SessionExpired_KickoutByAnotherLogin5triggered when the account performed another login (maybe on another device). it is recommended to notify the player to check the account status.
SessionExpired_KickoutByTitleRegionClosed6triggered when the title region is closed.
SessionExpired_KickoutByAccountCanceled7triggered when the account is cancelled. it is recommended to notify the player to check the account status.
SessionStart8triggered when a player session starts successfully after LoginPGOS is called.
SessionEnd9triggered when player-session ended.

EPgosAcceptedStatus

Player response to the proposed battle.

enum class EPgosAcceptedStatus : uint8
membervaluedescription
Dummy0Dummy. Player did not submit the confirmation.
Accepted1Player has accepted the proposed battle.
Rejected2Player has rejected the proposed battle.

EPgosBattleSourceType

Battle source type defines.

enum class EPgosBattleSourceType : uint8
membervaluedescription
None0None.
Matchmaking1Battle generated by matchmaking service.
Lobby2Battle generated by lobby service.
Standalone3Battle generated by game server.
World4Battle generated by world service.

EPgosInGameItemType

InGameItem type defines

enum class EPgosInGameItemType : uint8
membervaluedescription
Dummy0None
Normal1It is the most basic item in in-game item, which would not own any 'content item'.
Bundle2It represents a group of in-game items, which will not be instantiated into the player inventory.
Container3It contains a group of in-game items, which can be instantiated into the player inventory.

EPgosItemInstanceStatus

InGameItem type defines

enum class EPgosItemInstanceStatus : uint8
membervaluedescription
Dummy0None
Available1The item instance can be used.
Expired2The item instance has expired and can't be used.

EPgosKVDataType

Value types of KVData

enum class EPgosKVDataType : uint8
membervaluedescription
String0String value.
Integer1Integer number value: can hold Int32/Int64 numbers.
Float2Floating-point number value: can hold float/double numbers.

EPgosGameProcessType

Type of game process.

enum class EPgosGameProcessType : uint8
membervaluedescription
Client0A game client process.
Normal1Game server processes that can hold battle sessions.
ForkingProcess2A ForkingProcess is a special server process which will be forked to child that can hold battle sessions.
ForkedChild3A process that was forked from a ForkingProcess game server. ForkedChild should be able to hold a battle session.

EPgosAggregateType

Method for updating statistics items.

enum class EPgosAggregateType : uint8
membervaluedescription
Overwrite0Overwrite with the latest value.
Sum1Sum the value to the exist value.
Maximum2Overwrite with the maximum value.
Minimum3Overwrite with the minimum value.

EPgosClientSDKInstanceMode

PgosSDK Instance mode running in the Game Client.

enum class EPgosClientSDKInstanceMode : uint8
membervaluedescription
Singleton0The PgosSDK instance is a singleton instance in the game client.
LocalPlayerBased1The number of PgosSDK instances in the game client is based on the number of local players, with each local player having their own PgosSDK instance.

EPgosDataCenterName

Enumerate all possible names of the data center in PGOS DS Hosting.

enum class EPgosDataCenterName : FString
membervaluedescription
TCloudGuangzhoutcloud_guangzhouThe name of TCloud data center in Guangzhou.
TCloudShanghaitcloud_shanghaiThe name of TCloud data center in Shanghai.
TCloudSingaporetcloud_singaporeThe name of TCloud data center in Singapore.
TCloudTokyotcloud_tokyoThe name of TCloud data center in Tokyo.
TCloudMumbaitcloud_mumbaiThe name of TCloud data center in Mumbai.
TCloudFrankfurttcloud_frankfurtThe name of TCloud data center in Frankfurt.
TCloudVirginiatcloud_virginiaThe name of TCloud data center in Virginia.
TCloudSiliconvalleytcloud_siliconvalleyThe name of TCloud data center in Siliconvalley.
TCloudSaopaulotcloud_saopauloThe name of TCloud data center in Saopaulo.
AWSSingaporeaws_singaporeThe name of AWS data center in Singapore.
AWSSydneyaws_sydneyThe name of AWS data center in Sydney.
AWSMumbaiaws_mumbaiThe name of AWS data center in Mumbai.
AWSFrankfurtaws_frankfurtThe name of AWS data center in Frankfurt.
AWSOregonaws_oregonThe name of AWS data center in Oregon.
BMFrankfurtbaremetal_frankfurtThe name of bare metal data center in Frankfurt.

EPgosCurrencyType

enum class EPgosCurrencyType : uint8
membervaluedescription
Dummy0Reserved value, not used.
PGOSVC1Virtual currency managed by PGOS.
MidasGlobalToken2Virtual currency(so called Token by Midas) managed by Midas Global.

EPgosBooleanFilter

enum class EPgosBooleanFilter : uint8
membervaluedescription
BooleanAny0No filter.
BooleanTrue1True filter.
BooleanFalse2False filter.

EPgosFilterComparisonOperator

enum class EPgosFilterComparisonOperator : uint8
membervaluedescription
FilterComparisonOperatorEqual0Equal filter.
FilterComparisonOperatorNotEqual1Not equal filter.

Structs

FPgosMidasGlobalMetaData

Meta data for Midas Global.

struct FPgosMidasGlobalMetaData
fieldtypedescription
app_idFStringApply Offer id of a Midas payment scenario.
role_idFStringMidas Role ID. Each Role ID has its own independent Midas token balance. Note: The game client needs to provide the role ID only when the is_role_id_mapped parameter obtained through the GetMidasGlobalAddonInfo interface is false. Otherwise, this parameter will be ignored.
platformFStringPlatform need by midas payment scenario. Must be one of: ANDROID, IOS, WINDOWS(including epic, steam, midaspay), GAME_CONSOLE(including switch, xbox, play station)

FPgosPayPlatformData

struct FPgosPayPlatformData
fieldtypedescription
midas_globalFPgosMidasGlobalMetaData

FPgosResult

Common result for PGOS API calls.

struct FPgosResult
fieldtypedescription
err_codeint32error code, view pgos_error.h/PgosErrorCode.h for details.
msgFStringerror message, view pgos_error.h/PgosErrorCode.h for details.

FPgosInitSdkParams

Request parameters for init sdk.

struct FPgosInitSdkParams
fieldtypedescription
res_dirFStringDirectory path for PGOS resource files (pgos_config.ini/pgos_server_config.ini, etc.), encoded in ANSI.
log_dirFStringDirectory path for PGOS log files, encoded in ANSI.
cache_dirFStringDirectory path for PGOS cache files, encoded in ANSI.

FPgosKVDataValue

Value of KVData, with a bunch of useful constructors and operator overloaded functions.

struct FPgosKVDataValue
fieldtypedescription
valueFStringValue data: Please access with operators or As* functions.
typeEPgosKVDataTypeValue type: String/Integer/Float.

FPgosOnePlayerKVData

A kvdata item for a specified key of a specified player.

struct FPgosOnePlayerKVData
fieldtypedescription
player_idFStringThe player who owns the kvdata.
keyFStringThe query key.
valueFPgosKVDataValueValue corresponding to key.

FPgosKVDataGroup

A set of kvdata items.

struct FPgosKVDataGroup
fieldtypedescription
kvdataTMap<FString, FPgosKVDataValue>KVData items, key: item key, value: item value.

FPgosKVDataGroupWithVer

A set of kvdata items.

struct FPgosKVDataGroupWithVer
fieldtypedescription
kvdataTMap<FString, FPgosKVDataValue>KVData items, key: item key, value: item value.
versionint32The player-wide version of the versioned kvdata

FPgosKVDataGroupWithVerAndFails

A set of kvdata items.

struct FPgosKVDataGroupWithVerAndFails
fieldtypedescription
kvdataTMap<FString, FPgosKVDataValue>KVData items, key: item key, value: item value.
versionint32The player-wide version of the versioned kvdata
failed_keysTMap<FString, FPgosResult>KVData items that failed to query, key: item key, value: failed reason.

FPgosPlayerKVDataGroup

A set of kvdata items for a specified player, including the keys that failed to be retrieved.

struct FPgosPlayerKVDataGroup
fieldtypedescription
player_idFStringThe player who owns the kvdata.
kvdataTMap<FString, FPgosKVDataValue>KVData items, key: item key, value: item value.

FPgosPlayerKVDataGroupWithVer

A set of kvdata items for a specified player, including the keys that failed to be retrieved.

struct FPgosPlayerKVDataGroupWithVer
fieldtypedescription
player_idFStringThe player who owns the kvdata.
kvdataTMap<FString, FPgosKVDataValue>KVData items, key: item key, value: item value.
versionint32The player-wide version of the versioned kvdata

FPgosPlayerKVDataGroupWithFails

A set of kvdata items for a specified player, including the keys that failed to be retrieved.

struct FPgosPlayerKVDataGroupWithFails
fieldtypedescription
player_idFStringThe player who owns the kvdata.
kvdataTMap<FString, FPgosKVDataValue>KVData items, key: item key, value: item value.
failed_keysTMap<FString, FPgosResult>KVData items that failed to query, key: item key, value: failed reason.

FPgosPlayerKVDataGroupWithVerAndFails

A set of kvdata items for a specified player, including the keys that failed to be retrieved.

struct FPgosPlayerKVDataGroupWithVerAndFails
fieldtypedescription
player_idFStringThe player who owns the kvdata.
kvdataTMap<FString, FPgosKVDataValue>KVData items, key: item key, value: item value.
versionint32The player-wide version of the versioned kvdata
failed_keysTMap<FString, FPgosResult>KVData items that failed to query, key: item key, value: failed reason.

FPgosKVDataGroupWithFails

A set of kvdata items, including the keys that failed to be retrieved.

struct FPgosKVDataGroupWithFails
fieldtypedescription
kvdataTMap<FString, FPgosKVDataValue>KVData items, key: item key, value: item value.
failed_keysTMap<FString, FPgosResult>KVData items that failed to query, key: item key, value: failed reason.

FPgosBatchPlayerKVDataGroup

Batch players' respective kvdata items, including players who completely failed to retrieve.

struct FPgosBatchPlayerKVDataGroup
fieldtypedescription
dataTMap<FString, FPgosKVDataGroup>New value of the updated kvdatas, key: player_id, value: player's new kvdata.
failed_playersTMap<FString, FPgosResult>Players who totally failed, key: player_id, value: failed reason.

FPgosBatchPlayerKVDataGroupWithFails

Batch players' respective kvdata items, including players who completely failed to retrieve and keys that failed to retrieve for players who partially succeeded.

struct FPgosBatchPlayerKVDataGroupWithFails
fieldtypedescription
dataTMap<FString, FPgosKVDataGroupWithFails>KVData and fails of the players, key: player_id, value: the player's kvdata and fails.
failed_playersTMap<FString, FPgosResult>Players who totally failed, key: player_id, value: failed reason.

FPgosBatchPlayerKVDataGroupWithVerAndFails

Batch players' respective kvdata items, including players who completely failed to retrieve and keys that failed to retrieve for players who partially succeeded.

struct FPgosBatchPlayerKVDataGroupWithVerAndFails
fieldtypedescription
dataTMap<FString, FPgosKVDataGroupWithVerAndFails>KVData and fails of the players, key: player_id, value: the player's kvdata and fails.
failed_playersTMap<FString, FPgosResult>Players who totally failed, key: player_id, value: failed reason.

FPgosBatchPlayerOperationResult

Batch operation results for multiple players. (Only includes failed players and their failure reasons)

struct FPgosBatchPlayerOperationResult
fieldtypedescription
failed_playersTMap<FString, FPgosResult>Players who totally failed, key: player_id, value: failed reason.

FPgosKVPair

K-V pair

struct FPgosKVPair
fieldtypedescription
keyFStringkey of the K-V pair
valueFStringvalue of the K-V pair

FPgosTitleRegionConfigKVDataQueryResult

The result of querying the specified key-value data of the title region config data.

struct FPgosTitleRegionConfigKVDataQueryResult
fieldtypedescription
dataTMap<FString, FPgosKVDataValue>The queried title region config kvdata items.
failsTMap<FString, FString>The reason why the query operation failed for these keys, key: item key, value: failed reason.

FPgosTitleConfigKVDataQueryResult

The result of querying the specified key-value data of the title config data.

struct FPgosTitleConfigKVDataQueryResult
fieldtypedescription
dataTMap<FString, FPgosKVDataValue>The queried title config kvdata items.
failsTMap<FString, FString>The reason why the query operation failed for these keys, key: item key, value: failed reason.

FPgosPlayerInfo

Base info of a player

struct FPgosPlayerInfo
fieldtypedescription
player_idFStringunique id of player.
display_nameFStringplayer's display name
genderFStringplayer's gender
avatar_uriFStringplayer's avatar uri
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. 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_idFStringaccount openID
account_platformFStringaccount platform name, such as: 'Steam', 'EpicGames', 'PlayStationNetwork', etc. PGOS will get and save it from the parameters passed in when the game calls 'LoginPGOS'.
account_idFStringaccount platform user id owned by the player (e.g. Steam SteamID, XboxLive Xuid).
osEPgosClientOSThe operating system the game client runs on.
custom_infoTMap<FString, FPgosKVDataValue>custom info from player data, key: item key, value: item value.

FPgosPlayerDetail

Detailed info of a player.

struct FPgosPlayerDetail : public FPgosPlayerInfo

parent: FPgosPlayerInfo

fieldtypedescription
languageFStringplayer's display language, if you want your game to be multilingual.
first_login_timeint64player's first login Unix timestamp in the title region, in seconds.
last_login_timeint64player's last login Unix timestamp in the title region, in seconds.
last_logout_timeint64player's last logout Unix timestamp in the title region, in seconds.
total_timeint64player's total online time, in seconds.
last_login_ipFStringplayer's last login ip address in the title region.
cur_login_ipFStringplayer's current login ip address in the title region.

FPgosChatChannelInfo

Chat channel info

struct FPgosChatChannelInfo
fieldtypedescription
chat_channel_idFStringAn unique chat channel ID for the lobby's chat channel; empty if enable_chatting was set to false when the lobby was created.
chat_channel_nameFStringThe name of chat channel to create
created_timeint64The Unix timestamp(in seconds) when the chat channel was created.

FPgosVirtualServerReq

The request parameter of a virtual server call.

struct FPgosVirtualServerReq
fieldtypedescription
server_nameFStringThe name of the virtual server.
urlFString[Optional] The requested url if there is any. For example: "v1/battle_settlement".
extra_headersTMap<FString, FString>Extra header fields required by the game. It is advisable to add a "Content-Type" field to avoid being rejected by the server, based on the request body format. for example: extra_headers["Content-Type"] = "text/plain" Here are the fields reserved for PGOS that cannot be used by the game: "SDKVersion", "ProtoVersion", "TitleId", "TitleRegionId", "SessionId", "PlayerId", "PlayerTicket", "RoutingKey", "UicAccountInfo", "SecretID", "Pid", "ServerTicket", "DstAddr", "DstCode", "AccTicket".
bodyTArray<uint8>[Optional] The request binary data.

FPgosVirtualServerResp

The response after calling a virtual server request.

struct FPgosVirtualServerResp
fieldtypedescription
statusint32The HTTP status code of the response.
resp_headersTMap<FString, FString>The HTTP header of the response.
resp_bodyTArray<uint8>The HTTP body of the response.

FPgosCurrency

In-game currency which defined on the portal.

struct FPgosCurrency
fieldtypedescription
currency_codeFStringThe code of the currency.
currency_nameFStringThe name of the currency.
currency_iconFStringThe uri of the currency.
currency_typeEPgosCurrencyTypeCurrency type.
amountint32The amount of the currency.

FPgosItemContent

struct FPgosItemContent
fieldtypedescription
item_idFStringThe id of in-game item. Use item_id to find the 'InGameItem' define through the 'ItemDict::FindItem'.
amountint32The amount of item in content.

FPgosInGameItem

In-game item which defined on the portal.

struct FPgosInGameItem
fieldtypedescription
item_idFStringThe id of the item.
display_nameFStringThe name of the item.
iconFStringThe uri of the item.
descriptionFStringThe description of the item.
default_custom_dataTMap<FString, FString>The kv data of the item. Fill in the attributes of item on the portal, such as the attack value attached to the weapon : {"attack":200}.
tagsTMap<FString, FString>The tags of item Fill in the tags of item on the portal, such as the category of item: {"Category":"Equipment"}
item_typeEPgosInGameItemTypeItem type: Dummy / Normal / Bundle / Container.
valid_durationint32The available duration(in seconds) after the item is instantiated to the player inventory, 0 means valid forever.
is_consumableboolWhether the instance of the item can be consumed by ConsumeInstance.
is_stackableboolWhether the instance of the item can be stacked in the player inventory.
stack_limitint32The limitation of stack count for stackable item instance. 0 means no limit.
is_uniqueboolWhether a player can only own one instance of the item.
item_contentTArray<FPgosItemContent>The in-game items that this item contains
currency_contentTArray<FPgosCurrency>The currencies that this item contains

FPgosItemInstance

struct FPgosItemInstance
fieldtypedescription
instance_idFStringThe id of the item instance
amountint32The amount of the item instance
statusEPgosItemInstanceStatusItem instance status: Dummy / Available / Expired
itemFPgosInGameItemThe base definition data of this instance which is shared by all instances generated from the same item id. Please access and edit this data in the In-Game Items page of the PGOS Portal.
mutable_custom_dataTMap<FString, FPgosKVDataValue>The mutable kv data of the instance. Only the server can fill and modify data. 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).
mutable_custom_data_versionint32The version of the mutable_custom_data.
tagsTMap<FString, FString>The custom tags of the instance. Max 32 keys, each key limited to 128 bytes and each value limited to 1024 bytes(in a narrow-character string).
created_timeint64The Unix timestamp(in seconds) when the item was instantiated to the player inventory
updated_timeint64The Unix timestamp(in seconds) when the item instance info has be updated
expired_timeint64The Unix timestamp(in seconds) when the item instance will be expired, 0 means valid forever.
time_to_liveint32Up to now, the remaining time (in seconds) of the validity period of an item. For an item that valid forever, its value is 0. This is not an accurate reference value, for cases that need to be accurate, please refer to 'expired_time'.
pay_platformFStringPay platform name, such as: 'Steam', 'Xbox', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h
pay_platform_dataFPgosPayPlatformDataPayment platform meta data.

FPgosFailsList

A list of failed items in K-V pair data operations

struct FPgosFailsList
fieldtypedescription
failsTMap<FString, FString>A list of failed items in K-V pair data operations

FPgosItemDict

struct FPgosItemDict
fieldtypedescription
dictTMap<FString, FPgosInGameItem>A mapping of in-game item defines, the key is 'item id', and you can use 'ItemDict::FindItem' to search.

FPgosItemInstPack

struct FPgosItemInstPack
fieldtypedescription
instsTArray<FPgosItemInstance>Item instances in the pack.
item_dictFPgosItemDictIn-game item defines that may be referenced in the 'item_content' of a item instance. 'ItemDict::FindItem' could be used to search for particular item.

FPgosConflictUniqueItem

struct FPgosConflictUniqueItem
fieldtypedescription
itemFPgosInGameItemEconomy item.
amountint32The amount of item.

FPgosRegionLatencyInfo

The latency(ms) of the region

struct FPgosRegionLatencyInfo
fieldtypedescription
providerFStringcloud provider, such as: aws, tcloud
regionFStringidc of the fleet
data_centerFStringThe data center name and its possible values can be viewed in the 'DataCenterName' definition.
latencyint32The latency(ms) of the region

FPgosPlayerBlobDataInfo

Player blob data information

struct FPgosPlayerBlobDataInfo
fieldtypedescription
urlFStringA downloadable blob url, valid for one hour after the information is obtained. To download it, you can use the download function provided by the PGOS Utility module or use the download function implemented by yourself.
versionint32The blob version number, an auto-incrementing number.
last_modified_tsint64The Unix timestamp(in seconds) when the blob was updated.
blob_sizeint64Size of the blob (in bytes).
blob_md5FStringMD5 of the blob.

FPgosUpdatePBDProgressInfo

Update player blob data progress information. It will be used as the parameter type in the callback after calling the UpdatePBDFrom* API.

struct FPgosUpdatePBDProgressInfo
fieldtypedescription
player_idFStringThe player to update blob data.
blob_keyFStringThe blob key to update.
new_blob_sizeint64The new total size of the blob after the update, in bytes.
transfered_sizeint64The size of the data that has been transferred, in bytes.

FPgosHttpDownloadProgressInfo

Http download progress information. It will be used as the parameter type in the callback after calling the HttpDownload* API.

struct FPgosHttpDownloadProgressInfo
fieldtypedescription
transfered_sizeint64The size of the data that has been transferred, in bytes.

FPgosBuffer

A regular memory buffer definition.

struct FPgosBuffer
fieldtypedescription
buffer_ptrconst char*The buffer address pointer, the buffer can be read, but cannot be modified and freed.
buffer_lenint64The length of the buffer, in bytes.

FPgosBattleProperty

K-V pair property of a battle session

struct FPgosBattleProperty
fieldtypedescription
keyFStringkey of the K-V pair property of a battle session
valueFStringvalue of the K-V pair property of a battle session

FPgosBaseBackendEventParams

A game-defined custom value pass to PGOS backend event.

struct FPgosBaseBackendEventParams
fieldtypedescription
event_custom_dataFString[Optional] A game-defined custom value pass to PGOS backend event. If you need to get a custom value in the event, pass it in, otherwise, ignore this field. The API parameter structures inherited from this structure all support passing a custom data to the related events. The size is limited to 4096 bytes 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. Detail for PGOS backend event: https://pgos.intlgame.com/pgosdoc/manual/service_manual/extensions/event.html. Detail for how to reference the 'event_custom_data':https://pgos.intlgame.com/pgosdoc/manual/service_manual/extensions/virtual_server.html#531-the-protocol-of-pgos_event.

FPgosStatItem

Statistics item instance value which includes: value, extra value, and tags.

struct FPgosStatItem
fieldtypedescription
stat_nameFStringStat name.
keyFStringStat item key.
valuedoubleThe meaning of the value varies in different scenarios: 1. Get stat item persistent value: it is item persistent value. 2. Get stat item cycle value: it is item cycle value. 3. Update stat item value: it is the value to be aggregated into the stat item.
secondary_valuedoubleStat item secondary value. It will overwrite the old one when updated.
tagsTArray<FString>Stat item tags. It will overwrite the old one when updated if 'ignore_tags' is false. Max 10 values, each value limited to 64 bytes(in a narrow-character string)
custom_dataFStringUsed to store additional information. It will overwrite the old one when updated if 'ignore_custom_data' is false. Limited to 512 bytes(in a narrow-character string)
aggregate_typeEPgosAggregateTypeThe method to aggregate.

FPgosBatchGetStatPersistentInfoResult

Response for batch get stat persistent info result.

struct FPgosBatchGetStatPersistentInfoResult
fieldtypedescription
itemsTArray<FPgosStatItem>Stat items obtained.

FPgosGetStatCycleInfoResult

Statistics item instance values in a cycle round.

struct FPgosGetStatCycleInfoResult
fieldtypedescription
itemFPgosStatItemStat item obtained.
cycle_nameFStringThe name of the cycle.
cycle_round_seqint32The sequence number of the cycle round, start from 1.
round_start_timeint64The cycle round start time, Unix time in second.
round_end_timeint64The cycle round end time, Unix time in second.

FPgosBatchGetStatCycleInfoResult

Response for batch obtaining stat cycle info result.

struct FPgosBatchGetStatCycleInfoResult
fieldtypedescription
itemsTArray<FPgosStatItem>Stat items obtained.
cycle_nameFStringThe name of the cycle.
cycle_round_seqint32The sequence number of the cycle round, start from 1.
round_start_timeint64The cycle round start time, Unix time in second.
round_end_timeint64The cycle round end time, Unix time in second.

FPgosGetStatPersistentInfoParams

struct FPgosGetStatPersistentInfoParams
fieldtypedescription
stat_nameFStringStat name.
keyFStringStat item key.

FPgosBatchGetStatPersistentInfoParams

struct FPgosBatchGetStatPersistentInfoParams
fieldtypedescription
stat_namesTArray<FString>Stat names.
keysTArray<FString>Stat item keys.

FPgosGetStatCycleInfoParams

struct FPgosGetStatCycleInfoParams
fieldtypedescription
stat_nameFStringThe stat name.
keyFStringThe stat item key.
cycle_nameFStringThe stat cycle name.

FPgosBatchGetStatCycleInfoParams

struct FPgosBatchGetStatCycleInfoParams
fieldtypedescription
stat_namesTArray<FString>The stat names.
keysTArray<FString>The stat item keys.
cycle_nameFStringThe stat cycle name.

FPgosBatchGetStatCycleRoundInfoParams

struct FPgosBatchGetStatCycleRoundInfoParams
fieldtypedescription
cycle_namesTArray<FString>The stat cycle names.

FPgosStatCycleRoundInfo

Current round info of cycle.

struct FPgosStatCycleRoundInfo
fieldtypedescription
cycle_nameFStringThe stat cycle name.
cycle_round_seqint32The sequence number of the cycle round, start from 1.
round_start_timeint64The cycle round start time, Unix time in seconds.
round_end_timeint64The cycle round end time, Unix time in seconds.

FPgosBatchGetStatCycleRoundInfoResult

Response for batch obtaining current round info result.

struct FPgosBatchGetStatCycleRoundInfoResult
fieldtypedescription
round_info_mapTMap<FString, FPgosStatCycleRoundInfo>Current round infos. key: cycle_name

FPgosTitleFileInfo

Title File detail infomation. Title File is a cloud file within title-wide, which can be managed on the portal console.

struct FPgosTitleFileInfo
fieldtypedescription
file_nameFStringThe name of the file.
urlFStringA downloadable blob url, its validity time is specified by the 'url_valid_time' parameter when getting it. To download it, you can use the download function provided by the PGOS Utility module or use the download function implemented by yourself.
updated_timeint64The updated time of the file, UNIX time in seconds.
file_sizeint64The size of the file, in bytes.
file_md5FStringThe MD5 of the file.

FPgosGetTitleFileInfoParams

The parameter struct to get title file info.

struct FPgosGetTitleFileInfoParams
fieldtypedescription
pathsTArray<FString>The list contains the full paths of title files from which information will be retrieved, with a maximum size of 100 paths. Note: file&folder names are case-insensitive, meaning that "/config/rules.json" and "/CONFIG/RULES.JSON" are considered the same file.
url_valid_timeint32The valid duration(in seconds) of the file download URL, after which the URL will no longer be downloadable. Its value must be greater than 0, otherwise the operation will fail.

FPgosGetTitleFileInfoResult

Response for getting title file info.

struct FPgosGetTitleFileInfoResult
fieldtypedescription
dataTMap<FString, FPgosTitleFileInfo>Obtained title file informations, key: file path, value: file info.
failsTMap<FString, FString>The reason why the query operation failed for these paths, key: file path, value: failed reason.

FPgosPlayerDesc

Player description

struct FPgosPlayerDesc
fieldtypedescription
player_infoFPgosPlayerInfoBase info of a player.
teamFStringThe name of the player's team.
match_attributesTMap<FString, FPgosKVDataValue>Attributes used by the Matchmaking, map key: attribute name, map value: attribute value.

FPgosBattleTeam

The structure of a team in a battle session.

struct FPgosBattleTeam
fieldtypedescription
nameFStringTeam name
playersTArray<FPgosPlayerDesc>A ordered array of team members. When a team slot is empty in battle session from a lobby, the player_id will be filled as empty

FPgosBattleSourceData

Creation source data of a battle session

struct FPgosBattleSourceData
fieldtypedescription
source_typeEPgosBattleSourceTypeWhat service that the battle session generated from
configuration_nameFStringconfiguration_name Matchmaking configuration name or lobby configuration name
ruleset_nameFStringRuleset name hit. Filled when battle session source type is BattleSourceType::Matchmaking
teamsTArray<FPgosBattleTeam>Teams of the battle session

FPgosTagDataFilter

Filter for tag data.

struct FPgosTagDataFilter
fieldtypedescription
keyFStringTag name.
valueFStringTag value.
opEPgosFilterComparisonOperatorOperation type.