From 6d2bd31242d17b1a2dccf9428fbca95a52497ad0 Mon Sep 17 00:00:00 2001 From: roblabla Date: Fri, 6 Mar 2015 19:54:27 +0000 Subject: [PATCH] Update README --- README.md | 257 +++++++++++++++++++++++++++++------------------------- 1 file changed, 140 insertions(+), 117 deletions(-) diff --git a/README.md b/README.md index fa53a4e..ac53901 100644 --- a/README.md +++ b/README.md @@ -4,19 +4,21 @@ Parse and serialize minecraft packets, plus authentication and encryption. ## Features - * Supports Minecraft version 1.7.10 + * Supports Minecraft version 1.8.1 * Parses all packets and emits events with packet fields as JavaScript objects. * Send a packet by supplying fields as a JavaScript object. * Client - Authenticating and logging in - - Encryption on and encryption off + - Encryption + - Compression - Both online and offline mode - Respond to keep-alive packets. - Ping a server for status * Server - - Offline mode - - Encryption and online mode + - Online/Offline mode + - Encryption + - Compression - Handshake - Keep-alive checking - Ping status @@ -98,7 +100,10 @@ server.on('login', function(client) { `npm install minecraft-protocol` -On Windows, first follow the Windows instructions from +URSA, an optional dependency, should improve login times +for servers. However, it can be somewhat complicated to install. + +Follow the instructions from [Obvious/ursa](https://github.com/Obvious/ursa) ## Documentation @@ -228,125 +233,138 @@ correct data type. ### Test Coverage ``` + packets - √ handshaking,ServerBound,0x00 - √ status,ServerBound,0x00 - √ status,ServerBound,0x01 - √ status,ClientBound,0x00 - √ status,ClientBound,0x01 - √ login,ServerBound,0x00 - √ login,ServerBound,0x01 - √ login,ClientBound,0x00 - √ login,ClientBound,0x01 - √ login,ClientBound,0x02 - √ play,ServerBound,0x00 - √ play,ServerBound,0x01 - √ play,ServerBound,0x02 - √ play,ServerBound,0x03 - √ play,ServerBound,0x04 - √ play,ServerBound,0x05 - √ play,ServerBound,0x06 - √ play,ServerBound,0x07 - √ play,ServerBound,0x08 - √ play,ServerBound,0x09 - √ play,ServerBound,0x0a - √ play,ServerBound,0x0b - √ play,ServerBound,0x0c - √ play,ServerBound,0x0d - √ play,ServerBound,0x0e - √ play,ServerBound,0x0f - √ play,ServerBound,0x10 - √ play,ServerBound,0x11 - √ play,ServerBound,0x12 - √ play,ServerBound,0x13 - √ play,ServerBound,0x14 - √ play,ServerBound,0x15 - √ play,ServerBound,0x16 - √ play,ServerBound,0x17 - √ play,ClientBound,0x00 - √ play,ClientBound,0x01 - √ play,ClientBound,0x02 - √ play,ClientBound,0x03 - √ play,ClientBound,0x04 - √ play,ClientBound,0x05 - √ play,ClientBound,0x06 - √ play,ClientBound,0x07 - √ play,ClientBound,0x08 - √ play,ClientBound,0x09 - √ play,ClientBound,0x0a - √ play,ClientBound,0x0b - √ play,ClientBound,0x0c - √ play,ClientBound,0x0d - √ play,ClientBound,0x0e - √ play,ClientBound,0x0f - √ play,ClientBound,0x10 - √ play,ClientBound,0x11 - √ play,ClientBound,0x12 - √ play,ClientBound,0x13 - √ play,ClientBound,0x14 - √ play,ClientBound,0x15 - √ play,ClientBound,0x16 - √ play,ClientBound,0x17 - √ play,ClientBound,0x18 - √ play,ClientBound,0x19 - √ play,ClientBound,0x1a - √ play,ClientBound,0x1b - √ play,ClientBound,0x1c - √ play,ClientBound,0x1d - √ play,ClientBound,0x1e - √ play,ClientBound,0x1f - √ play,ClientBound,0x20 - √ play,ClientBound,0x21 - √ play,ClientBound,0x22 - √ play,ClientBound,0x23 - √ play,ClientBound,0x24 - √ play,ClientBound,0x25 - √ play,ClientBound,0x26 - √ play,ClientBound,0x27 - √ play,ClientBound,0x28 - √ play,ClientBound,0x29 - √ play,ClientBound,0x2a - √ play,ClientBound,0x2b - √ play,ClientBound,0x2c - √ play,ClientBound,0x2d - √ play,ClientBound,0x2e - √ play,ClientBound,0x2f - √ play,ClientBound,0x30 - √ play,ClientBound,0x31 - √ play,ClientBound,0x32 - √ play,ClientBound,0x33 - √ play,ClientBound,0x34 - √ play,ClientBound,0x35 - √ play,ClientBound,0x36 - √ play,ClientBound,0x37 - √ play,ClientBound,0x38 - √ play,ClientBound,0x39 - √ play,ClientBound,0x3a - √ play,ClientBound,0x3b - √ play,ClientBound,0x3c - √ play,ClientBound,0x3d - √ play,ClientBound,0x3e - √ play,ClientBound,0x3f - √ play,ClientBound,0x40 + ✓ handshaking,ServerBound,0x00 + ✓ status,ServerBound,0x00 + ✓ status,ServerBound,0x01 + ✓ status,ClientBound,0x00 + ✓ status,ClientBound,0x01 + ✓ login,ServerBound,0x00 + ✓ login,ServerBound,0x01 + ✓ login,ClientBound,0x00 + ✓ login,ClientBound,0x01 + ✓ login,ClientBound,0x02 + ✓ login,ClientBound,0x03 + ✓ play,ServerBound,0x00 + ✓ play,ServerBound,0x01 + ✓ play,ServerBound,0x02 + ✓ play,ServerBound,0x03 + ✓ play,ServerBound,0x04 + ✓ play,ServerBound,0x05 + ✓ play,ServerBound,0x06 + ✓ play,ServerBound,0x07 + ✓ play,ServerBound,0x08 + ✓ play,ServerBound,0x09 + ✓ play,ServerBound,0x0a + ✓ play,ServerBound,0x0b + ✓ play,ServerBound,0x0c + ✓ play,ServerBound,0x0d + ✓ play,ServerBound,0x0e + ✓ play,ServerBound,0x0f + ✓ play,ServerBound,0x10 + ✓ play,ServerBound,0x11 + ✓ play,ServerBound,0x12 + ✓ play,ServerBound,0x13 + ✓ play,ServerBound,0x14 + ✓ play,ServerBound,0x15 + ✓ play,ServerBound,0x16 + ✓ play,ServerBound,0x17 + ✓ play,ServerBound,0x18 + ✓ play,ServerBound,0x19 + ✓ play,ClientBound,0x00 + ✓ play,ClientBound,0x01 + ✓ play,ClientBound,0x02 + ✓ play,ClientBound,0x03 + ✓ play,ClientBound,0x04 + ✓ play,ClientBound,0x05 + ✓ play,ClientBound,0x06 + ✓ play,ClientBound,0x07 + ✓ play,ClientBound,0x08 + ✓ play,ClientBound,0x09 + ✓ play,ClientBound,0x0a + ✓ play,ClientBound,0x0b + ✓ play,ClientBound,0x0c + ✓ play,ClientBound,0x0d + ✓ play,ClientBound,0x0e + ✓ play,ClientBound,0x0f + ✓ play,ClientBound,0x10 + ✓ play,ClientBound,0x11 + ✓ play,ClientBound,0x12 + ✓ play,ClientBound,0x13 + ✓ play,ClientBound,0x14 + ✓ play,ClientBound,0x15 + ✓ play,ClientBound,0x16 + ✓ play,ClientBound,0x17 + ✓ play,ClientBound,0x18 + ✓ play,ClientBound,0x19 + ✓ play,ClientBound,0x1a + ✓ play,ClientBound,0x1b + ✓ play,ClientBound,0x1c + ✓ play,ClientBound,0x1d + ✓ play,ClientBound,0x1e + ✓ play,ClientBound,0x1f + ✓ play,ClientBound,0x20 + ✓ play,ClientBound,0x21 + ✓ play,ClientBound,0x22 + ✓ play,ClientBound,0x23 + ✓ play,ClientBound,0x24 + ✓ play,ClientBound,0x25 + ✓ play,ClientBound,0x26 + ✓ play,ClientBound,0x27 + ✓ play,ClientBound,0x28 + ✓ play,ClientBound,0x29 + ✓ play,ClientBound,0x2a + ✓ play,ClientBound,0x2b + ✓ play,ClientBound,0x2c + ✓ play,ClientBound,0x2d + ✓ play,ClientBound,0x2e + ✓ play,ClientBound,0x2f + ✓ play,ClientBound,0x30 + ✓ play,ClientBound,0x31 + ✓ play,ClientBound,0x32 + ✓ play,ClientBound,0x33 + ✓ play,ClientBound,0x34 + ✓ play,ClientBound,0x35 + ✓ play,ClientBound,0x36 + ✓ play,ClientBound,0x37 + ✓ play,ClientBound,0x38 + ✓ play,ClientBound,0x39 + ✓ play,ClientBound,0x3a + ✓ play,ClientBound,0x3b + ✓ play,ClientBound,0x3c + ✓ play,ClientBound,0x3d + ✓ play,ClientBound,0x3e + ✓ play,ClientBound,0x3f + ✓ play,ClientBound,0x40 + ✓ play,ClientBound,0x41 + ✓ play,ClientBound,0x42 + ✓ play,ClientBound,0x43 + ✓ play,ClientBound,0x44 + ✓ play,ClientBound,0x45 + ✓ play,ClientBound,0x46 + ✓ play,ClientBound,0x47 + ✓ play,ClientBound,0x48 + ✓ play,ClientBound,0x49 client - √ pings the server (32734ms) - √ connects successfully - online mode (23367ms) - √ connects successfully - offline mode (10261ms) - √ gets kicked when no credentials supplied in online mode (18400ms) - √ does not crash for 10000ms (24780ms) + ✓ pings the server (65754ms) + ✓ connects successfully - online mode (STUBBED) + ✓ connects successfully - offline mode (STUBBED) + ✓ gets kicked when no credentials supplied in online mode (67167ms) + ✓ does not crash for 10000ms (69597ms) mc-server - √ starts listening and shuts down cleanly (73ms) - √ kicks clients that do not log in (295ms) - √ kicks clients that do not send keepalive packets (266ms) - √ responds to ping requests (168ms) - √ clients can log in and chat (158ms) - √ kicks clients when invalid credentials (680ms) - √ gives correct reason for kicking clients when shutting down (123ms) + ✓ starts listening and shuts down cleanly + ✓ kicks clients that do not log in (133ms) + ✓ kicks clients that do not send keepalive packets (122ms) + ✓ responds to ping requests + ✓ clients can log in and chat (39ms) + ✓ kicks clients when invalid credentials (8430ms) + ✓ gives correct reason for kicking clients when shutting down (42ms) - 111 tests complete (3 minutes) + 123 tests complete (4 minutes) ``` # Debugging @@ -359,6 +377,11 @@ NODE_DEBUG="minecraft-protocol" node [...] ## History +### 0.13.0 + + * Updated protocol version to support 1.8.1 (thanks [wtfaremyinitials](https://github.com/wtfaremyinitials)) + * Lots of changes in how some formats are handled. + ### 0.12.3 * Fix for/in used over array, causing glitches with augmented Array prototypes (thanks [pelikhan](https://github.com/pelikhan))