IC:Protocol: Difference between revisions

From wiki.vg
Jump to navigation Jump to search
imported>MAD
(Welp.)
imported>MAD
(Signing and sizes?)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
The "InfiniCraft" (IC) [[IC:Client_Proxy|Client Proxy]] <-> [[IC:Node|Node]] Protocol Draft.
The "InfiniCraft" (IC) [[IC:Client_Proxy|Client Proxy]] <-> [[IC:Node|Node]] Protocol Draft.


First things first. All packets should have:
== Data Types ==
All types are the same as Java for performance reasons, with the exception of all integral types having unsigned variants as well as signed variants. All sizes are unsigned.


* Identifier (short?)
== Header ==
* Length (int)
All packets begin with the same header, intended to ease creating flexible tools and future-compatibility.


First packet out on the wire should always be protocol version, preferably with some kind of magic number.
* ID [unsigned byte] - denotes the type of packet being recieved
* FLAGS [unsigned byte] - protocol and packet features
* LENGTH [unsigned int] - total length of the packet (for skip-ahead)

Latest revision as of 01:24, 23 January 2011

The "InfiniCraft" (IC) Client Proxy <-> Node Protocol Draft.

Data Types

All types are the same as Java for performance reasons, with the exception of all integral types having unsigned variants as well as signed variants. All sizes are unsigned.

Header

All packets begin with the same header, intended to ease creating flexible tools and future-compatibility.

  • ID [unsigned byte] - denotes the type of packet being recieved
  • FLAGS [unsigned byte] - protocol and packet features
  • LENGTH [unsigned int] - total length of the packet (for skip-ahead)