User Tools

Site Tools


gamedev:remotelaunching:networkprotocol

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
gamedev:remotelaunching:networkprotocol [2024/12/02 19:53] – [Response File Block Hashes] dragonlordgamedev:remotelaunching:networkprotocol [2024/12/09 13:30] (current) dragonlord
Line 235: Line 235:
 | [[gamedev:dnp#data_types|String8]] | Timestamp | Timestamp in text form. | | [[gamedev:dnp#data_types|String8]] | Timestamp | Timestamp in text form. |
 | [[gamedev:dnp#data_types|String16]] | Message | Log message. | | [[gamedev:dnp#data_types|String16]] | Message | Log message. |
 +|  -  | Reserved | Reserved for future expansion. Ignore any additional bytes in the message. |
 +
 +
 +===== Request System Property =====
 +
 +Send by the server to request information about the system the client is running on. The server indicates which property to query. The client has to return the requested property value if it is supported and the value can be determined. Otherwise the client has to return an empty response. The message is send reliable and has this format:
 +
 +^  Type ^  Name  ^  Description  ^
 +| [[gamedev:dnp#data_types|Byte]] | Code | Message code. Is value ''18'' |
 +| [[gamedev:dnp#data_types|String8]] | Property | <WRAP>Name of property to query. Can be one of these values:
 +  * ''properties.names'': List of all properties supported by the client. The server can safely query any of these properties. This is the only property name the client has to support.
 +  * ''profiles.names'': List of launcher profile names. 
 +  * ''profiles.default'': Name of default profile or empty string if there is none.
 +Additional property names can be added in the future. Applications can define custom property names. Clients have to return empty value for unknown properties.</WRAP> |
 +|  -  | Reserved | Reserved for future expansion. Ignore any additional bytes in the message. |
 +
 +The client sends back a [[#response_system_property|Response System Property]] message.
 +
 +===== Response System Property =====
 +
 +Send by the client in response to a [[#request_system_property|Request System Property]] message. The response contains the property value if the client supports the property and can determine the value. Otherwise the client sends an response with empty data. The message is send reliable and has this format:
 +
 +^  Type  ^  Name  ^  Description  ^
 +| [[gamedev:dnp#data_types|Byte]] | Code  | Message code. Is value ''19'' |
 +| [[gamedev:dnp#data_types|String8]] | Property | Same value as ''Property'' in request. |
 +| [[gamedev:dnp#data_types|Strgin16]] | PropertyData | <WRAP>Value of property depending of type or empty if not supported.
 +The length and format of ''PropertyData'' depends on the property type.
 +  * ''properties.names'': Newline separated list of property names. For example ''Profile A\nProfile B''.
 +  * ''profiles.names'': Newline separated list of profile names. For example ''Profile A\nProfile B''.
 +  * ''profiles.default'': Name of default profile or empty string if there is none.
 +Additional property names can be added in the future. Applications can define custom property names. Clients have to return empty value for unknown properties.</WRAP> |
 +|  -  | Reserved | Reserved for future expansion. Ignore any additional bytes in the message. |
 +
 +===== Keep-Alive =====
 +
 +Send by the server and the client to verify the other side is still alive. This catches situations where the other side crashed or the network connection between the two sides ruptured. This messages requires no response since it is send reliable. Failure to receive it closes the connection. The message has this format:
 +
 +^  Type ^  Name  ^  Description  ^
 +| [[gamedev:dnp#data_types|Byte]] | Code | Message code. Is value ''20'' |
 |  -  | Reserved | Reserved for future expansion. Ignore any additional bytes in the message. | |  -  | Reserved | Reserved for future expansion. Ignore any additional bytes in the message. |
  
gamedev/remotelaunching/networkprotocol.1733169232.txt.gz · Last modified: 2024/12/02 19:53 by dragonlord