From 8be7394864c7f97b0c0150b7508b13f5c3b9290f Mon Sep 17 00:00:00 2001 From: roblabla Date: Mon, 14 Sep 2015 17:07:25 +0000 Subject: [PATCH 1/4] Fix ping --- src/ping.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ping.js b/src/ping.js index 8229099..b38500a 100644 --- a/src/ping.js +++ b/src/ping.js @@ -14,24 +14,24 @@ function ping(options, cb) { cb(err); }); - client.once([states.STATUS, 0x00], function(packet) { + client.once('server_info', function(packet) { var data = JSON.parse(packet.response); var start = Date.now(); - client.once(0x01, function(packet) { + client.once('ping', function(packet) { data.latency = Date.now() - start; cb(null, data); client.end(); }); - client.write(0x01, {time: [0, 0]}); + client.write('ping', {time: [0, 0]}); }); client.on('state', function(newState) { if(newState === states.STATUS) - client.write(0x00, {}); + client.write('ping_start', {}); }); client.on('connect', function() { - client.write(0x00, { + client.write('set_protocol', { protocolVersion: 4, serverHost: host, serverPort: port, From eac198bdf32c141b037edadaa27d7b3d59d9df68 Mon Sep 17 00:00:00 2001 From: roblabla Date: Mon, 14 Sep 2015 17:11:44 +0000 Subject: [PATCH 2/4] Fix createClient --- src/createClient.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/createClient.js b/src/createClient.js index f9f7d5d..2efefff 100644 --- a/src/createClient.js +++ b/src/createClient.js @@ -46,8 +46,8 @@ function createClient(options) { var client = new Client(false); client.on('connect', onConnect); if(keepAlive) client.on('keep_alive', onKeepAlive); - client.once([states.LOGIN, 0x01], onEncryptionKeyRequest); - client.once([states.LOGIN, 0x02], onLogin); + client.once('encryption_begin', onEncryptionKeyRequest); + client.once('success', onLogin); client.once("compress", onCompressionRequest); client.on("set_compression", onCompressionRequest); if(haveCredentials) { @@ -75,14 +75,14 @@ function createClient(options) { return client; function onConnect() { - client.write(0x00, { + client.write('set_protocol', { protocolVersion: version.version, serverHost: host, serverPort: port, nextState: 2 }); client.state = states.LOGIN; - client.write(0x00, { + client.write('login_start', { username: client.username }); } @@ -139,7 +139,7 @@ function createClient(options) { var pubKey = mcPubKeyToURsa(packet.publicKey); var encryptedSharedSecretBuffer = pubKey.encrypt(sharedSecret, undefined, undefined, ursa.RSA_PKCS1_PADDING); var encryptedVerifyTokenBuffer = pubKey.encrypt(packet.verifyToken, undefined, undefined, ursa.RSA_PKCS1_PADDING); - client.write(0x01, { + client.write('encryption_begin', { sharedSecret: encryptedSharedSecretBuffer, verifyToken: encryptedVerifyTokenBuffer, }); From cf4048d6553a5e04b079fe60c1dac560b542baa1 Mon Sep 17 00:00:00 2001 From: roblabla Date: Mon, 14 Sep 2015 17:51:36 +0000 Subject: [PATCH 3/4] Fix createServer --- src/createServer.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/createServer.js b/src/createServer.js index 6f27109..7e81f0d 100644 --- a/src/createServer.js +++ b/src/createServer.js @@ -36,9 +36,9 @@ function createServer(options) { server.playerCount = 0; server.onlineModeExceptions = {}; server.on("connection", function(client) { - client.once([states.HANDSHAKING, 0x00], onHandshake); - client.once([states.LOGIN, 0x00], onLogin); - client.once([states.STATUS, 0x00], onPing); + client.once('set_protocol', onHandshake); + client.once('login_start', onLogin); + client.once('ping_start', onPing); client.on('end', onEnd); var keepAlive = false; @@ -104,11 +104,11 @@ function createServer(options) { response = beforePing(response, client) || response; } - client.once([states.STATUS, 0x01], function(packet) { - client.write(0x01, {time: packet.time}); + client.once('ping', function(packet) { + client.write('ping', {time: packet.time}); client.end(); }); - client.write(0x00, {response: JSON.stringify(response)}); + client.write('server_info', {response: JSON.stringify(response)}); } function onLogin(packet) { @@ -126,8 +126,8 @@ function createServer(options) { client.publicKey = new Buffer(publicKeyStr, 'base64'); hash = crypto.createHash("sha1"); hash.update(serverId); - client.once([states.LOGIN, 0x01], onEncryptionKeyResponse); - client.write(0x01, { + client.once('encryption_begin', onEncryptionKeyResponse); + client.write('encryption_begin', { serverId: serverId, publicKey: client.publicKey, verifyToken: client.verifyToken @@ -193,7 +193,7 @@ function createServer(options) { } //client.write('compress', { threshold: 256 }); // Default threshold is 256 //client.compressionThreshold = 256; - client.write(0x02, {uuid: client.uuid, username: client.username}); + client.write('success', {uuid: client.uuid, username: client.username}); client.state = states.PLAY; loggedIn = true; if(enableKeepAlive) startKeepAlive(); From d490134492c8b0c78e1358290d19afe61a1b2155 Mon Sep 17 00:00:00 2001 From: roblabla Date: Mon, 14 Sep 2015 18:01:35 +0000 Subject: [PATCH 4/4] Fix server.js --- src/server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/server.js b/src/server.js index cb8ac50..2c5b16a 100644 --- a/src/server.js +++ b/src/server.js @@ -29,7 +29,7 @@ Server.prototype.listen = function(port, host) { if(client.state === states.PLAY) { client.write('kick_disconnect', {reason: endReason}); } else if(client.state === states.LOGIN) { - client.write(0x00, {reason: endReason}); + client.write('disconnect', {reason: endReason}); } client._end(endReason); };