User Tools

Site Tools


gamedev:dnp

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:dnp [2024/11/26 17:11] dragonlordgamedev:dnp [2026/04/10 19:09] (current) – [Drag[en]gine Network Protocol Specification] dragonlord
Line 9: Line 9:
  
 <WRAP center round important 60%> <WRAP center round important 60%>
-Network protocols typically use //Network Byte Order// as defined by the TCP standard which is //Big Endian//. The message writing and reading of DNP is implemented to match Drag[en]gine #@LinkApiDocDE2_HTML~classdecBaseFileReader.html,File Reader/Writer~@# system. This allows all data written by game scripts to be stored to file, written to memory and transmitted across the network without changing the data. Since this system uses //Little Endian// DNP uses //Little Endian// too. Hence throughout this specification //Little Endian// byte ordering is used unless marked otherwise.+Network protocols typically use //Network Byte Order// as defined by the TCP standard which is //Big Endian//. The message writing and reading of DNP is implemented to match Drag[en]gine #@LinkApiDocDE2_HTML~classdecBaseFileReader.html,File Reader/Writer~@# system. This allows all data written by game scripts to be stored to file, written to memory and transmitted across the network without changing the data. Since this system uses //Little Endian// DNP uses //Little Endian// too. 
 + 
 +Hence throughout this specification **__Little Endian__** byte ordering is used unless marked otherwise.
 </WRAP> </WRAP>
  
Line 306: Line 308:
   * ''2'': Message is the last part of the original message.   * ''2'': Message is the last part of the original message.
 </WRAP> | </WRAP> |
-| [[#data_types|Byte]][*] | Data | Message data. The length of the data is the remaining count of bytes in the UDP package. |+| [[#data_types|Byte]][*] | Data | Next message data. The length of the data is the remaining count of bytes in the UDP package. |
  
 ===== Long link state ===== ===== Long link state =====
  
-Same as [[#link_state|Link state]] but for use with large data or lots of state values to initialize. The message is split up into smaller parts by the server. A typical size is 1357 to make sure the packages are not fragmented. Each package is processed like a reliable message hence they are acknowledged and transmitted in the order they are send. Each part of the original link state can contain any combination of remaining message or state values. Typically the first packages contain the message parts with no state values. Then packages with no message but state values packaged into themare send.+Same as [[#link_state|Link state]] but for use with large data or lots of state values to initialize. The message is split up into smaller parts by the server. A typical size is 1357 to make sure the packages are not fragmented. Each package is processed like a reliable message hence they are acknowledged and transmitted in the order they are send. Each part of the original link state can contain any combination of remaining message or state values. Typically the first packages contain the message parts with no state values. Then packages with no message but state values packaged into them are send.
  
 The command has this format: The command has this format:
Line 324: Line 326:
   * ''4'': Message is the last part of the original link state.   * ''4'': Message is the last part of the original link state.
 </WRAP> | </WRAP> |
-| [[#data_types|UInt16]] | MessageLength | Length of message in bytes. | +| [[#data_types|UInt16]] | MessageLength | Length of next message data in bytes. | 
-| [[#data_types|Byte]][MessageLength] | Message | Message data. | +| [[#data_types|Byte]][MessageLength] | Message | Next message data. | 
-| [[#data_types|UInt16]] | ValueCount | Count of values. | +| [[#data_types|UInt16]] | ValueCount | Count of next values. | 
-| ValueData[ValueCount] | Values | Initial value of all values in the state. |+| ValueData[ValueCount] | Values | Initial value of all next values in the state. |
  
 ValueData has this format: ValueData has this format:
gamedev/dnp.1732641107.txt.gz · Last modified: 2024/11/26 17:11 by dragonlord