/AWS1/IF_GML=>UPDATEGAMESESSION()¶
About UpdateGameSession¶
This API works with the following fleet types: EC2, Anywhere, Container
Updates the mutable properties of a game session.
To update a game session, specify the game session ID and the values you want to change.
If successful, the updated GameSession object is returned.
Method Signature¶
METHODS /AWS1/IF_GML~UPDATEGAMESESSION
IMPORTING
!IV_GAMESESSIONID TYPE /AWS1/GMLARNSTRINGMODEL OPTIONAL
!IV_MAXIMUMPLAYERSESSIONCOUNT TYPE /AWS1/GMLWHOLENUMBER OPTIONAL
!IV_NAME TYPE /AWS1/GMLNONZEROANDMAXSTRING OPTIONAL
!IV_PLAYERSESSCREATIONPOLICY TYPE /AWS1/GMLPLAYERSESSCREATIONPLY OPTIONAL
!IV_PROTECTIONPOLICY TYPE /AWS1/GMLPROTECTIONPOLICY OPTIONAL
!IT_GAMEPROPERTIES TYPE /AWS1/CL_GMLGAMEPROPERTY=>TT_GAMEPROPERTYLIST OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_gmlupdgamesessoutput
RAISING
/AWS1/CX_GMLCONFLICTEXCEPTION
/AWS1/CX_GMLINTERNALSERVICEEX
/AWS1/CX_GMLINVGAMESESSSTATEX
/AWS1/CX_GMLINVALIDREQUESTEX
/AWS1/CX_GMLNOTFOUNDEXCEPTION
/AWS1/CX_GMLNOTREADYEXCEPTION
/AWS1/CX_GMLUNAUTHORIZEDEX
/AWS1/CX_GMLCLIENTEXC
/AWS1/CX_GMLSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_gamesessionid TYPE /AWS1/GMLARNSTRINGMODEL /AWS1/GMLARNSTRINGMODEL¶
A unique identifier for the game session to update.
Optional arguments:¶
iv_maximumplayersessioncount TYPE /AWS1/GMLWHOLENUMBER /AWS1/GMLWHOLENUMBER¶
The maximum number of players that can be connected simultaneously to the game session.
iv_name TYPE /AWS1/GMLNONZEROANDMAXSTRING /AWS1/GMLNONZEROANDMAXSTRING¶
A descriptive label that is associated with a game session. Session names do not need to be unique.
iv_playersesscreationpolicy TYPE /AWS1/GMLPLAYERSESSCREATIONPLY /AWS1/GMLPLAYERSESSCREATIONPLY¶
A policy that determines whether the game session is accepting new players.
iv_protectionpolicy TYPE /AWS1/GMLPROTECTIONPOLICY /AWS1/GMLPROTECTIONPOLICY¶
Game session protection policy to apply to this game session only.
NoProtection-- The game session can be terminated during a scale-down event.
FullProtection-- If the game session is in anACTIVEstatus, it cannot be terminated during a scale-down event.
it_gameproperties TYPE /AWS1/CL_GMLGAMEPROPERTY=>TT_GAMEPROPERTYLIST TT_GAMEPROPERTYLIST¶
A set of key-value pairs that can store custom data in a game session. For example:
{"Key": "difficulty", "Value": "novice"}. You can use this parameter to modify game properties in an active game session. This action adds new properties and modifies existing properties. There is no way to delete properties. For an example, see Update the value of a game property.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_gmlupdgamesessoutput /AWS1/CL_GMLUPDGAMESESSOUTPUT¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->updategamesession(
it_gameproperties = VALUE /aws1/cl_gmlgameproperty=>tt_gamepropertylist(
(
new /aws1/cl_gmlgameproperty(
iv_key = |string|
iv_value = |string|
)
)
)
iv_gamesessionid = |string|
iv_maximumplayersessioncount = 123
iv_name = |string|
iv_playersesscreationpolicy = |string|
iv_protectionpolicy = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_gamesession = lo_result->get_gamesession( ).
IF lo_gamesession IS NOT INITIAL.
lv_nonzeroandmaxstring = lo_gamesession->get_gamesessionid( ).
lv_nonzeroandmaxstring = lo_gamesession->get_name( ).
lv_fleetid = lo_gamesession->get_fleetid( ).
lv_fleetarn = lo_gamesession->get_fleetarn( ).
lv_timestamp = lo_gamesession->get_creationtime( ).
lv_timestamp = lo_gamesession->get_terminationtime( ).
lv_wholenumber = lo_gamesession->get_currentplayersesscount( ).
lv_wholenumber = lo_gamesession->get_maxplayersessioncount( ).
lv_gamesessionstatus = lo_gamesession->get_status( ).
lv_gamesessionstatusreason = lo_gamesession->get_statusreason( ).
LOOP AT lo_gamesession->get_gameproperties( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_gamepropertykey = lo_row_1->get_key( ).
lv_gamepropertyvalue = lo_row_1->get_value( ).
ENDIF.
ENDLOOP.
lv_ipaddress = lo_gamesession->get_ipaddress( ).
lv_dnsname = lo_gamesession->get_dnsname( ).
lv_portnumber = lo_gamesession->get_port( ).
lv_playersessioncreationpo = lo_gamesession->get_playersesscreationpolicy( ).
lv_nonzeroandmaxstring = lo_gamesession->get_creatorid( ).
lv_largegamesessiondata = lo_gamesession->get_gamesessiondata( ).
lv_matchmakerdata = lo_gamesession->get_matchmakerdata( ).
lv_locationstringmodel = lo_gamesession->get_location( ).
ENDIF.
ENDIF.