Update README

This commit is contained in:
roblabla 2015-03-06 19:54:27 +00:00
parent 28b75aab79
commit 6d2bd31242

257
README.md
View File

@ -4,19 +4,21 @@ Parse and serialize minecraft packets, plus authentication and encryption.
## Features ## Features
* Supports Minecraft version 1.7.10 * Supports Minecraft version 1.8.1
* Parses all packets and emits events with packet fields as JavaScript * Parses all packets and emits events with packet fields as JavaScript
objects. objects.
* Send a packet by supplying fields as a JavaScript object. * Send a packet by supplying fields as a JavaScript object.
* Client * Client
- Authenticating and logging in - Authenticating and logging in
- Encryption on and encryption off - Encryption
- Compression
- Both online and offline mode - Both online and offline mode
- Respond to keep-alive packets. - Respond to keep-alive packets.
- Ping a server for status - Ping a server for status
* Server * Server
- Offline mode - Online/Offline mode
- Encryption and online mode - Encryption
- Compression
- Handshake - Handshake
- Keep-alive checking - Keep-alive checking
- Ping status - Ping status
@ -98,7 +100,10 @@ server.on('login', function(client) {
`npm install minecraft-protocol` `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) [Obvious/ursa](https://github.com/Obvious/ursa)
## Documentation ## Documentation
@ -228,125 +233,138 @@ correct data type.
### Test Coverage ### Test Coverage
``` ```
packets packets
√ handshaking,ServerBound,0x00 ✓ handshaking,ServerBound,0x00
√ status,ServerBound,0x00 ✓ status,ServerBound,0x00
√ status,ServerBound,0x01 ✓ status,ServerBound,0x01
√ status,ClientBound,0x00 ✓ status,ClientBound,0x00
√ status,ClientBound,0x01 ✓ status,ClientBound,0x01
√ login,ServerBound,0x00 ✓ login,ServerBound,0x00
√ login,ServerBound,0x01 ✓ login,ServerBound,0x01
√ login,ClientBound,0x00 ✓ login,ClientBound,0x00
√ login,ClientBound,0x01 ✓ login,ClientBound,0x01
√ login,ClientBound,0x02 ✓ login,ClientBound,0x02
√ play,ServerBound,0x00 ✓ login,ClientBound,0x03
√ play,ServerBound,0x01 ✓ play,ServerBound,0x00
√ play,ServerBound,0x02 ✓ play,ServerBound,0x01
√ play,ServerBound,0x03 ✓ play,ServerBound,0x02
√ play,ServerBound,0x04 ✓ play,ServerBound,0x03
√ play,ServerBound,0x05 ✓ play,ServerBound,0x04
√ play,ServerBound,0x06 ✓ play,ServerBound,0x05
√ play,ServerBound,0x07 ✓ play,ServerBound,0x06
√ play,ServerBound,0x08 ✓ play,ServerBound,0x07
√ play,ServerBound,0x09 ✓ play,ServerBound,0x08
√ play,ServerBound,0x0a ✓ play,ServerBound,0x09
√ play,ServerBound,0x0b ✓ play,ServerBound,0x0a
√ play,ServerBound,0x0c ✓ play,ServerBound,0x0b
√ play,ServerBound,0x0d ✓ play,ServerBound,0x0c
√ play,ServerBound,0x0e ✓ play,ServerBound,0x0d
√ play,ServerBound,0x0f ✓ play,ServerBound,0x0e
√ play,ServerBound,0x10 ✓ play,ServerBound,0x0f
√ play,ServerBound,0x11 ✓ play,ServerBound,0x10
√ play,ServerBound,0x12 ✓ play,ServerBound,0x11
√ play,ServerBound,0x13 ✓ play,ServerBound,0x12
√ play,ServerBound,0x14 ✓ play,ServerBound,0x13
√ play,ServerBound,0x15 ✓ play,ServerBound,0x14
√ play,ServerBound,0x16 ✓ play,ServerBound,0x15
√ play,ServerBound,0x17 ✓ play,ServerBound,0x16
√ play,ClientBound,0x00 ✓ play,ServerBound,0x17
√ play,ClientBound,0x01 ✓ play,ServerBound,0x18
√ play,ClientBound,0x02 ✓ play,ServerBound,0x19
√ play,ClientBound,0x03 ✓ play,ClientBound,0x00
√ play,ClientBound,0x04 ✓ play,ClientBound,0x01
√ play,ClientBound,0x05 ✓ play,ClientBound,0x02
√ play,ClientBound,0x06 ✓ play,ClientBound,0x03
√ play,ClientBound,0x07 ✓ play,ClientBound,0x04
√ play,ClientBound,0x08 ✓ play,ClientBound,0x05
√ play,ClientBound,0x09 ✓ play,ClientBound,0x06
√ play,ClientBound,0x0a ✓ play,ClientBound,0x07
√ play,ClientBound,0x0b ✓ play,ClientBound,0x08
√ play,ClientBound,0x0c ✓ play,ClientBound,0x09
√ play,ClientBound,0x0d ✓ play,ClientBound,0x0a
√ play,ClientBound,0x0e ✓ play,ClientBound,0x0b
√ play,ClientBound,0x0f ✓ play,ClientBound,0x0c
√ play,ClientBound,0x10 ✓ play,ClientBound,0x0d
√ play,ClientBound,0x11 ✓ play,ClientBound,0x0e
√ play,ClientBound,0x12 ✓ play,ClientBound,0x0f
√ play,ClientBound,0x13 ✓ play,ClientBound,0x10
√ play,ClientBound,0x14 ✓ play,ClientBound,0x11
√ play,ClientBound,0x15 ✓ play,ClientBound,0x12
√ play,ClientBound,0x16 ✓ play,ClientBound,0x13
√ play,ClientBound,0x17 ✓ play,ClientBound,0x14
√ play,ClientBound,0x18 ✓ play,ClientBound,0x15
√ play,ClientBound,0x19 ✓ play,ClientBound,0x16
√ play,ClientBound,0x1a ✓ play,ClientBound,0x17
√ play,ClientBound,0x1b ✓ play,ClientBound,0x18
√ play,ClientBound,0x1c ✓ play,ClientBound,0x19
√ play,ClientBound,0x1d ✓ play,ClientBound,0x1a
√ play,ClientBound,0x1e ✓ play,ClientBound,0x1b
√ play,ClientBound,0x1f ✓ play,ClientBound,0x1c
√ play,ClientBound,0x20 ✓ play,ClientBound,0x1d
√ play,ClientBound,0x21 ✓ play,ClientBound,0x1e
√ play,ClientBound,0x22 ✓ play,ClientBound,0x1f
√ play,ClientBound,0x23 ✓ play,ClientBound,0x20
√ play,ClientBound,0x24 ✓ play,ClientBound,0x21
√ play,ClientBound,0x25 ✓ play,ClientBound,0x22
√ play,ClientBound,0x26 ✓ play,ClientBound,0x23
√ play,ClientBound,0x27 ✓ play,ClientBound,0x24
√ play,ClientBound,0x28 ✓ play,ClientBound,0x25
√ play,ClientBound,0x29 ✓ play,ClientBound,0x26
√ play,ClientBound,0x2a ✓ play,ClientBound,0x27
√ play,ClientBound,0x2b ✓ play,ClientBound,0x28
√ play,ClientBound,0x2c ✓ play,ClientBound,0x29
√ play,ClientBound,0x2d ✓ play,ClientBound,0x2a
√ play,ClientBound,0x2e ✓ play,ClientBound,0x2b
√ play,ClientBound,0x2f ✓ play,ClientBound,0x2c
√ play,ClientBound,0x30 ✓ play,ClientBound,0x2d
√ play,ClientBound,0x31 ✓ play,ClientBound,0x2e
√ play,ClientBound,0x32 ✓ play,ClientBound,0x2f
√ play,ClientBound,0x33 ✓ play,ClientBound,0x30
√ play,ClientBound,0x34 ✓ play,ClientBound,0x31
√ play,ClientBound,0x35 ✓ play,ClientBound,0x32
√ play,ClientBound,0x36 ✓ play,ClientBound,0x33
√ play,ClientBound,0x37 ✓ play,ClientBound,0x34
√ play,ClientBound,0x38 ✓ play,ClientBound,0x35
√ play,ClientBound,0x39 ✓ play,ClientBound,0x36
√ play,ClientBound,0x3a ✓ play,ClientBound,0x37
√ play,ClientBound,0x3b ✓ play,ClientBound,0x38
√ play,ClientBound,0x3c ✓ play,ClientBound,0x39
√ play,ClientBound,0x3d ✓ play,ClientBound,0x3a
√ play,ClientBound,0x3e ✓ play,ClientBound,0x3b
√ play,ClientBound,0x3f ✓ play,ClientBound,0x3c
√ play,ClientBound,0x40 ✓ 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 client
√ pings the server (32734ms) ✓ pings the server (65754ms)
√ connects successfully - online mode (23367ms) ✓ connects successfully - online mode (STUBBED)
√ connects successfully - offline mode (10261ms) ✓ connects successfully - offline mode (STUBBED)
√ gets kicked when no credentials supplied in online mode (18400ms) ✓ gets kicked when no credentials supplied in online mode (67167ms)
√ does not crash for 10000ms (24780ms) ✓ does not crash for 10000ms (69597ms)
mc-server mc-server
√ starts listening and shuts down cleanly (73ms) ✓ starts listening and shuts down cleanly
√ kicks clients that do not log in (295ms) ✓ kicks clients that do not log in (133ms)
√ kicks clients that do not send keepalive packets (266ms) ✓ kicks clients that do not send keepalive packets (122ms)
√ responds to ping requests (168ms) ✓ responds to ping requests
√ clients can log in and chat (158ms) ✓ clients can log in and chat (39ms)
√ kicks clients when invalid credentials (680ms) ✓ kicks clients when invalid credentials (8430ms)
√ gives correct reason for kicking clients when shutting down (123ms) ✓ gives correct reason for kicking clients when shutting down (42ms)
111 tests complete (3 minutes) 123 tests complete (4 minutes)
``` ```
# Debugging # Debugging
@ -359,6 +377,11 @@ NODE_DEBUG="minecraft-protocol" node [...]
## History ## 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 ### 0.12.3
* Fix for/in used over array, causing glitches with augmented Array prototypes (thanks [pelikhan](https://github.com/pelikhan)) * Fix for/in used over array, causing glitches with augmented Array prototypes (thanks [pelikhan](https://github.com/pelikhan))