PGOS Change Log
V0.30.0 (2025-03-20)
New Features:
Matchmaking: supported collection rule
PGOS provided the following functionalities to help game developers build P2P games::
- P2P Matchmaking, which considers the NAT type of network, here is the ruleset example for your reference
- P2P Battle Session
- P2P Connection
- P2P NetDriver
DS Hosting:
- Added
title_region_id
field inFPgosHostingAPI::GetDeploymentInfo()
API to allow the DS to get title region information. - Added
Load Status
for the machine, and the game can define the status under which a machine is consideredOverloaded
via Machine Overload Setting.
- Added
Economy: We provided a time machine feature for the store category in non-production title regions. This feature allows users to specify a backend virtual time that applies only to a specific store category, facilitating the verification of store category schedules that are effective in the past or future.
DevOps
- Added new DS hosting telemetry metrics
- machine_cpu_usage_avg
- machine_cpu_usage_max
- machine_cpu_usage_min
- machine_memory_usage_avg
- machine_memory_usage_max
- machine_memory_usage_min
- machine_network_traffic_in
- machine_network_traffic_out
- machine_network_packet_in
- machine_network_packet_out
- Prometheus exporter: supported exporting metrics for machines in the
Overloaded
status
- Added new DS hosting telemetry metrics
Portal: allow developers to edit the tile region name.
Fixed Bugs:
- Fixed the bug to ensure that the latest
OnWorldBattleSessionUpdated
event and callback always contain the newest data of the battle session.
CLI Tools:
- Added New APIs for VS
- start-virtual-server
- stop-virtual-server
- Added
VolumeConfig
return filed in below APIs- list-virtual-server
- describe-virtual-server
- Added
VolumeConfig
request filed in below APIs- create-virtual-server
- update-virtual-server
SDK Download Link:PGOS_SDK_V0.30.0
V0.29.0 (2025-01-17)
New Features:
World: List all world service battle sessions for users in the PGOS Console
DevOps: We added DS and VS's data metrics for Prometheus Exporter. Developers can export the metrics and combine them with Grafana to display the monitor dashboard.
PGOS Audit: The audit log system records all user requests and server responses in PGOS to help developers troubleshoot errors and conduct operation audits.
P2P Matchmaking (coming soon in April~): Combined P2P Network and ClientHosting to support P2P Battle Session.
CLI Tools
Allowed the CLI API to authenticate Developer accounts and Server/Client Keys.
You can enable Secret Keys for different types of regions.(Dev/Test/Prod)
Added New APIs for VS metric config
- update-virtual-server-metric-config
Added New APIs for P2P Local Placer
- update-local-placer
- create-p2p-placer
- update-p2p-placer
- delete-p2p-placer
- list-p2p-placer
Added New APIs in MatchConfig for P2P Placer
- list-match-config
- describe-match-config
- create-match-config
- update-match-config
Added New APIs in BattleSession for P2P Placer
- list-p2p-battle-session
- describe-p2p-battle-session
Added ActiveBattleSessionTimeout in LocalPlacer APIs
- create-local-placer
- update-local-placer
- delete-local-placer
- list-local-placer
Upgrade SDK Note:
- Refactor a few structs:
- FServerPlayerDesc -> FPlayerDesc
- FServerBattleTeam -> FBattleTeam
- FServerBattleSourceData -> FBattleSourceData
SDK Download Link:PGOS_SDK_V0.29.0
V0.28.0 (2024-12-05)
New Services:
- Ticketing System (Beta): It allows developers to submit tickets regarding service-related concerns and technical issues and ensures that all requests are logged, prioritized, and addressed on time.
New Features:
Player Auth: Added new add-on plugins to support PlayStation, Xbox, and NintendoSwitch authentication.
Player Data: Supported exporting player data.
Player Settings:
- Added display name case-sensitive configuration, which needs to be confirmed when setting up the title region, it can't be modified on the portal when the title region was set up.
- Added cooldown period when modifying the player display name.
DS Hosting:
- Added a switch
Enable Placement
in the data center configuration on the portal to control whether the battle session can be placed in this data center. - Supported uploading multiple dedicated server crash core dumps of the same crash stack.
- Added Machine Utilization Trend Chart, DS Utilization Trend Chart, Battle Session Average Placed Time Trend Chart on the dashboard.
- Added a switch
World: Added a parameter “Max Sessions Count” in the bucket.
Lobby: Added a new API
QuickJoin
to support filtering search results through lobby custom data and allow players to find a lobby and join it.- Added
StackLimit
in in-game items to limit the items' stack counts. - Supported free pricing for in-game items.
- Added new APIs:
BatchSetInstanceTags
,BatchSetInstanceCustomData
,BatchRevokeInstances
- Supported store category rotation:
- Added
HTTP API: The expiration of the
idempotency_token
of the HTTP API is changed to 90 days.Virtual Server:
- We have added Virtual Server Market, which contains mainstream software images and installation guidance. It will make deployment easier and faster and dramatically increase your productivity.
- API
InvokeVirtualServer
for UE Plugin supports binary body and response. And the type ofFVirtualServerReq.body
andFVirtualServerResp.resp_body
have changed fromFString
toTArray<uint8>
.
Leaderboard: Added a new API
GetFriendsRankingList
to support querying friends ranking list.System: Added a new API
GetServerTime
to support getting the current UTC time of the server in seconds.PgosSDK: In addition to the release build binaries that have already been provided, PgosSDK will also offer debug build binaries for Windows and Xbox.
Fixed Bugs:
- Fixed a crash caused by an exception in reading the configuration file of assets.
Upgrade SDK Note
PgosSDK
: Some APIs marked as deprecated have been removed.FakeAccount
module APIs:RefreshToken
andSwitchAccount
have been removed.Friend
module APIs:BatchOpenIDToPlatformPlayerInfo
andBatchAccountIDToPlayerID
have been removed, and they can be replaced by the APIs of the same name in thePlayerProfile
module.
PgosSDK
UE plugin: The Sever Secret Key configuration option in the editor plugin setting has been removed. Since v0.27.0, there is no need to configure PGOS Secret Key for Game Server.
PGOS Tools: Updated CLI APIs:
Added New CLI APIs
Economy Store Category Rotation
- reset-store-category-rotation-schedule
- modify-store-category-rotation-periods
- list-store-category-rotation-periods
- collect-virtual-server-logs
- delete-virtual-server-log-collection
- list-virtual-server-log-collection
- describe-virtual-server-log-collection
Updated Parameters
Added
RotationConfiguration
field in the following APIs:- list-store-category
- describe-store-category
- set-store-category-schedule
- export-store
- check-store
- import-store
Renamed
Schedule
filed toManualConfiguration
in the following APIs: (Still compatible withSchedule
field, but the field in API response was already replaced withManualConfiguratio
list-store-category
describe-store-category
set-store-category-schedule
export-store
check-store
import-store
Added
MaxBSCountPerBucket
field in the World Configuration- create-world-config
- list-world-config
- update-world-config
- describe-world-config
Added
StackLimit
in in-game items-related APIs:- list-ingame-item
- describe-ingame-item
- create-ingame-item
- update-ingame-item
- export-ingame-item
- check-ingame-item
- import-ingame-item
Added
EventType
field in the Event handler APIs:- describe-event-handler
- update-event-handler
- delete-event-handler
SDK Download Link:PGOS_SDK_V0.28.0
The following HTTP API responses have changed in V0.28.0: some string-type fields were adjusted to int64 numbers. The old PGOS SDK is compatible with string and int64; please modify the API response type in VS. Otherwise, the APIs invoke will fail.
HTTP API Name | HTTP API URL | Changed Fields in Response |
---|---|---|
QueryBattleSessions | /dsm/query_battle_sessions | body.battle_sessions.created_time body.battle_sessions.terminated_time |
DescribeBattleSessionPlacement | /dsm/describe_battle_session_placement | body.created_time body.terminated_time body.player_battle_sessions.created_time body.player_battle_sessions.terminated_time |
QueryPlayerBattleSessions | /dsm/query_player_battle_sessions | body.player_battle_sessions.created_time body.player_battle_sessions.terminated_time |
AddPlayersToBattleSession | /dsm/add_players_to_battle_session | body.new_player_battle_sessions.created_time body.new_player_battle_sessions.terminated_time |
GetPlayerBattleRecord | /dsm/get_player_battle_record | body.battle_data_list.battle_created_time |
GetFriendList | /friend/get_friend_list | body.friend_info_list.created_time |
GetPlayerStat | /gamestat/get_player_stat | body.latest_login_time body.latest_logout_time |
GetGroupMembers | /group/get_group_members | body.group_members.joined_time body.muted_members.mute_created_time body.muted_members.mute_expired_time body.muted_members.joined_time |
GetGroupInfo | /group/get_group_info | body.group_info.created_time |
GetItemInstanceInfo | /inventory/get_item_instance_info | body.item_instances.created_time body.item_instances.updated_time body.item_instances.expired_time |
GetRankingList | /leaderboard/get_ranking_list | body.items.updated_time |
GetRankItemPosInfo | /leaderboard/get_rank_item_pos_info | body.item.updated_time body.preceding_items.updated_time body.subsequent_items.updated_time |
GetPartyInfo | /party/get_party_info | body.party_info.created_time |
CheckPlayerDeletionStatus | /player/check_player_deletion_status | body.marked_time |
GetPlayerDetail | /player/get_player_detail | body.first_login_time body.last_login_time body.last_logout_time body.total_time body.cur_login_time |
GetPlayerDetailByDisplayName | /player/get_player_detail_by_display_name | body.first_login_time body.last_login_time body.last_logout_time body.total_time body.cur_login_time |
BatchGetPlayerDetail | /player/batch_get_player_detail | body.data.first_login_time body.data.last_login_time body.data.last_logout_time body.data.total_time body.data.cur_login_time |
GetPlayerDetailListByDisplayName | /player/get_player_detail_list_by_display_name | body.player_detail_list.first_login_time body.player_detail_list.last_login_time body.player_detail_list.last_logout_time body.player_detail_list.total_time body.player_detail_list.cur_login_time |
BatchGetPlayerDetailListByDisplayNames | /player/batch_get_player_detail_list_by_display_names | body.player_detail_list.first_login_time body.player_detail_list.last_login_time body.player_detail_list.last_logout_time body.player_detail_list.total_time body.player_detail_list.cur_login_time |
BatchGetPlayerDetailsByDisplayNames | /player/batch_get_player_details_by_display_names | body.player_detail_infos.displayname.first_login_time body.player_detail_infos.displayname.last_login_time body.player_detail_infos.displayname.last_logout_time body.player_detail_infos.displayname.total_time body.player_detail_infos.displayname.cur_login_time |
GetPlayerBanInfo | /player/get_player_ban_info | body.created_time body.expired_time |
QueryPlayersPunishItems | /player/query_players_punish_items | body.punish_map.playerid.items.start_time body.punish_map.playerid.items.deadline |
GetTitleFileInfo | /title/get_title_file_info | body.data.updated_time body.data.file_size |
GetAllOverallBanInfo | /title/get_all_overall_ban_info | body.ban_info_list.ban_start_time body.ban_info_list.ban_expire_time body.ban_info_list.created_time body.ban_info_list.updated_time |
CreateECT | /ect/create_ect | body.created_time body.updated_time body.actions.updated_time |
GetPlayerUncompletedECTs | /ect/get_player_uncompleted_ects | body.ect_list.created_time body.ect_list.updated_time body.ect_list.actions.updated_time |
CancelECT | /ect/cancel_ect | body.created_time body.updated_time body.actions.updated_time |
UpdateECT | /ect/update_ect | body.created_time body.updated_time body.actions.updated_time |
UpdateECTActions | /ect/update_ect_actions | body.created_time body.updated_time body.actions.updated_time |
GetECTInfo | /ect/get_ect_info | body.created_time body.updated_time body.actions.updated_time |
GetPlayerCurrency | /inventory/get_player_currency | body.currencies.amount body.currencies.total_spend body.currencies.created_time |
GetPlayerMails | /mail/get_player_mails | body.mail_list.sent_time_stamp |
GetStatItems | /statistics/get_stat_items | body.round_start_time body.round_end_time body.items.updated_time |
GetPersistentStatItems | /statistics/get_persistent_stat_items | body.items.updated_time |
UpdateStatItems | /statistics/update_stat_items | body.items.latest_item.updated_time |
GetCycleCurrentRound | /statistics/get_cycle_current_round | body.round_info_map.round_start_time body.round_info_map.round_end_time |
V0.27.1 (2024-10-11)
New Features:
- Web Console of DS Hosting: Allows users to select an activated DS instance on the web console page and enter their terminal (Linux SSH or Windows RDP).
Add-on: Adapted to ACE SDK and provided add-on to enable the text moderation functionality.
Fixed Bugs
- Fixed the bug that giving the server port with the ActivateBattleSession call in local DS didn't work.
- Fixed the bug where the CI process failed due to the untagged image when the Virtual Server was created using image resources.
Only update the backend and web portal to V0.27.1, developers don't need to upgrade PGOS SDK.
Move the backend API/Title CLI Domin on the portal to details.
V0.27.0 (2024-09-20)
PGOS Services
New Services:
- Message Bus: In scenarios where a game has a hosted backend system and only utilizes certain services from PGOS (such as DS Hosting), there may be a need for the game-hosted backend to communicate with the DS (Dedicated Server) or VS (Virtual Server), and to receive PGOS Events. Typically, DS/VS can communicate directly with the game-hosted backend through the public network. However, this requires the game-hosted backend to have a public network gateway. Furthermore, even if the game-hosted backend already has a public network gateway, some adaptation work is still required for the game. Therefore, PGOS provides a ready-to-use communication mechanism called Message Bus to support data exchange with game-hosted backend services.
- Eventual Consistent Transaction (ECT): ECT is used for tracking the game transaction. When a game needs to execute a transaction that contains several ordered actions to modify player data or inventory, the game can create an ECT Instance to track the transaction status on the backend side(game server or virtual server).
- Player Punishment: Player Punishment means that the player cannot use certain features for a specified period. The game implements a punishment to discipline players who engage in negative behaviors such as cheating or verbally abusing others. The game can manage (add/revoke) Player Punishment through the portal console or backend HTTP API. A Player Punishment has a deadline time, when the deadline time is reached, the punishment will be automatically lifted.
New Features
World:
- Supported for multi-plyers leaving the world: A player can use the
InviteLeaveWorld
API to invite other players to leave a specified world. - Added DS Approval in world configuration: developers can choose a DS approval strategy to specify how to handle clients'
JoinWorldBattleSession
requests.- Require approval when the session is locked: DS approval is only required when directly joining a locked world battle session.
- Require approval for all session join requests: All join requests from the
JoinWorldBattleSession
interface require DS approval, regardless of whether the world battle session is locked or not.
- World Battle Session ID Renaming & Zone moved to BattleSessionInfo
- Supported for multi-plyers leaving the world: A player can use the
Matchmaking: The simulator supports multi-mode matchmaking
DS Hosting:
- Optimized the battle session placement strategy: PGOS will select the best DS instance to place the battle session based on the latencies from the players of the battle session to DS.
- Added new API
GetDeploymentInfo
in the DS SDK hosting module to get deployment details of the game server, such as machine type, region, etc. - Supported for configuring local placer with the CLI.
- No need to configure the server
secret_key
for online DS. You can remove the serversecret_key
fromPgosSDK
UE plugin settings (DefaultGame.ini) or from the codes to prevent its accidental leakage.
In-game mail: Supported for sending the mail to all players
Economy: Added
Max Deposit
field in virtual currency to limit the maximum number of virtual currencies a player can acquire.Title File: Support the server-only attribute, which allows the game to specify that certain files can only be obtained their downloadable URL from the server.
Virtual Server:
- Added
Cloud Disk
for VS storage. - Supported
Cloud Disk
for virtual server. Now you can mount a disk as the persistent volume for your virtual server. - Supported
Browser Access
. Now you can visit your virtual server directly in the browser by portal. - Supported
Access Log
. Once open it, PGOS will generate the access log in the default Nginx format for the virtual server. You can query it onLogs
- Supported
Intranet Communication
. PGOS assigns the intranet domain for every virtual server so that you can access other virtual servers directly. - Now you can deploy most of software with the docker image in virtual serve such as Prometheus and Grafana to monitor PGOS services, databases, your virtual servers and any others you want. Virtual Server has become a complete eco-system used for develeping and deploying almost any server the game backend. The Virtual Server App Market will release soon to help you installing the software more efficiently shared by us or other developers.
- Added
- Optimized Notification Reliability:
- Added
OnPartyInfoUpdated
event: Due to network issues or other reasons causing disruptions in the persistent connection, the server might be unable to notify the client of changes in party info (such as players entering or leaving the party) through this connection. If the client remains unaware of changes in party info for an extended period, it could lead to functional abnormalities in the game. To address this issue, the PGOS SDK periodically retrieves the latest party info (typically every 30 to 60 seconds) upon detecting a disruption in the persistent connection and then notifies the game through theOnPartyInfoUpdated
event. - Applicable to
OnLobbyInfoUpdated
as well.
- Added
- PGOS SDK adapted to Nintendo SDK 18.3.2.
Fixed Bugs
- Missing
OnPlayerBattleSessionsTerminated
notification for local placer. - Missing
OnTitleRegionClosed
event.
PGOS Tools: Updated CLI APIs
Added New CLI APIs:
- Local Placer
- create-local-placer
- delete-local-placer
- list-local-placers
Update Parameters:
Added
LaunchArgs
parameter in the following APIs, default by[]
.- create-virtual-server
- update-virtual-server
- list-virtual-server
- describe-virtual-server
Added
JoinRequireDSApproval
parameter in the following APIs, default byFalse
.- create-world-config
- update-world-config
- list-world-config
- describe-world-config
Added
ServerOnly
parameter in the following APIs, default byFalse
.- create-title-file
- list-title-file
- describe-title-file
Added
MaxDeposit
parameter in the following APIs, default by 0.list-virtual-currency
describe-virtual-currency
create-virtual-currency
update-virtual-currency
check-virtual-currency
import-virtual-currency
export-virtual-currency
Added
PlacementRules
parameter in the following APIs, default by[]
- create-placer
- update-placer
Deleted BattlesessionPlaceTimeout parameter in the following APIs.
- create-placer
- update-placer
SDK Download Link:PGOS_SDK_V0.27
To Announce In Advance:
The following HTTP API responses will change in V0.28.0: adjust some string type fields to int64 numbers.
HTTP API Name | HTTP API URL | Changed Fields in Response |
---|---|---|
QueryBattleSessions | /dsm/query_battle_sessions | body.battle_sessions.created_time body.battle_sessions.terminated_time |
DescribeBattleSessionPlacement | /dsm/describe_battle_session_placement | body.created_time body.terminated_time body.player_battle_sessions.created_time body.player_battle_sessions.terminated_time |
QueryPlayerBattleSessions | /dsm/query_player_battle_sessions | body.player_battle_sessions.created_time body.player_battle_sessions.terminated_time |
AddPlayersToBattleSession | /dsm/add_players_to_battle_session | body.new_player_battle_sessions.created_time body.new_player_battle_sessions.terminated_time |
GetPlayerBattleRecord | /dsm/get_player_battle_record | body.battle_data_list.battle_created_time |
GetFriendList | /friend/get_friend_list | body.friend_info_list.created_time |
GetPlayerStat | /gamestat/get_player_stat | body.latest_login_time body.latest_logout_time |
GetGroupMembers | /group/get_group_members | body.group_members.joined_time body.muted_members.mute_created_time body.muted_members.mute_expired_time body.muted_members.joined_time |
GetGroupInfo | /group/get_group_info | body.group_info.created_time |
GetItemInstanceInfo | /inventory/get_item_instance_info | body.item_instances.created_time body.item_instances.updated_time body.item_instances.expired_time |
GetRankingList | /leaderboard/get_ranking_list | body.items.updated_time |
GetRankItemPosInfo | /leaderboard/get_rank_item_pos_info | body.item.updated_time body.preceding_items.updated_time body.subsequent_items.updated_time |
GetPartyInfo | /party/get_party_info | body.party_info.created_time |
CheckPlayerDeletionStatus | /player/check_player_deletion_status | body.marked_time |
GetPlayerDetail | /player/get_player_detail | body.first_login_time body.last_login_time body.last_logout_time body.total_time body.cur_login_time |
GetPlayerDetailByDisplayName | /player/get_player_detail_by_display_name | body.first_login_time body.last_login_time body.last_logout_time body.total_time body.cur_login_time |
BatchGetPlayerDetail | /player/batch_get_player_detail | body.data.first_login_time body.data.last_login_time body.data.last_logout_time body.data.total_time body.data.cur_login_time |
GetPlayerDetailListByDisplayName | /player/get_player_detail_list_by_display_name | body.player_detail_list.first_login_time body.player_detail_list.last_login_time body.player_detail_list.last_logout_time body.player_detail_list.total_time body.player_detail_list.cur_login_time |
BatchGetPlayerDetailListByDisplayNames | /player/batch_get_player_detail_list_by_display_names | body.player_detail_list.first_login_time body.player_detail_list.last_login_time body.player_detail_list.last_logout_time body.player_detail_list.total_time body.player_detail_list.cur_login_time |
BatchGetPlayerDetailsByDisplayNames | /player/batch_get_player_details_by_display_names | body.player_detail_infos.displayname.first_login_time body.player_detail_infos.displayname.last_login_time body.player_detail_infos.displayname.last_logout_time body.player_detail_infos.displayname.total_time body.player_detail_infos.displayname.cur_login_time |
GetPlayerBanInfo | /player/get_player_ban_info | body.created_time body.expired_time |
QueryPlayersPunishItems | /player/query_players_punish_items | body.punish_map.playerid.items.start_time body.punish_map.playerid.items.deadline |
GetTitleFileInfo | /title/get_title_file_info | body.data.updated_time body.data.file_size |
GetAllOverallBanInfo | /title/get_all_overall_ban_info | body.ban_info_list.ban_start_time body.ban_info_list.ban_expire_time body.ban_info_list.created_time body.ban_info_list.updated_time |
CreateECT | /ect/create_ect | body.created_time body.updated_time body.actions.updated_time |
GetPlayerUncompletedECTs | /ect/get_player_uncompleted_ects | body.ect_list.created_time body.ect_list.updated_time body.ect_list.actions.updated_time |
CancelECT | /ect/cancel_ect | body.created_time body.updated_time body.actions.updated_time |
UpdateECT | /ect/update_ect | body.created_time body.updated_time body.actions.updated_time |
UpdateECTActions | /ect/update_ect_actions | body.created_time body.updated_time body.actions.updated_time |
GetECTInfo | /ect/get_ect_info | body.created_time body.updated_time body.actions.updated_time |
GetPlayerCurrency | /inventory/get_player_currency | body.currencies.amount body.currencies.total_spend body.currencies.created_time |
GetPlayerMails | /mail/get_player_mails | body.mail_list.sent_time_stamp |
GetStatItems | /statistics/get_stat_items | body.round_start_time body.round_end_time body.items.updated_time |
GetPersistentStatItems | /statistics/get_persistent_stat_items | body.items.updated_time |
UpdateStatItems | /statistics/update_stat_items | body.items.latest_item.updated_time |
GetCycleCurrentRound | /statistics/get_cycle_current_round | body.round_info_map.round_start_time body.round_info_map.round_end_time |
V0.26.3 (2024-08-15)
PGOS Services
New Features
- Economy:
- adapted to the Tenecent Midas payment system and added the Midas payment add-on.
- added
BatchGrantCurrencyToPlayer
andSubtractPlayerVirtualCurrencies
SDK APIs and backend HTTP APIs. - added items mapping in
GetStoreCategories
API.
- Party: added two backend HTTP party APIs:
GetPlayersCurrentPartyIds
andGetPartyInfo
. - Player Info: added two HTTP APIs:
GetPlayerDetailListByDisplayName
andBatchGetPlayerDetailListByDisplayNames
.
PGOS Tools: Updated CLI APIs
Added New CLI APIs:
- Title File
- list-title-file
- create-title-fil
- delete-title-file
- describe-title-file
- create-title-file-folder
- delete-title-file-folder
- refresh-title-file-cache
Updated Fields :
Changed
RulesetName
toAssociatedRuleset
in Matchaking APIs:- update-match-config
- create-match-config
Changed
GameProperty
return value from String to JSON object in Matchaking APIs:- describe-match-config
- list-match-config
Added New Parameters
Added
CurrencyType
,ResourceID
in Economy APIs:- list-virtual-currency
- describe-virtual-currency
- create-virtual-currency
- update-virtual-currency
- export-virtual-currency
- check-virtual-currency
- import-virtual-currency
Added
FailedItems
in Economy APIs:- import-ingame-item
- import-store
Added
PayPlatform
in Economy APIs:- export-store
- check-store
- import-store
- list-store-item
- describe-store-item
- create-store-item
- update-store-item
Deprecated APIs:
Mentioned in V0.25.1 (2024-05-31) Changelog and depracated the following APIs in V0.26.1:
- export-economy-currency-json-content
- import-economy-currency-json-content
- export-economy-ingame-item-json-content
- import-economy-ingame-item-json-content
- export-economy-platform-item-json-content
- import-economy-platform-item-json-content
- export-economy-store-json-content
- import-economy-store-json-content
:::
SDK Download Link:PGOS_SDK_V0.26.3
V0.26.0 (2024-07-02)
PGOS Services
New Features
Player Authentication: PGOS adapts to multiple accounts binding.
Lobby:
- Added an advanced mode in lobby configuration, which allows configuring of multiple team groups and players can join specified groups in the lobby. Slot selection within a group will follow the team selection strategy from the lobby configuration.
- Allow to bind flexible placer. You can set up various game modes and assign a specific placer to each mode. After initiating a battle, the system will bind the corresponding placer based on the game modes provided by the lobby.
World: Supported join invitation and confirmation mechanism when joining world/battle session, and the
OnWorldBattleSessionTransfer
event has been merged into theOnWorldBattleSessionUpdated
event and is no longer supported separately.Title Config Data: It is a set of key-value pairs for the whole title. It is commonly used to store configuration data that is applicable across the title, such as the title region info list, game client version control data, and so on. If you use HTTP API for the title file, please refer to the specification to view the verified method of HTTP API.
Title File: PGOS provides a file management system that manages files title-wide. The title file information can be accessed by the game client and game server, and the game can choose to download them using the obtained URLs. If you use HTTP API for the title file, please refer to the specification to view the verified method of HTTP API.
Player Data:
- GetPlayerVersionedKVData API will return all versioned key values when an empty key array is passed in.
- Added GetPlayerKVDataTemplates API, which will return the Player KV Data Template configured on the PGOS console. [Backend HTTP API Only]
DS Hosting: Supported storage configuration in the Fleet, which allows the game to customize the storage size used by machines in the Fleet.
Economy: Added a new API GetStoreCategories to obtain specified store categories.
Crash Improvement: In the crash detail, you can view the associated battle sessions, and in the battle session detail, you can view the associated crash.
Virtual Server:
Exposed the CI/CD description, status, and error to the CLI, please refer to the CLI command section.
Supported VS storage creation on the portal
Fixed Bugs
- Virtual Server cannot be restarted after the first CI execution fails.
- Partial ownership of bundle showing incorrect price deduction.
Upgrade SDK Note
- The
pgos_game_config.ini
/pgos_game_server_config.ini
were no longer supported byPgosSDK
. If the configuration files are currently used by the game, then you can transmit the configuration to PgosSDK UE Plugin Setting or Code.
PGOS Tools
Updated CLI tool version to V0.2.11
Divided the CLI manual into Title CLI Command and Title Region CLI Command.
If you use the new Title CLI command, please update the CLI tool to V 0.2.11 and add the
title-id
filed in the configuration, please refer to the tutorials documentation.If you use CLI Http API, please refer to the specification, and use the corresponding CLI Http Domain.
Added New CLI APIs:
- Title Config Data
- list-title-config-data
- create-title-config-data
- update-title-config-data
- delete-title-config-data
- describe-title-config-data
Updated CLI APIs
- Added
InvitationTimeoutSeconds
filed in world APIs:- create-world-config
- update-world-config
- describe-world-config
- list-world-config
- Added
AdvancedMode
,TeamsGroups
,FlexiblePlacerMapping
fields in Lobby APIs:- create-lobby-config
- update-lobby-config
- Added
DeployStatus/DeployMessage
filed in VS APIs:- list-virtual-server
- describe-virtual-server
SDK Download Link:PGOS_SDK_V0.26.0
Updated backend API dominion, please pay attention to updating the domain in the game configuration. The old domain will be deprecated on December 31st.
V0.25.1(2024-05-31)
PGOS Services:
New Features
- Matchmaking post-processing: When PGOS completed matchmaking workflow, it supports using virtual server to inspect, adjust, and modify the matchmaking results, game side can determine the validity of the matchmaking results, change the matchmaking results, and re-queuing certain matchmaking tickets into the matchmaking queue to start re-matchmaking.
- Economy: Added player purchase limit of store item.
- Battle Service: Supported asynchronous invoke to the player battle session management APIs.
- Virtual Server:
- Allowed to update virtual server image while VS stopped.
- Added consuming item idempotency token in virtual server’s request data.
- Added VS CI/CD tracing and optimized the status display of VS on the portal.
- PgosSDK : PgosSDK has adapted to Nintendo Switch SDK. Notes.
Fixed Bugs:
- The bucket-path is missing on LP DS.
- Failing idempotency test in subtract virtual currency in VS.
- Incorrect player battle session ID being reported for all additional players in party based matchmaking.
- Sometimes a battle session for a DS in an local placer goes into a "zombie" state after the DS terminates.
PGOS Tools: Updated CLI APIs
- export-virtual-currency
- check-virtual-currency
- import-virtual-currency
- export-ingame-item
- check-ingame-item
- import-ingame-item
- export-platform-item
- check-platform-item
- import-platform-item
- export-store
- check-store
- import-store
- list-battle-session
- describe-battle-session
- list-battle-session-log-file
- list-player-battle-session
Added Parameters in APIs
- API: create-match-config, update-match-config
- Added parameters:
PostProcessing
,PostProcessingVirtualServer
, it is used to support Virtual Server to inspect, adjust, and modify the matchmaking results
- Added parameters:
- API: create-store-item, update-store-item
- Added parameters: MaxPurchaseAmount, it is used to player purchase limit of store item
tipWe plan to deprecate the following APIs in V0.26 and suggest to use new APIs added in V0.25.1. Please pay attention to adapt to the protocol when using new APIs.
export-economy-currency-json-content
import-economy-currency-json-content
export-economy-ingame-item-json-content
import-economy-ingame-item-json-content
export-economy-platform-item-json-content
import-economy-platform-item-json-content
export-economy-store-json-content
import-economy-store-json-content
- API: create-match-config, update-match-config
SDK Download Link:PGOS_SDK_V0.25.1
V0.25.0(2024-04-30)
PGOS Services:
New Features
PgosSDK UE Plugin
Optimization for multiple PIE instances: Introduce the Client SDK Instance Mode, and use the unified
IPgosSDKCpp::Get()
API to obtain the SDK instance, reducing the complexity for developers to manage the SDK instances (old way:IPgosSDKCpp
+PgosClientSDKCppSubsystem
). New Way: Added a default parameter (ULocalPlayer*
) to theIPgosSDKCpp::Get()
API.If your game does not utilize the feature of
PgosSDK
for Multiple PIE Instances, then you don't need to modify anything.static IPgosSDKCpp& Get(ULocalPlayer* LocalPlayer = nullptr);
The
IPgosSDKCpp::CreatePGOS()
API has removed thebool AutoDestroy
parameter. If you still need it, you can useIPgosSDKCpp::GetPreCreateSettings().SetAutoDestroyPgosSDKForSingleton(bool AutoDestroy)
as a replacement.
Player Auth
- The
LoginPGOS
API parameterFClientLoginPGOSParams
removes theaccount id
field: the account id no longer needs to be passed in by the developer, and the PGOS backend will retrieve it from the relevant account provider. - Add Event Channel Status Changed Event in Player Auth, The Event Channel serves as a data pipeline for the PGOS backend to send event notifications (e.g., chat_messages/friend_requests) to the client. In certain scenarios, this event helps the game/player understand the possible reasons for PGOS/Game service degradation.
- The
Player Profile
Add Player Display Name Settings on the portal console:
- Added a configuration on PGOS backend side to support display name uniqueness. If the game requires that the display name cannot be repeated, pls contact us to enable the configuration.
- Add configurations for display name verification, including character length validation, regular expression validation, etc.
Lobby
Add Start Battle Condition in Lobby Config:
The action when the lobby owner invokes the
StartBattle
interface depends on theReady
flag of lobby members:- All Ready Otherwise Waiting: The lobby will enter the Preparing stage, waiting for unready players to get ready. When the lobby is in the Preparing stage, switching the team slot will cause the lobby to fall back to the Waiting stage.
- All Ready Otherwise Error: The lobby owner will receive an error if not all players are ready.
- Ignoring Ready Flag: The lobby will enter the Playing stage directly, ignoring the
Ready
flag.
Economy
- Schedule store category availability in advance: You can create multiple store categories, which are divided into simple categories and advanced categories.
- For simple categories, you can publish all or part of the store items in the category at any time.
- For advanced categories, you can customize the published schedule of store items more flexibly.
- Support item instance tags: You can update the tags data of the specified item instance in the player's inventory by calling SetInstanceTags API, both the client and the server can invoke this API.
- Supported item instance mutable custom data: The mutable custom data(key-value pairs) of the item instance, which can be set or increased by the server. You can use these APIs to set or increase mutable custom data: GrantItemToPlayer, SetInstanceCustomData, and IncrInstanceCustomData
- Schedule store category availability in advance: You can create multiple store categories, which are divided into simple categories and advanced categories.
Virtual Server
Add system preset Environment Variables.
tipSUGGEST TO USE ENVIRONMENT VARIABLES TO GET STORAGE INFORMATION
- We recommend using environment variables to obtain information on Virtual Server Storage, which can avoid hard coding and improve the maintainability of the code.
- In future versions, we will hide the Virtual Server Storage information on the portal and only allow to access it through environment variables.
Others
- UE DS log collection optimization.
Fixed Bugs:
- Virtual Server build finding the wrong Dockerfile.
PgosSDK
occasionally crashes on shutdown in multiple PIE instances.- Incorrect console warning log: "WARNING: GET SECRET_KEY FROM INI FILE SUCCESS! TO AVOID KEY LEAKS, SECRET_KEY SHOULD NOT BE CONFIGURED IN GAME RELEASE BUILDS IN PGOS_CONFIG.INI OR PGOS_SERVER_CONFIG.INI !!!", but the game did not do that.
Upgrade SDK Note
- The
pay_platform
field has been added to the parameters of theGetStore
API. TheGetStoreWithPlatform
API has been deprecated, and you can useGetStore
instead. - The deprecated
PurchaseStoreItem
API has been removed. You can useCreateStoreOrder
andCommitStoreOrder
instead. - This version of the Store has undergone significant changes. If you need to add or modify stores and store items on the portal, you will need to upgrade to the latest SDK [v0.25.0 and above]. If you don't need to make changes to the store on the portal for now, you can continue using the old version of the SDK. However, for a better experience, it is still recommended to upgrade to the new version.
PGOS Tools: Updated CLI APIs
Lobby Config
- Added new parameter
StartBattleCondition
increate-lobby-config
API - Added new parameter
StartBattleCondition
inupdate-lobby-config
API - Changed ConfigurationName to Name in below APIs
- list-lobby-config
- describe-lobby-config
- delete-lobby-config
- Added new parameter
Store Item
Added new APIs:
- list-store-item
- describe-store-item
- create-store-item
- update-store-item
- delete-store-item
- enable-store-item
- disable-store-item
Store Item
Added new APIs:
- list-store-category
- describe-store-category
- create-store-category
- update-store-category
- delete-store-category
- enable-store-category
- disable-store-category
- set-store-category-schedule
Deprecated APIs
- list-title-data
- create-title-data
- delete-title-data
- update-title-data
- export-title-data-json-content
- import-title-data-json-content
SDK Download Link:PGOS_SDK_V0.25.0
V0.24.0(2024-03-29)
PGOS Services:
New Features
Added joining and invite strategy to Party service
Added two parameters
join_strategy
andinvite_strategy
increate party
API:join_strategy
controls how other players join the partyEClientPartyJoinStrategy Description Public Any player can join the party, except for the player who is blocked by the leader.
It's the default policy.OnlyFriendsOfLeader Only friends of the leader are allowed to join the party. OnlyFriendsOfMembers Only friends of any member who are not blocked by the leader are allowed to join the party. OnlyInvited Only explicitly invited players who are not blocked by the leader are allowed to join the party. invite_strategy
controls how the members of the party invite others.EClientPartyInviteStrategy Description AllMembersCanInvite All members of the party are allowed to invite other players to join the party.
A player who is blocked by the leader or the inviting player can't be invited.
It's the default policy.OnlyLeaderCanInvite Only the leader is allowed to invite other players to join the party.
A player who is blocked by the leader can't be invited.The store ID can be set by game, instead of automatically assigned by PGOS
Build name and fleet name are not allowed to be modified after the creation
Added comments for the secret key on the title setting page
Added Events history on the Virtual server page to facilitate debugging
Added Singapore zone on Tencent Cloud
Matchmaking performance improvements and stability optimization
Upgrade SDK Note
TitleKVData
is renamed toTitleRegionConfigKVData
, such as:Old Name New Name FPgosTitleAPI::GetTitleKVData FPgosTitleRegionConfigDataAPI::GetTitleRegionConfigKVData FPgosTitleAPI::GetAllTitleKVData FPgosTitleRegionConfigDataAPI::GetAllTitleRegionConfigKVData FTitleKVDataQueryResult FTitleRegionConfigKVDataQueryResult ❗❗❗ Note: When upgrading the PGOS plugin, Please delete the old \Plugins\PgosSDK\ directory first instead of directly overwriting it with the new PgosSDK directory. Otherwise, the remaining PgosClientTitleAPI.cpp & PgosServerTitleAPI.cpp files may cause compilation errors.
The
IPgosSDKCpp::CreatePGOS
API has been added with a default parameter:void CreatePGOS(bool AutoDestroy = true)
- If the
AutoDestroy
parameter is set to true (default value), the plugin will automatically attempt toDestroyPGOS
duringEndPIE
andShutdownModule
, maintaining the previous behavior. That is, if the game wants to maintain its previous behavior, it does not need to change any code. - If the
AutoDestroy
parameter is set to false, the lifetime of PgosSDK will be completely controlled by the game. In this case, the plugin will never attempt to activelyDestroyPGOS
under any circumstances.
- If the
PGOS Tools
Title Region Config Data (Title Data Changed to Title Region Config Data)
Added new APIs:
- list-title-region-config-data
- create-title-region-config-data
- delete-title-region-config-data
- update-title-region-config-data
- export-title-region-config-data-json-content
- import-title-region-config-data-json-content
Deprecated APIs(Keep in V0.24,remove from V0.25)
- list-title-data
- create-title-data
- delete-title-data
- update-title-data
- export-title-data-json-content
- import-title-data-json-content
Player KV Data Group (Player Group changed to Player KV Data Group)
Added new APIs:
- add-player-kv-data-group
- update-player-kv-data-group
- remove-player-kv-data-group
Deprecated APIs(Keep in V0.24,remove from V0.25)
- add-player-group
- update-player-group
- remove-player-group
DS Hosting CVM Instance
Added New APIs:
- list-fleet-cvm-instance
- list-fleet-cvm-instance-file
- collect-fleet-cvm-instance-file
- cancel-fleet-cvm-instance-file-collection
- describe-fleet-cvm-instance-file-collection
Economy Virtual Currency
Added New APIs
- list-virtual-currency
- describe-virtual-currency
- create-virtual-currency
- update-virtual-currency
- delete-virtual-currency
Economy Ingame Item
Added New APIs
- list-ingame-item
- describe-ingame-item
- create-ingame-item
- update-ingame-item
- delete-ingame-item
Economy Platform Item(Item Mapping Changed to Platform Item)
Added New APIs
- export-economy-platform-item-json-content
- import-economy-platform-item-json-content
Deprecated APIs(Keep in V0.24,remove from V0.25)
- export-economy-item-mapping-json-content
- import-economy-item-mapping-json-content
Economy Store
Added New APIs
- list-store
- describe-store
- create-store
- update-store
- delete-store
Advance Notice: there are significant changes to the fields and protocols for the following APIs in V0.25, we will deprecate them in V0.25 and provide new APIs
- export-economy-store-item-json-content
- import-economy-store-item-json-content
- export-economy-store-category-json-content
- import-economy-store-category-json-content
SDK Download Link:PGOS_SDK_V0.24
V0.23.2(2024-03-05)
Fixed Bugs:
- Fixed an occasional crash in the client SDK lobby module.
- Added friend‘s presence to player friend information
- Optimized notification events of world service
- The IOS library was not being found during the APP launch
SDK Download Link:PGOS_SDK_V0.23.2
V0.23.0(2024-02-02)
PGOS Service
New Features
Matchmaking: Supported selecting multiple maps and multi-game modes at the same time when initiating matchmaking.
Xbox Store Reconciliation: it allows games to synchronize items purchased by players from the Xbox store to PGOS and allows games to build an economy by selling PGOS-managed items using Xbox as the "payment processor"
Lobby: Added configuration to control lobby joining, which can be modified by the lobby owner:
- Free to join the lobby
- Apply to join the lobby. A join request will be sent to the lobby owner, who can approve or reject the request.
- Simplified lobby event data structure, no longer returns full lobby details in team updated and global/player data updated events.
World: Added
Equivalent Values
filed in filter rules, which allows multiple sets of equivalent values for the attribute. The game can use this configuration to merge attribute values for which it does not wish to divert players into different buckets.Statistics: Added
BatchGetStatCycleRoundInfo
API to query the cycle end time.- Only recommend online players
- Supported developers to set the game's default upper limit of the player‘s friends on the portal
- Provided
BatchSetPlayerFriendsLimit
API to set the upper limit of the individual player's friends
Added a new API
FPgosBattleAPI::GetDSHostingLatencies
to get the latency mapping from the client to the data centers of DS hosting.Added a new API
FPgosPlayerAuthAPI::MyAuthTicket
to facilitate player verification on the game server.Added multiplayer support for Unreal SDK: The PGOS SDK supports both multiple PIE instances in UE Editor and multiple local players in the game.
Supports Virtual Server v2.0 in AWS Title Region.
PGOS Prometheus Exporter: PGOS provides the PrometheusExporter to help the game import data metrics into Prometheus, then you can use Grafana to customize the alert rules and show a custom dashboard on the game side to monitor the API request or specific metrics.
Added Roadmap on the portal.
Upgrade SDK Note
- To support the multiplayer support feature, each PGOS Client SDK instance appears as a
Unreal LocalPlayerSubsystem
. Therefore, PGOS related services can only work after theUnreal LocalPlayerSubsystem
is ready. If the old PGOS-related code in game is not working, you may need to adjust the position of theCreatePGOS-related
code. - The
FPgosFriendAPI::GetRecommendedPlayers
andFPgosFriendAPI::GetPotentialPlayers
APIs now include a parameter to specify the number of players to be returned.
SDK Download Link:PGOS_SDK_V0.23
PGOS Tools
New Features
Updated the CLI APIs
Added the
MultiRulesetEnabled
、MultiRulesets
fields in below Matchmaking APIs- list-match-config
- describe-match-config
- create-match-config
- update-match-config
Added
EquivalentValues
field in below World APIs:- create-world-filter
- list-world-filter
- update-world-filter
- describe-world-filter
Added
ResourceFileMD5
、MaxInstanceStrategy
in the below Virtual Server APIs- create-virtual-server
- list-virtual-server
- update-virtual-server
- describe-virtual-server
Added new CLI API
Virtual Server
- describe-virtual-server-env-vars
- update-virtual-server-env-vars
Task
list-task
create-task
update-task
delete-task
describe-task
execute-task
Event
- list-event
- list-event-handler
- describe-event-handler
- create-event-handler
- update-event-handler
- delete-event-handler
Player custom info
- export-player-custom-info-definition
- import-player-custom-info-definition
PGOS Tools Download Link:CLI V0.2.10
V0.22.1(2023-12-08)
New Features:
- Added
JoinWorldBattleSession
API in World service, which allows players to join a specified world battle session. - Optimize Economy's API to support idempotency.
- Client SDK:
ConsumeInstance
- Server SDK:
GrantItemToPlayer
,GrantCurrencyToPlayer
- HTTP API:
GrantItemToPlayer
,GrantCurrencyToPlayer
,SubtractPlayerCurrency
- Client SDK:
- Added
event_custom_data
parameter in Economy's API, which supports passing a game-defined value to PGOS virtual server event.- Client SDK:
CreateStoreOrder
,ConsumeInstance
,OpenContainerInstance
,RevokeInstance
,SyncPlayerPlatformInventory
,SyncSteamPurchase
- Server SDK:
GrantItemToPlayer
,GrantCurrencyToPlayer
- HTTP API:
GrantItemToPlayer
,GrantCurrencyToPlayer
,SubtractPlayerCurrency
,RevokeItemInstance
- Client SDK:
PGOS Tools:CLI V0.2.9
- Provided CLI HTTP API and developers can use any programming language to implement automated resource management.
- Adapted to Mac
PGOS SDK: PGOS_SDK_V0.22.1
V0.22.0(2023-11-28)
New Service:
- World: World is an entity that players can join and leave freely and smoothly. It can be used to implement a variety of online gaming features. Typical application scenarios include:
- A persistent and freely accessible gaming scene, such as a game lobby or game hub.
- A large game that does not require complex matchmaking rules.
New Features:
- Steam Store Reconciliation: it allows games to synchronize items purchased by players from the Steam store to PGOS and allows games to build an economy by selling PGOS-managed items using Steam as the "payment processor"
- Supported Player Data Versioned attribute, and new SDK APIs:
- Client SDK:
GetMyVersionedKVData
,SetMyVersionedKVData
- Server SDK:
GetPlayerVersionedKVData
,BatchGetPlayerVersionedKVData
,SetPlayerVersionedKVData
,BatchSetPlayerVersionedKVData
.
- Client SDK:
- Supported importing and exporting the configuration of Virtual server, Leaderboard, Statisitc, and Goals to other regions.
- Supported integrating Matchmaking without using PGOS DS hosting, games only get the matchmaking result and manage the battle session by themselves.
- Optimize the process of purchasing items in the store to support idempotency.
- Added a parameter
round_end_time
in theGetStatCycleInfo
andBatchGetStatCycleInfo
APIs. - Added backend HTTP API to get battle sessions:
- QueryBattleSessions
- Added backend HTTP API for group custom data:
- SetGroupTags
- SetGroupGlobalCustomData
- DelGroupGlobalCustomData
- ClearGroupGlobalCustomData
- BatchSetGroupPlayerCustomData
- Added
FClientLogoutPGOSParams
parameter in LogoutPGOS API, which supports a game-defined custom value pass to PGOS backend event:event_player_logout_pgos
.
Upgrade Note
PGOS SDK Adapted to UE 5.3
Removed GME SDK (Voice feature) from PGOS SDK.
Virtual Server V1 is not available anymore, please use Virtual Server V2.
The parameter structure of the Player Profile API has changed due to the addition of the 'versioned' attribute, supplementary of error messages, and the optimization of the 'set' player data rule ( [Explanation]). PGOS V0.22 SDK adjusted the data structure related to player data.
4.1 Input parameter structures:
API Name Input Old Input New BatchIncrPlayerKVData TArray<FServerPlayerKVDataIncrements> TArray<FPlayerKVDataGroup> 4.2 Callback data parameter structures:
API Name Callback Data Old Callback Data New GetOneOfMyKVData FKVDataValue FOnePlayerKVData GetMyKVData FGetPlayerKVDataRsp FPlayerKVDataGroupWithFails SetMyKVData FClientSetMyKVDataRsp no callback data [Explanation] IncrOneOfMyKVData FClientIncrOneOfMyKVDataRsp FOnePlayerKVData IncrMyKVData FClientIncrMyKVDataRsp FKVDataGroup GetOneOfPlayerKVData FKVDataValue FOnePlayerKVData GetPlayerKVData FGetPlayerKVDataRsp FPlayerKVDataGroupWithFails BatchGetPlayerKVData FBatchGetPlayerKVDataRsp FBatchPlayerKVDataGroupWithFails BatchGetPlayerPublicKVData FBatchGetPlayerGroupKVDataRsp FBatchPlayerKVDataGroup BatchGetPlayerGroupKVData FBatchGetPlayerGroupKVDataRsp FBatchPlayerKVDataGroup SetPlayerKVData FServerSetPlayerKVDataRsp no callback data [Explanation] BatchSetPlayerKVData FServerBatchSetPlayerKVDataRsp FBatchPlayerOperationResult IncrOneOfPlayerKVData FServerIncrOneOfPlayerKVDataRsp FOnePlayerKVData IncrPlayerKVData FServerIncrPlayerKVDataRsp FPlayerKVDataGroup BatchIncrPlayerKVData FServerBatchIncrPlayerKVDataRsp FBatchPlayerKVDataGroup Explanation: A player's
KVData
update operation either succeeds or fails in its entirety, so there will no longer be afailed_keys
field in the callback data for the update operation. However, retrievingKVData
operations is still allowed to be partially successful, which means that the callback data will still contain thefailed_keys
field.
PGOS Tools:CLI V0.2.8:
Renamed existing APIs:
Ruleset
- find-match-rule-set-list -> list-match-ruleset
- find-match-rule-set-by-name -> describe-match-ruleset
- create-match-rule-set -> create-match-ruleset
- delete-match-rule-set-by-name -> delete-match-ruleset
- update-match-rule-set-by-name -> update-match-ruleset
- publish-draft-match-rule-set -> publish-match-ruleset-draft
Match Configuration
find-match-config-list -> list-match-config
find-match-config-by-name -> describe-match-config
create-match-config -> create-match-config
delete-match-config-by-name -> delete-match-config
update-match-config-by-name -> update-match-config
update-match-config-status-by-name -> update-match-config-status
Added new APIs:
Lobby Configuration
- create-lobby-config
- list-lobby-config
- update-lobby-config
- describe-lobby-config
- delete-lobby-config
- update-lobby-config-status
World Filter
create-world-filter
list-world-filter
update-world-filter
describe-world-filter
delete-world-filter
World Configuration
create-world-config
list-world-config
update-world-config
describe-world-config
delete-world-config
Ingame Item Mapping
export-economy-item-mapping-json-content
import-economy-item-mapping-json-content
Goal
list-goal
describe-goal
create-goal
update-goal
delete-goal
list-pass-by-goal
update-passes-by-goal
list-tier-by-goal
describe-tier-by-goal
update-tiers-by-goal
update-tier
delete-tiers
create-tier
Schedule
list-schedule
update-schedule
publish-schedule
retire-schedule
create-schedule
describe-schedule
delete-schedules
Cycle
list-cycle
describe-cycle-by-name
describe-cycle-stat-items
describe-binded-cycles
bind-stat-to-cycle
unbind-stat-from-cycle
create-cycle
update-cycle
delete-cycle
Stat
list-stat
describe-stat
describe-persistent-stat-item
update-stat-key
delete-stat-key
describe-recent-stat-items
delete-stat
create-stat
update-stat
Leaderboard
describe-leaderboard
describe-leaderboard-by-name
list-ranking
list-ranking-by-key
create-leaderboard
update-leaderboard
delete-leaderboard
PGOS SDK:PGOS_SDK_V0.22.0