跳到主要内容

Base Data Models

Enums

AccountProvider

Game integrated account service provider.

/// namespace: Pgos
public enum AccountProvider
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.

ClientOS

The operating system the game client runs on.

/// namespace: Pgos
public enum ClientOS
membervaluedescription
Unknown0Unknown.
Linux1Linux.
Windows2Windows.
Mac3MacOS.
Android4Android.
IOS5IOS.
Xbox6XBOX.
PlayStation7PSN.
Switch8Switch.
Web9Run on web browser.

PlayerSessionEvt

Purpose: define player-session event in its lifetime.

/// namespace: Pgos
public enum PlayerSessionEvt
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.

AcceptedStatus

Player response to the proposed battle.

/// namespace: Pgos
public enum AcceptedStatus
membervaluedescription
Dummy0Dummy. Player did not submit the confirmation.
Accepted1Player has accepted the proposed battle.
Rejected2Player has rejected the proposed battle.

BattleSourceType

Battle source type defines.

/// namespace: Pgos
public enum BattleSourceType
membervaluedescription
None0None.
Matchmaking1Battle generated by matchmaking service.
Lobby2Battle generated by lobby service.
Standalone3Battle generated by game server.
World4Battle generated by world service.

InGameItemType

InGameItem type defines

/// namespace: Pgos
public enum InGameItemType
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.

ItemInstanceStatus

InGameItem type defines

/// namespace: Pgos
public enum ItemInstanceStatus
membervaluedescription
Dummy0None
Available1The item instance can be used.
Expired2The item instance has expired and can't be used.

KVDataType

Value types of KVData

/// namespace: Pgos
public enum KVDataType
membervaluedescription
String0String value.
Integer1Integer number value: can hold Int32/Int64 numbers.
Float2Floating-point number value: can hold float/double numbers.

GameProcessType

Type of game process.

/// namespace: Pgos
public enum GameProcessType
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.

AggregateType

Method for updating statistics items.

/// namespace: Pgos
public enum AggregateType
membervaluedescription
Overwrite0Overwrite with the latest value.
Sum1Sum the value to the exist value.
Maximum2Overwrite with the maximum value.
Minimum3Overwrite with the minimum value.

ClientSDKInstanceMode

PgosSDK Instance mode running in the Game Client.

/// namespace: Pgos
public enum ClientSDKInstanceMode
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.

DataCenterName

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

/// namespace: Pgos
public enum DataCenterName
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.

CurrencyType

/// namespace: Pgos
public enum CurrencyType
membervaluedescription
Dummy0Reserved value, not used.
PGOSVC1Virtual currency managed by PGOS.
MidasGlobalToken2Virtual currency(so called Token by Midas) managed by Midas Global.

BooleanFilter

/// namespace: Pgos
public enum BooleanFilter
membervaluedescription
BooleanAny0No filter.
BooleanTrue1True filter.
BooleanFalse2False filter.

FilterComparisonOperator

/// namespace: Pgos
public enum FilterComparisonOperator
membervaluedescription
FilterComparisonOperatorEqual0Equal filter.
FilterComparisonOperatorNotEqual1Not equal filter.

Structs

MidasGlobalMetaData

Meta data for Midas Global.

/// namespace: Pgos
struct MidasGlobalMetaData
fieldtypedescription
app_idstringApply Offer id of a Midas payment scenario.
role_idstringMidas 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.
platformstringPlatform need by midas payment scenario. Must be one of: ANDROID, IOS, WINDOWS(including epic, steam, midaspay), GAME_CONSOLE(including switch, xbox, play station)

PayPlatformData

/// namespace: Pgos
struct PayPlatformData
fieldtypedescription
midas_globalMidasGlobalMetaData

PgosResult

Common result for PGOS API calls.

/// namespace: Pgos
struct PgosResult
fieldtypedescription
err_codePgosErrCodeerror code, view pgos_error.h/PgosErrorCode.h for details.
msgstringerror message, view pgos_error.h/PgosErrorCode.h for details.

InitSdkParams

Request parameters for init sdk.

/// namespace: Pgos
struct InitSdkParams
fieldtypedescription
res_dirstringDirectory path for PGOS resource files (pgos_config.ini/pgos_server_config.ini, etc.), encoded in ANSI.
log_dirstringDirectory path for PGOS log files, encoded in ANSI.
cache_dirstringDirectory path for PGOS cache files, encoded in ANSI.

KVDataValue

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

/// namespace: Pgos
struct KVDataValue
fieldtypedescription
valuestringValue data: Please access with operators or As* functions.
typeKVDataTypeValue type: String/Integer/Float.

OnePlayerKVData

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

/// namespace: Pgos
struct OnePlayerKVData
fieldtypedescription
player_idstringThe player who owns the kvdata.
keystringThe query key.
valueKVDataValueValue corresponding to key.

KVDataGroup

A set of kvdata items.

/// namespace: Pgos
struct KVDataGroup
fieldtypedescription
kvdataDictionary<string, KVDataValue>KVData items, key: item key, value: item value.

KVDataGroupWithVer

A set of kvdata items.

/// namespace: Pgos
struct KVDataGroupWithVer
fieldtypedescription
kvdataDictionary<string, KVDataValue>KVData items, key: item key, value: item value.
versionUInt32The player-wide version of the versioned kvdata

KVDataGroupWithVerAndFails

A set of kvdata items.

/// namespace: Pgos
struct KVDataGroupWithVerAndFails
fieldtypedescription
kvdataDictionary<string, KVDataValue>KVData items, key: item key, value: item value.
versionUInt32The player-wide version of the versioned kvdata
failed_keysDictionary<string, PgosResult>KVData items that failed to query, key: item key, value: failed reason.

PlayerKVDataGroup

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

/// namespace: Pgos
struct PlayerKVDataGroup
fieldtypedescription
player_idstringThe player who owns the kvdata.
kvdataDictionary<string, KVDataValue>KVData items, key: item key, value: item value.

PlayerKVDataGroupWithVer

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

/// namespace: Pgos
struct PlayerKVDataGroupWithVer
fieldtypedescription
player_idstringThe player who owns the kvdata.
kvdataDictionary<string, KVDataValue>KVData items, key: item key, value: item value.
versionUInt32The player-wide version of the versioned kvdata

PlayerKVDataGroupWithFails

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

/// namespace: Pgos
struct PlayerKVDataGroupWithFails
fieldtypedescription
player_idstringThe player who owns the kvdata.
kvdataDictionary<string, KVDataValue>KVData items, key: item key, value: item value.
failed_keysDictionary<string, PgosResult>KVData items that failed to query, key: item key, value: failed reason.

PlayerKVDataGroupWithVerAndFails

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

/// namespace: Pgos
struct PlayerKVDataGroupWithVerAndFails
fieldtypedescription
player_idstringThe player who owns the kvdata.
kvdataDictionary<string, KVDataValue>KVData items, key: item key, value: item value.
versionUInt32The player-wide version of the versioned kvdata
failed_keysDictionary<string, PgosResult>KVData items that failed to query, key: item key, value: failed reason.

KVDataGroupWithFails

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

/// namespace: Pgos
struct KVDataGroupWithFails
fieldtypedescription
kvdataDictionary<string, KVDataValue>KVData items, key: item key, value: item value.
failed_keysDictionary<string, PgosResult>KVData items that failed to query, key: item key, value: failed reason.

BatchPlayerKVDataGroup

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

/// namespace: Pgos
struct BatchPlayerKVDataGroup
fieldtypedescription
dataDictionary<string, KVDataGroup>New value of the updated kvdatas, key: player_id, value: player's new kvdata.
failed_playersDictionary<string, PgosResult>Players who totally failed, key: player_id, value: failed reason.

BatchPlayerKVDataGroupWithFails

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

/// namespace: Pgos
struct BatchPlayerKVDataGroupWithFails
fieldtypedescription
dataDictionary<string, KVDataGroupWithFails>KVData and fails of the players, key: player_id, value: the player's kvdata and fails.
failed_playersDictionary<string, PgosResult>Players who totally failed, key: player_id, value: failed reason.

BatchPlayerKVDataGroupWithVerAndFails

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

/// namespace: Pgos
struct BatchPlayerKVDataGroupWithVerAndFails
fieldtypedescription
dataDictionary<string, KVDataGroupWithVerAndFails>KVData and fails of the players, key: player_id, value: the player's kvdata and fails.
failed_playersDictionary<string, PgosResult>Players who totally failed, key: player_id, value: failed reason.

BatchPlayerOperationResult

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

/// namespace: Pgos
struct BatchPlayerOperationResult
fieldtypedescription
failed_playersDictionary<string, PgosResult>Players who totally failed, key: player_id, value: failed reason.

KVPair

K-V pair

/// namespace: Pgos
struct KVPair
fieldtypedescription
keystringkey of the K-V pair
valuestringvalue of the K-V pair

TitleRegionConfigKVDataQueryResult

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

/// namespace: Pgos
struct TitleRegionConfigKVDataQueryResult
fieldtypedescription
dataDictionary<string, KVDataValue>The queried title region config kvdata items.
failsDictionary<string, string>The reason why the query operation failed for these keys, key: item key, value: failed reason.

TitleConfigKVDataQueryResult

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

/// namespace: Pgos
struct TitleConfigKVDataQueryResult
fieldtypedescription
dataDictionary<string, KVDataValue>The queried title config kvdata items.
failsDictionary<string, string>The reason why the query operation failed for these keys, key: item key, value: failed reason.

PlayerInfo

Base info of a player

/// namespace: Pgos
struct PlayerInfo
fieldtypedescription
player_idstringunique id of player.
display_namestringplayer's display name
genderstringplayer's gender
avatar_uristringplayer'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_idstringaccount openID
account_platformstringaccount 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_idstringaccount platform user id owned by the player (e.g. Steam SteamID, XboxLive Xuid).
osClientOSThe operating system the game client runs on.
custom_infoDictionary<string, KVDataValue>custom info from player data, key: item key, value: item value.

PlayerDetail

Detailed info of a player.

/// namespace: Pgos
struct PlayerDetail : PlayerInfo

parent: PlayerInfo

fieldtypedescription
languagestringplayer'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_ipstringplayer's last login ip address in the title region.
cur_login_ipstringplayer's current login ip address in the title region.

ChatChannelInfo

Chat channel info

/// namespace: Pgos
struct ChatChannelInfo
fieldtypedescription
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.
chat_channel_namestringThe name of chat channel to create
created_timeInt64The Unix timestamp(in seconds) when the chat channel was created.

VirtualServerReq

The request parameter of a virtual server call.

/// namespace: Pgos
struct VirtualServerReq
fieldtypedescription
server_namestringThe name of the virtual server.
urlstring[Optional] The requested url if there is any. For example: "v1/battle_settlement".
extra_headersDictionary<string, string>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".
bodybyte[][Optional] The request binary data.

VirtualServerResp

The response after calling a virtual server request.

/// namespace: Pgos
struct VirtualServerResp
fieldtypedescription
statusInt32The HTTP status code of the response.
resp_headersDictionary<string, string>The HTTP header of the response.
resp_bodybyte[]The HTTP body of the response.

Currency

In-game currency which defined on the portal.

/// namespace: Pgos
struct Currency
fieldtypedescription
currency_codestringThe code of the currency.
currency_namestringThe name of the currency.
currency_iconstringThe uri of the currency.
currency_typeCurrencyTypeCurrency type.
amountUInt32The amount of the currency.

ItemContent

/// namespace: Pgos
struct ItemContent
fieldtypedescription
item_idstringThe id of in-game item. Use item_id to find the 'InGameItem' define through the 'ItemDict::FindItem'.
amountUInt32The amount of item in content.

InGameItem

In-game item which defined on the portal.

/// namespace: Pgos
struct InGameItem
fieldtypedescription
item_idstringThe id of the item.
display_namestringThe name of the item.
iconstringThe uri of the item.
descriptionstringThe description of the item.
default_custom_dataDictionary<string, string>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}.
tagsDictionary<string, string>The tags of item Fill in the tags of item on the portal, such as the category of item: {"Category":"Equipment"}
item_typeInGameItemTypeItem type: Dummy / Normal / Bundle / Container.
valid_durationUInt32The 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_limitUInt32The 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_contentList<ItemContent>The in-game items that this item contains
currency_contentList<Currency>The currencies that this item contains

ItemInstance

/// namespace: Pgos
struct ItemInstance
fieldtypedescription
instance_idstringThe id of the item instance
amountUInt32The amount of the item instance
statusItemInstanceStatusItem instance status: Dummy / Available / Expired
itemInGameItemThe 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_dataDictionary<string, KVDataValue>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_versionUInt32The version of the mutable_custom_data.
tagsDictionary<string, string>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_liveUInt32Up 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_platformstringPay platform name, such as: 'Steam', 'Xbox', etc. You can use macros starting with 'PAY_PLATFORM' in pgos_common_define.h
pay_platform_dataPayPlatformDataPayment platform meta data.

FailsList

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

/// namespace: Pgos
struct FailsList
fieldtypedescription
failsDictionary<string, string>A list of failed items in K-V pair data operations

ItemDict

/// namespace: Pgos
struct ItemDict
fieldtypedescription
dictDictionary<string, InGameItem>A mapping of in-game item defines, the key is 'item id', and you can use 'ItemDict::FindItem' to search.

ItemInstPack

/// namespace: Pgos
struct ItemInstPack
fieldtypedescription
instsList<ItemInstance>Item instances in the pack.
item_dictItemDictIn-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.

ConflictUniqueItem

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

RegionLatencyInfo

The latency(ms) of the region

/// namespace: Pgos
struct RegionLatencyInfo
fieldtypedescription
providerstringcloud provider, such as: aws, tcloud
regionstringidc of the fleet
data_centerstringThe data center name and its possible values can be viewed in the 'DataCenterName' definition.
latencyInt32The latency(ms) of the region

PlayerBlobDataInfo

Player blob data information

/// namespace: Pgos
struct PlayerBlobDataInfo
fieldtypedescription
urlstringA 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.
versionUInt32The 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_md5stringMD5 of the blob.

UpdatePBDProgressInfo

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

/// namespace: Pgos
struct UpdatePBDProgressInfo
fieldtypedescription
player_idstringThe player to update blob data.
blob_keystringThe 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.

HttpDownloadProgressInfo

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

/// namespace: Pgos
struct HttpDownloadProgressInfo
fieldtypedescription
transfered_sizeInt64The size of the data that has been transferred, in bytes.

PgosBuffer

A regular memory buffer definition.

/// namespace: Pgos
struct PgosBuffer
fieldtypedescription
buffer_ptrInt64The buffer address pointer, the buffer can be read, but cannot be modified and freed.
buffer_lenInt64The length of the buffer, in bytes.

BattleProperty

K-V pair property of a battle session

/// namespace: Pgos
struct BattleProperty
fieldtypedescription
keystringkey of the K-V pair property of a battle session
valuestringvalue of the K-V pair property of a battle session

BaseBackendEventParams

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

/// namespace: Pgos
struct BaseBackendEventParams
fieldtypedescription
event_custom_datastring[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.

StatItem

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

/// namespace: Pgos
struct StatItem
fieldtypedescription
stat_namestringStat name.
keystringStat 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.
tagsList<string>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_datastringUsed 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_typeAggregateTypeThe method to aggregate.

BatchGetStatPersistentInfoResult

Response for batch get stat persistent info result.

/// namespace: Pgos
struct BatchGetStatPersistentInfoResult
fieldtypedescription
itemsList<StatItem>Stat items obtained.

GetStatCycleInfoResult

Statistics item instance values in a cycle round.

/// namespace: Pgos
struct GetStatCycleInfoResult
fieldtypedescription
itemStatItemStat item obtained.
cycle_namestringThe name of the cycle.
cycle_round_seqUInt32The 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.

BatchGetStatCycleInfoResult

Response for batch obtaining stat cycle info result.

/// namespace: Pgos
struct BatchGetStatCycleInfoResult
fieldtypedescription
itemsList<StatItem>Stat items obtained.
cycle_namestringThe name of the cycle.
cycle_round_seqUInt32The 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.

GetStatPersistentInfoParams

/// namespace: Pgos
struct GetStatPersistentInfoParams
fieldtypedescription
stat_namestringStat name.
keystringStat item key.

BatchGetStatPersistentInfoParams

/// namespace: Pgos
struct BatchGetStatPersistentInfoParams
fieldtypedescription
stat_namesList<string>Stat names.
keysList<string>Stat item keys.

GetStatCycleInfoParams

/// namespace: Pgos
struct GetStatCycleInfoParams
fieldtypedescription
stat_namestringThe stat name.
keystringThe stat item key.
cycle_namestringThe stat cycle name.

BatchGetStatCycleInfoParams

/// namespace: Pgos
struct BatchGetStatCycleInfoParams
fieldtypedescription
stat_namesList<string>The stat names.
keysList<string>The stat item keys.
cycle_namestringThe stat cycle name.

BatchGetStatCycleRoundInfoParams

/// namespace: Pgos
struct BatchGetStatCycleRoundInfoParams
fieldtypedescription
cycle_namesList<string>The stat cycle names.

StatCycleRoundInfo

Current round info of cycle.

/// namespace: Pgos
struct StatCycleRoundInfo
fieldtypedescription
cycle_namestringThe stat cycle name.
cycle_round_seqUInt32The 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.

BatchGetStatCycleRoundInfoResult

Response for batch obtaining current round info result.

/// namespace: Pgos
struct BatchGetStatCycleRoundInfoResult
fieldtypedescription
round_info_mapDictionary<string, StatCycleRoundInfo>Current round infos. key: cycle_name

TitleFileInfo

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

/// namespace: Pgos
struct TitleFileInfo
fieldtypedescription
file_namestringThe name of the file.
urlstringA 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_md5stringThe MD5 of the file.

GetTitleFileInfoParams

The parameter struct to get title file info.

/// namespace: Pgos
struct GetTitleFileInfoParams
fieldtypedescription
pathsList<string>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_timeUInt32The 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.

GetTitleFileInfoResult

Response for getting title file info.

/// namespace: Pgos
struct GetTitleFileInfoResult
fieldtypedescription
dataDictionary<string, TitleFileInfo>Obtained title file informations, key: file path, value: file info.
failsDictionary<string, string>The reason why the query operation failed for these paths, key: file path, value: failed reason.

PlayerDesc

Player description

/// namespace: Pgos
struct PlayerDesc
fieldtypedescription
player_infoPlayerInfoBase info of a player.
teamstringThe name of the player's team.
match_attributesDictionary<string, KVDataValue>Attributes used by the Matchmaking, map key: attribute name, map value: attribute value.

BattleTeam

The structure of a team in a battle session.

/// namespace: Pgos
struct BattleTeam
fieldtypedescription
namestringTeam name
playersList<PlayerDesc>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

BattleSourceData

Creation source data of a battle session

/// namespace: Pgos
struct BattleSourceData
fieldtypedescription
source_typeBattleSourceTypeWhat service that the battle session generated from
configuration_namestringconfiguration_name Matchmaking configuration name or lobby configuration name
ruleset_namestringRuleset name hit. Filled when battle session source type is BattleSourceType::Matchmaking
teamsList<BattleTeam>Teams of the battle session

TagDataFilter

Filter for tag data.

/// namespace: Pgos
struct TagDataFilter
fieldtypedescription
keystringTag name.
valuestringTag value.
opFilterComparisonOperatorOperation type.