Server Hosting API Reference
DS Hosting & Management allows you to dynamically scale the DS (dedicated servers) you need, and the DS must integrate PgosSDK.
API List
| API | Description |
|---|---|
| ProcessReady | Signals PGOS that the process is ready to receive battle session. Note: This function can be used in two hosting mode. 1. Normal hosting mode: all DS process running on CVM are launched by PGOS and could hold battle sessions. A DS process call ProcessReady in this mode to signals PGOS that the process is ready to receive battle session. 2. Shared-memory hosting mode: PGOS ONLY launch ONE DS process and we mark it as Alpha, the Alpha process works as a forker and could not hold any battle sessions. Each child forked by Alpha process in this mode should call ProcessReady to signals PGOS that the process is ready to receive battle session @param port The port will be used as the target port when game client connect to server. @param log_paths The log_paths includes the log paths that the server needs to upload. PGOS will upload these paths after interface ProcessEnding is called. The compressed size of the uploaded file cannot exceed 512 MBytes. The latest limitations can be viewed in the documentation: https://pgos.intlgame.com/pgosdoc/manual/limitations/service_limitations.html |
| ActivateBattleSession | Signals PGOS that the server process is now ready to receive player sessions. Should be called once all battle session initialization has finished. @param battle_session_id The id of battle session @param port Access port of the game server. Setting this parameter as 0 to ignores this parameter, instead this parameter will overrides the port be sent in the ProcessReady interface. |
| TerminateBattleSession | Terminate one battle session that running on the server process(DS instance). This function should be called when the [Server Process Hosting Battle Session Mode] of a FLEET is set to Parallel Mode. @param battle_session_id The id of battle session. |
| DescribeBattleSession | Describe the latest battle session information. @param battle_session_id The id of battle session |
| ReservePlayerBattleSession | Call this API to turn player battle session status from Pending to Reserved. Note player should not connect to game server when the player battle session status is Pending. Such a player battle session will get a failure when call AcceptPlayerBattleSession API. @param battle_session_id The id of battle session @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!! @param player_id The player id, keep it empty if do not need PGOS to validate it. |
| ReservePlayerBattleSessionAsync | The asynchronous version of ReservePlayerBattleSession. |
| AcceptPlayerBattleSession | Validates a player session, and signal PGOS to update player session's status to Active. This method should be called when a client requests a connection to the server. @param battle_session_id The id of battle session @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!! @param player_id The player id, keep it empty if do not need PGOS to validate it. |
| AcceptPlayerBattleSessionAsync | The asynchronous version of AcceptPlayerBattleSession. |
| DisconnectPlayerBattleSession | Mark a player battle session as disconnected.You can call this interface when the player disconnects from DS non-permanently. The session can be resumed at any time by calling the AcceptPlayerBattleSession interface again. @param battle_session_id The id of battle session @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!! @param player_id The player id, keep it empty if do not need PGOS to validate it. |
| DisconnectPlayerBattleSessionAsync | The asynchronous version of DisconnectPlayerBattleSession. |
| RemovePlayerBattleSession | This interface will set the player session to a final state(Completed) and cannot be restored. You should call this interface when a player is disconnects from DS permanently. @param battle_session_id The id of battle session @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!! @param player_id The player id, keep it empty if do not need PGOS to validate it. |
| RemovePlayerBattleSessionAsync | The asynchronous version of RemovePlayerBattleSession. |
| ProcessEnding | Signals PGOS that the process is ending, and the battle session running on this process will also be terminated. PGOS will kill the process by force if it do not exit in 2mins after ProcessEnding is called. |
| LogMessage | Log a message to POGS's log file @param message Log content |
| StartBackfill | Start a backfill request to fill the battle session with new players. |
| CancelBackfill | Cancel a backfill request. |
| GetPublicIP | Get the public ip to access this game server. Should be called after the interface InitSdk. |
| GetDeploymentInfo | Get the deployment details of the game server. Should be called after the interface InitSdk. |
| DescribePlayerBattleSessions | Query players of a battle session. @param battle_session_id The id of battle session |
| SetBattleProperties | Update the battle properties, update event will be pushed to players in the battle session. |
| LockWorldBattleSession | Lock a battle session from world service to deny any new player to join. |
| UnlockWorldBattleSession | Unlock a battle session from world service to allow new players to join. |
| PushMsgToGameBackend | Push a message to the game backend and do not wait for the DS to process it. |
| RPCRequestToGameBackend | Send a message to the game backend and get a response from the game backend. |
Event List
| Event | Description |
|---|---|
| OnHealthCheck | The HealthCheck event will be triggered every one minute to obtain the health status of the game process. The game process needs to return the health status of the current process. |
| OnStartBattleSession | The StartBattleSession event will be triggered when a battle session was placed to the server. Game server needs to call the ActivateBattleSession interface within 5 minutes to active battle session, otherwise the battle session will be abandoned. |
| OnBattleSessionTerminated | This event is available when [Server Process Hosting Battle Session Mode] of a FLEET is set to Parallel Mode. The BattleSessionTerminated event will be triggered when a battle session is terminated by PGOS backend. Only terminate a battle session from Portal manually could trigger this event for now. This event is a notification event. PGOS does not expect any special behavior from the DS. New battle session placement requests may still arrive after receiving this event. DS developers should be aware of this. |
| OnBattleSessionUpdated | This event is used to notify new players of joining a battle session in two specific scenarios: World and Matchmaking backfill. |
| OnProcessTerminate | The event will be triggered once the process being terminated. The ProcessTerminate event is triggered when the system needs to terminate a DS process. Typical scenarios include: 1. PGOS needs to safely scale down an unoccupied machine (which is not hosting any battle session). 2. The game has configured 'World Session Clean-Up Time' in World Configuration, and that world battle session meets the condition to be ended. 3. The DS process has reached the maximum lifetime configured for it in the console (if configured), and the DS is not hosting any battle sessions. 4. A developer manually forces termination of a battle session in the console. On receiving this event, DS should call the ProcessEnding API to confirm that the DS will terminate, and then exit the process after completing any necessary tasks (for example, saving data). |
| OnPlayerBattleSessionsTerminated | This event is called periodically to notify game DS of those player battle sessions that have been terminated from client side. |
| OnBattlePlayerOffline | The event will be triggered when the player in the battle-session is offline. |
| OnBattlePlayerBanned | The event will be triggered when the player in the battle-session is banned. |
| OnPushMsgReceivedFromGameBackend | The event will be triggered when a game backend push message is received. |
| OnRPCRequestReceivedFromGameBackend | The event will be triggered when a game backend rpc message is received. |
| OnPushMsgReceivedFromHTTPAPI | The event will be triggered when a http api push message is received. |
| OnRPCRequestReceivedFromHTTPAPI | The event will be triggered when a http api rpc message is received. |
API Details
ProcessReady
Signals PGOS that the process is ready to receive battle session. Note: This function can be used in two hosting mode. 1. Normal hosting mode: all DS process running on CVM are launched by PGOS and could hold battle sessions. A DS process call ProcessReady in this mode to signals PGOS that the process is ready to receive battle session. 2. Shared-memory hosting mode: PGOS ONLY launch ONE DS process and we mark it as Alpha, the Alpha process works as a forker and could not hold any battle sessions. Each child forked by Alpha process in this mode should call ProcessReady to signals PGOS that the process is ready to receive battle session @param port The port will be used as the target port when game client connect to server. @param log_paths The log_paths includes the log paths that the server needs to upload. PGOS will upload these paths after interface ProcessEnding is called. The compressed size of the uploaded file cannot exceed 512 MBytes. The latest limitations can be viewed in the documentation: https://pgos.intlgame.com/pgosdoc/manual/limitations/service_limitations.html
/// <summary>
/// Signals PGOS that the process is ready to receive battle session.
/// Note: This function can be used in two hosting mode.
/// 1. Normal hosting mode: all DS process running on CVM are launched by PGOS and could hold battle sessions.
/// A DS process call ProcessReady in this mode to signals PGOS that the process is ready to receive battle session.
/// 2. Shared-memory hosting mode: PGOS ONLY launch ONE DS process and we mark it as Alpha, the Alpha process
/// works as a forker and could not hold any battle sessions. Each child forked by Alpha process in this mode should call
/// ProcessReady to signals PGOS that the process is ready to receive battle session
/// @param port The port will be used as the target port when game client connect to server.
/// @param log_paths The log_paths includes the log paths that the server needs to upload. PGOS will upload these paths after interface ProcessEnding is called.
/// The compressed size of the uploaded file cannot exceed 512 MBytes. The latest limitations can be viewed in the documentation: https://pgos.intlgame.com/pgosdoc/manual/limitations/service_limitations.html
/// </summary>
public PgosResult ProcessReady(Int32 port, List<string> log_paths);
Parameters:
| Param | Type | Description |
|---|---|---|
| port | Int32 | |
| log_paths | List<string> |
Return: PgosResult
ActivateBattleSession
Signals PGOS that the server process is now ready to receive player sessions. Should be called once all battle session initialization has finished. @param battle_session_id The id of battle session @param port Access port of the game server. Setting this parameter as 0 to ignores this parameter, instead this parameter will overrides the port be sent in the ProcessReady interface.
/// <summary>
/// Signals PGOS that the server process is now ready to receive player sessions.
/// Should be called once all battle session initialization has finished.
/// @param battle_session_id The id of battle session
/// @param port Access port of the game server. Setting this parameter as 0 to ignores this parameter, instead this parameter will overrides the port be sent in the ProcessReady interface.
/// </summary>
public PgosResult ActivateBattleSession(string battle_session_id, UInt32 port);
Parameters:
| Param | Type | Description |
|---|---|---|
| battle_session_id | string | |
| port | UInt32 |
Return: PgosResult
TerminateBattleSession
Terminate one battle session that running on the server process(DS instance). This function should be called when the [Server Process Hosting Battle Session Mode] of a FLEET is set to Parallel Mode. @param battle_session_id The id of battle session.
/// <summary>
/// Terminate one battle session that running on the server process(DS instance).
/// This function should be called when the [Server Process Hosting Battle Session Mode] of a FLEET is set to Parallel Mode.
/// @param battle_session_id The id of battle session.
/// </summary>
public PgosResult TerminateBattleSession(string battle_session_id);
Parameters:
| Param | Type | Description |
|---|---|---|
| battle_session_id | string |
Return: PgosResult
DescribeBattleSession
Describe the latest battle session information. @param battle_session_id The id of battle session
/// <summary>
/// Describe the latest battle session information.
/// @param battle_session_id The id of battle session
/// </summary>
public void DescribeBattleSession(string battle_session_id, HostingDelegate0 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| battle_session_id | string | |
| callback | HostingDelegate0 |
Return: void
ReservePlayerBattleSession
Call this API to turn player battle session status from Pending to Reserved. Note player should not connect to game server when the player battle session status is Pending. Such a player battle session will get a failure when call AcceptPlayerBattleSession API. @param battle_session_id The id of battle session @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!! @param player_id The player id, keep it empty if do not need PGOS to validate it.
/// <summary>
/// Call this API to turn player battle session status from Pending to Reserved.
/// Note player should not connect to game server when the player battle session status is Pending.
/// Such a player battle session will get a failure when call AcceptPlayerBattleSession API.
/// @param battle_session_id The id of battle session
/// @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
/// @param player_id The player id, keep it empty if do not need PGOS to validate it.
/// </summary>
public PgosResult ReservePlayerBattleSession(string battle_session_id, string player_battle_session_id, string player_id);
Parameters:
| Param | Type | Description |
|---|---|---|
| battle_session_id | string | |
| player_battle_session_id | string | |
| player_id | string |
Return: PgosResult
ReservePlayerBattleSessionAsync
The asynchronous version of ReservePlayerBattleSession.
/// <summary>The asynchronous version of ReservePlayerBattleSession.</summary>
public void ReservePlayerBattleSessionAsync(PlayerBattleSessionParams pgos_params, HostingDelegate1 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | PlayerBattleSessionParams | |
| callback | HostingDelegate1 |
Return: void
AcceptPlayerBattleSession
Validates a player session, and signal PGOS to update player session's status to Active. This method should be called when a client requests a connection to the server. @param battle_session_id The id of battle session @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!! @param player_id The player id, keep it empty if do not need PGOS to validate it.
/// <summary>
/// Validates a player session, and signal PGOS to update player session's status to Active.
/// This method should be called when a client requests a connection to the server.
/// @param battle_session_id The id of battle session
/// @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
/// @param player_id The player id, keep it empty if do not need PGOS to validate it.
/// </summary>
public PgosResult AcceptPlayerBattleSession(string battle_session_id, string player_battle_session_id, string player_id);
Parameters:
| Param | Type | Description |
|---|---|---|
| battle_session_id | string | |
| player_battle_session_id | string | |
| player_id | string |
Return: PgosResult
AcceptPlayerBattleSessionAsync
The asynchronous version of AcceptPlayerBattleSession.
/// <summary>The asynchronous version of AcceptPlayerBattleSession.</summary>
public void AcceptPlayerBattleSessionAsync(PlayerBattleSessionParams pgos_params, HostingDelegate1 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | PlayerBattleSessionParams | |
| callback | HostingDelegate1 |
Return: void
DisconnectPlayerBattleSession
Mark a player battle session as disconnected.You can call this interface when the player disconnects from DS non-permanently. The session can be resumed at any time by calling the AcceptPlayerBattleSession interface again. @param battle_session_id The id of battle session @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!! @param player_id The player id, keep it empty if do not need PGOS to validate it.
/// <summary>
/// Mark a player battle session as disconnected.You can call this interface when the player disconnects from DS non-permanently.
/// The session can be resumed at any time by calling the AcceptPlayerBattleSession interface again.
/// @param battle_session_id The id of battle session
/// @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
/// @param player_id The player id, keep it empty if do not need PGOS to validate it.
/// </summary>
public PgosResult DisconnectPlayerBattleSession(string battle_session_id, string player_battle_session_id, string player_id);
Parameters:
| Param | Type | Description |
|---|---|---|
| battle_session_id | string | |
| player_battle_session_id | string | |
| player_id | string |
Return: PgosResult
DisconnectPlayerBattleSessionAsync
The asynchronous version of DisconnectPlayerBattleSession.
/// <summary>The asynchronous version of DisconnectPlayerBattleSession.</summary>
public void DisconnectPlayerBattleSessionAsync(PlayerBattleSessionParams pgos_params, HostingDelegate1 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | PlayerBattleSessionParams | |
| callback | HostingDelegate1 |
Return: void
RemovePlayerBattleSession
This interface will set the player session to a final state(Completed) and cannot be restored. You should call this interface when a player is disconnects from DS permanently. @param battle_session_id The id of battle session @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!! @param player_id The player id, keep it empty if do not need PGOS to validate it.
/// <summary>
/// This interface will set the player session to a final state(Completed) and cannot be restored.
/// You should call this interface when a player is disconnects from DS permanently.
/// @param battle_session_id The id of battle session
/// @param player_battle_session_id The id of player session in the battle, !!! NOT BATTLE SESSION ID !!!
/// @param player_id The player id, keep it empty if do not need PGOS to validate it.
/// </summary>
public PgosResult RemovePlayerBattleSession(string battle_session_id, string player_battle_session_id, string player_id);
Parameters:
| Param | Type | Description |
|---|---|---|
| battle_session_id | string | |
| player_battle_session_id | string | |
| player_id | string |
Return: PgosResult
RemovePlayerBattleSessionAsync
The asynchronous version of RemovePlayerBattleSession.
/// <summary>The asynchronous version of RemovePlayerBattleSession.</summary>
public void RemovePlayerBattleSessionAsync(PlayerBattleSessionParams pgos_params, HostingDelegate1 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | PlayerBattleSessionParams | |
| callback | HostingDelegate1 |
Return: void
ProcessEnding
Signals PGOS that the process is ending, and the battle session running on this process will also be terminated. PGOS will kill the process by force if it do not exit in 2mins after ProcessEnding is called.
/// <summary>
/// Signals PGOS that the process is ending, and the battle session running on this process will also be terminated.
/// PGOS will kill the process by force if it do not exit in 2mins after ProcessEnding is called.
/// </summary>
public PgosResult ProcessEnding();
Parameters:
(No parameters)
Return: PgosResult
LogMessage
Log a message to POGS's log file @param message Log content
/// <summary>
/// Log a message to POGS's log file
/// @param message Log content
/// </summary>
public PgosResult LogMessage(string message);
Parameters:
| Param | Type | Description |
|---|---|---|
| message | string |
Return: PgosResult
StartBackfill
Start a backfill request to fill the battle session with new players.
/// <summary>Start a backfill request to fill the battle session with new players.</summary>
/// <param name="pgos_params">Params to start backfill for a battle session.</param>
public void StartBackfill(StartBackfillParams pgos_params, HostingDelegate1 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | StartBackfillParams | Params to start backfill for a battle session. |
| callback | HostingDelegate1 |
Return: void
CancelBackfill
Cancel a backfill request.
/// <summary>Cancel a backfill request.</summary>
/// <param name="battle_session_id">Id for the backfill request to cancel.</param>
public void CancelBackfill(string battle_session_id, HostingDelegate2 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| battle_session_id | string | Id for the backfill request to cancel. |
| callback | HostingDelegate2 |
Return: void
GetPublicIP
Get the public ip to access this game server. Should be called after the interface InitSdk.
Deprecated, use GetDeploymentInfo instead.
/// <summary>Get the public ip to access this game server. Should be called after the interface InitSdk.</summary>
public string GetPublicIP();
Parameters:
(No parameters)
Return: string
GetDeploymentInfo
Get the deployment details of the game server. Should be called after the interface InitSdk.
/// <summary>Get the deployment details of the game server. Should be called after the interface InitSdk.</summary>
public DeploymentInfo GetDeploymentInfo();
Parameters:
(No parameters)
Return: DeploymentInfo
DescribePlayerBattleSessions
Query players of a battle session. @param battle_session_id The id of battle session
/// <summary>
/// Query players of a battle session.
/// @param battle_session_id The id of battle session
/// </summary>
public void DescribePlayerBattleSessions(DescribePlayerBattleSessionsParams pgos_params, HostingDelegate3 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | DescribePlayerBattleSessionsParams | |
| callback | HostingDelegate3 |
Return: void
SetBattleProperties
Update the battle properties, update event will be pushed to players in the battle session.
/// <summary>Update the battle properties, update event will be pushed to players in the battle session.</summary>
public void SetBattleProperties(SetBattlePropertiesParams pgos_params, HostingDelegate1 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | SetBattlePropertiesParams | |
| callback | HostingDelegate1 |
Return: void
LockWorldBattleSession
Lock a battle session from world service to deny any new player to join.
/// <summary>Lock a battle session from world service to deny any new player to join.</summary>
public void LockWorldBattleSession(LockWorldBattleSessionParams pgos_params, HostingDelegate1 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | LockWorldBattleSessionParams | |
| callback | HostingDelegate1 |
Return: void
UnlockWorldBattleSession
Unlock a battle session from world service to allow new players to join.
/// <summary>Unlock a battle session from world service to allow new players to join.</summary>
public void UnlockWorldBattleSession(UnlockWorldBattleSessionParams pgos_params, HostingDelegate1 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | UnlockWorldBattleSessionParams | |
| callback | HostingDelegate1 |
Return: void
PushMsgToGameBackend
Push a message to the game backend and do not wait for the DS to process it.
/// <summary>Push a message to the game backend and do not wait for the DS to process it.</summary>
public PgosResult PushMsgToGameBackend(PushMsgToGameBackendParams pgos_params);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | PushMsgToGameBackendParams |
Return: PgosResult
RPCRequestToGameBackend
Send a message to the game backend and get a response from the game backend.
/// <summary>Send a message to the game backend and get a response from the game backend.</summary>
public void RPCRequestToGameBackend(RPCRequestToGameBackendParams pgos_params, HostingDelegate4 callback);
Parameters:
| Param | Type | Description |
|---|---|---|
| pgos_params | RPCRequestToGameBackendParams | |
| callback | HostingDelegate4 |
Return: void
Event Details
OnHealthCheck
The HealthCheck event will be triggered every one minute to obtain the health status of the game process. The game process needs to return the health status of the current process.
/// <summary>
/// The HealthCheck event will be triggered every one minute to obtain the health status of the game process.
/// The game process needs to return the health status of the current process.
/// </summary>
public event HostingDelegate5 OnHealthCheck;
Type Reference:
OnStartBattleSession
The StartBattleSession event will be triggered when a battle session was placed to the server. Game server needs to call the ActivateBattleSession interface within 5 minutes to active battle session, otherwise the battle session will be abandoned.
/// <summary>
/// The StartBattleSession event will be triggered when a battle session was placed to the server.
/// Game server needs to call the ***ActivateBattleSession*** interface within 5 minutes to active battle session, otherwise the battle session will be abandoned.
/// </summary>
public event HostingDelegate6 OnStartBattleSession;
Type Reference:
OnBattleSessionTerminated
This event is available when [Server Process Hosting Battle Session Mode] of a FLEET is set to Parallel Mode. The BattleSessionTerminated event will be triggered when a battle session is terminated by PGOS backend. Only terminate a battle session from Portal manually could trigger this event for now. This event is a notification event. PGOS does not expect any special behavior from the DS. New battle session placement requests may still arrive after receiving this event. DS developers should be aware of this.
/// <summary>
/// This event is available when [Server Process Hosting Battle Session Mode] of a FLEET is set to Parallel Mode.
/// The BattleSessionTerminated event will be triggered when a battle session is terminated by PGOS backend. Only terminate a battle session from Portal manually could trigger this event for now.
/// This event is a notification event. PGOS does not expect any special behavior from the DS. New battle session placement requests may still arrive after receiving this event. DS developers should be aware of this.
/// </summary>
public event HostingDelegate7 OnBattleSessionTerminated;
Type Reference:
OnBattleSessionUpdated
This event is used to notify new players of joining a battle session in two specific scenarios: World and Matchmaking backfill.
/// <summary>This event is used to notify new players of joining a battle session in two specific scenarios: World and Matchmaking backfill.</summary>
public event HostingDelegate8 OnBattleSessionUpdated;
Type Reference:
OnProcessTerminate
The event will be triggered once the process being terminated. The ProcessTerminate event is triggered when the system needs to terminate a DS process. Typical scenarios include: 1. PGOS needs to safely scale down an unoccupied machine (which is not hosting any battle session). 2. The game has configured 'World Session Clean-Up Time' in World Configuration, and that world battle session meets the condition to be ended. 3. The DS process has reached the maximum lifetime configured for it in the console (if configured), and the DS is not hosting any battle sessions. 4. A developer manually forces termination of a battle session in the console. On receiving this event, DS should call the ProcessEnding API to confirm that the DS will terminate, and then exit the process after completing any necessary tasks (for example, saving data).
/// <summary>
/// The event will be triggered once the process being terminated.
/// The ProcessTerminate event is triggered when the system needs to terminate a DS process. Typical scenarios include:
/// 1. PGOS needs to safely scale down an unoccupied machine (which is not hosting any battle session).
/// 2. The game has configured 'World Session Clean-Up Time' in World Configuration, and that world battle session meets the condition to be ended.
/// 3. The DS process has reached the maximum lifetime configured for it in the console (if configured), and the DS is not hosting any battle sessions.
/// 4. A developer manually forces termination of a battle session in the console.
/// On receiving this event, DS should call the ProcessEnding API to confirm that the DS will terminate, and then exit the process after completing any necessary tasks (for example, saving data).
/// </summary>
public event HostingDelegate9 OnProcessTerminate;
Type Reference:
OnPlayerBattleSessionsTerminated
This event is called periodically to notify game DS of those player battle sessions that have been terminated from client side.
/// <summary>This event is called periodically to notify game DS of those player battle sessions that have been terminated from client side.</summary>
public event HostingDelegate10 OnPlayerBattleSessionsTerminated;
Type Reference:
OnBattlePlayerOffline
The event will be triggered when the player in the battle-session is offline.
/// <summary>The event will be triggered when the player in the battle-session is offline.</summary>
public event HostingDelegate11 OnBattlePlayerOffline;
Type Reference:
OnBattlePlayerBanned
The event will be triggered when the player in the battle-session is banned.
/// <summary>The event will be triggered when the player in the battle-session is banned.</summary>
public event HostingDelegate12 OnBattlePlayerBanned;
Type Reference:
OnPushMsgReceivedFromGameBackend
The event will be triggered when a game backend push message is received.
/// <summary>The event will be triggered when a game backend push message is received.</summary>
public event HostingDelegate13 OnPushMsgReceivedFromGameBackend;
Type Reference:
OnRPCRequestReceivedFromGameBackend
The event will be triggered when a game backend rpc message is received.
/// <summary>The event will be triggered when a game backend rpc message is received.</summary>
public event HostingDelegate14 OnRPCRequestReceivedFromGameBackend;
Type Reference:
OnPushMsgReceivedFromHTTPAPI
The event will be triggered when a http api push message is received.
/// <summary>The event will be triggered when a http api push message is received.</summary>
public event HostingDelegate15 OnPushMsgReceivedFromHTTPAPI;
Type Reference:
OnRPCRequestReceivedFromHTTPAPI
The event will be triggered when a http api rpc message is received.
/// <summary>The event will be triggered when a http api rpc message is received.</summary>
public event HostingDelegate16 OnRPCRequestReceivedFromHTTPAPI;
Type Reference:
All Delegates
public delegate void HostingDelegate0(PgosResult a0, BattleSession a1);
public delegate void HostingDelegate1(PgosResult a0);
public delegate void HostingDelegate2(PgosResult a0, CancelBackfillResult a1);
public delegate void HostingDelegate3(PgosResult a0, DescribePlayerBattleSessionsResult a1);
public delegate void HostingDelegate4(PgosResult a0, RPCResponse a1);
public delegate bool HostingDelegate5();
public delegate void HostingDelegate6(BattleSession a0);
public delegate void HostingDelegate7(string a0);
public delegate void HostingDelegate8(BattleSessionUpdatedEvt a0);
public delegate void HostingDelegate9(Int64 a0);
public delegate void HostingDelegate10(string a0, List<string> a1);
public delegate void HostingDelegate11(BattlePlayerOfflineEvt a0);
public delegate void HostingDelegate12(BattlePlayerBannedEvt a0);
public delegate void HostingDelegate13(GameBackendMsgEvt a0);
public delegate void HostingDelegate14(GameBackendMsgEvt a0, ref RPCResponse a1);
public delegate void HostingDelegate15(HTTPAPIMsgEvt a0);
public delegate void HostingDelegate16(HTTPAPIMsgEvt a0, ref RPCResponse a1);
Type Reference: