Difference between revisions of "Pocket Edition Protocol Documentation"
(Added link to RakNet datagram and message header information.) |
TheEvilDude (talk | contribs) |
||
Line 47: | Line 47: | ||
RakNet datagram and message header information: http://www.raknet.net/raknet/manual/systemoverview.html | RakNet datagram and message header information: http://www.raknet.net/raknet/manual/systemoverview.html | ||
− | The latest version of the protocol is not fully documented yet, but | + | The latest version of the protocol is not fully documented yet, but all of the packets can be found in the [http://dragonet.org Dragonet] server code https://github.com/DragonetMC/Dragonet/tree/master/src/main/java/org/dragonet/net/packet |
Revision as of 05:06, 21 January 2015
This is the (unofficial) protocol docs for Minecraft: PE. The protocol currently uses UDP for communication, different from PC (TCP). The usual UDP issues are still here (lost packets, wrong order, etc.), but the protocol solves a few of those problems using special packet encapsulation, based on TCP. The Minecraft: PE client uses RakNet for it's networking library. Even though it uses RakNet, you can still write software without the library.
Data Types
Minecraft packets use different data types to communicate with each other. The documented ones are listed below:
Size | Range | Notes | |
---|---|---|---|
byte | 1 | -128 to 127 |
|
short | 2 | -32768 to 32767 |
|
Integer | 4 | -2147483648 to 2147483647 |
|
Long | 8 |
| |
MAGIC | 16 | 0x00ffff00fefefefefdfdfdfd12345678
|
always those hex bytes, corresponding to RakNet's default OFFLINE_MESSAGE_DATA_ID |
string | short + string | N/A | Prefixed by a short containing the length of the string in characters. It appears that only the following ASCII characters can be displayed: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ |
Reference
RakNet datagram and message header information: http://www.raknet.net/raknet/manual/systemoverview.html
The latest version of the protocol is not fully documented yet, but all of the packets can be found in the Dragonet server code https://github.com/DragonetMC/Dragonet/tree/master/src/main/java/org/dragonet/net/packet