mirror of
https://github.com/unmojang/node-minecraft-protocol.git
synced 2025-09-28 21:52:17 -04:00
Update README
This commit is contained in:
parent
28b75aab79
commit
6d2bd31242
257
README.md
257
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))
|
||||
|
Loading…
x
Reference in New Issue
Block a user