From 7e42b04dc06aef19deffbeebee9b8c28da923368 Mon Sep 17 00:00:00 2001 From: bangbang93 Date: Wed, 29 Aug 2018 19:15:10 +0800 Subject: [PATCH 1/7] types init --- .gitignore | 1 + index.d.ts | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 + 3 files changed, 146 insertions(+) create mode 100644 index.d.ts diff --git a/.gitignore b/.gitignore index 3de5bac..20c2b28 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ test/npm-debug.log test/server package-lock.json versions/ +.idea/ diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..01c0a39 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,143 @@ +import {Socket} from 'net' +import * as Stream from 'stream' +import EventEmitter = NodeJS.EventEmitter + +declare enum EnumStates { + HANDSHAKING = 'handshaking', + STATUS = 'status', + LOGIN = 'login', + PLAY = 'play', +} + + +export interface IResponse { + +} + +export interface IPacketMeta { + name: string + state: EnumStates +} + +export declare class Client extends EventEmitter { + constructor(isServer: boolean, version: string, customPackets?: any) + write(name: string, params: any) + end(reason: string) + state: EnumStates + isServer: boolean + socket: Socket + uuid: string + username: string + session: any + profile: any + latency: number + on(event: 'packet', handler: (data: any, packetMeta: IPacketMeta) => any) + on(event: 'raw', handler: (data: any, packetMeta: IPacketMeta) => any) + on(event: 'state', handler: (newState: EnumStates, oldState: EnumStates) => any) + on(event: 'session', handler: (session: any) => any) + writeChannel(channel: any, params: any) + registerChannel(name: string, typeDefinition: any, custom?: boolean) + unregisterChannel(name: string) +} + +interface IClientsMap { + [key: string]: Client +} + +export declare class Server extends EventEmitter { + constructor(version: string, customPackets?: any) + onlineModeExceptions: object + clients: IClientsMap + playerCount: number + maxPlayers: number + motd: string + favicon: string + on(event: 'connection', handler: (client: Client) => any) + on(event: 'login', handler: (client: Client) => any) +} + +export interface ICreateServerOptions { + host?: string + port?: number + kickTimeout?: number + checkTimeoutInterval?: number + 'online-mode'?: boolean + motd?: string + maxPlayers?: number + keepAlive?: boolean + version?: string + customPackets?: any + stream?: Stream + beforePing?: (response: any, client: Client, callback?: (result: any) => any) => any + errorHandler?: (client: Client, error: Error) => any + connect?: (client: Client) => any + hideErrors?: boolean +} + +export interface ICreateClientOptions { + username: string + port?: number + password?: string + host?: string + clientToken?: string + accessToken?: string + keepAlive?: boolean + checkTimeoutInterval?: number + version?: string + customPackets?: any + hideErrors?: boolean +} + +export interface ICreateSerializerOptions { + state?: EnumStates + isServer?: boolean + version: string + customPackets: any +} + +export interface IPingOptions { + host?: string + port?: number + version?: string + majorVersion?: string + protocolVersion?: string +} + +export interface IPingOldResult { + prefix: string + protocol: string + version: string + motd: string + playerCount: number + maxPlayers: number, +} + +export interface IPingNewResult { + description: string + players: { + max: number + online: number + sample: { + id: string + name: string + }[] + } + version: { + name: string + protocol: string + } + favicon: string + latency: number +} + +export declare function createServer(options: ICreateServerOptions): Server +export declare function createClient(options: ICreateClientOptions): Client + +export const state: EnumStates + +export declare function createSerializer({state, isServer, version, customPackets}: ICreateSerializerOptions) +export declare function createDeserializer({state, isServer, version, customPackets}: ICreateSerializerOptions) + +export declare function ping(options: IPingOptions, callback: (err: Error, result: IPingOldResult | IPingNewResult) => any); + +export const supportedVersions: string[] diff --git a/package.json b/package.json index 0b108d3..ef5cc31 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "1.8.0", "description": "Parse and serialize minecraft packets, plus authentication and encryption.", "main": "src/index.js", + "types": "index.d.ts", "repository": { "type": "git", "url": "git://github.com/PrismarineJS/node-minecraft-protocol.git" @@ -30,6 +31,7 @@ }, "browser": "src/browser.js", "devDependencies": { + "@types/node": "^10.5.8", "espower-loader": "^1.0.0", "intelli-espower-loader": "^1.0.0", "minecraft-wrap": "^1.2.0", From b657f9d9301fb193ad40953e616a238c6715f00d Mon Sep 17 00:00:00 2001 From: bangbang93 Date: Thu, 30 Aug 2018 10:08:35 +0800 Subject: [PATCH 2/7] cleanup code --- index.d.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/index.d.ts b/index.d.ts index 01c0a39..9fea410 100644 --- a/index.d.ts +++ b/index.d.ts @@ -9,11 +9,6 @@ declare enum EnumStates { PLAY = 'play', } - -export interface IResponse { - -} - export interface IPacketMeta { name: string state: EnumStates From ac44a23e945119802db5cf6c83fe140bac4f058d Mon Sep 17 00:00:00 2001 From: bangbang93 Date: Thu, 30 Aug 2018 19:13:34 +0800 Subject: [PATCH 3/7] revert .gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 20c2b28..3de5bac 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,3 @@ test/npm-debug.log test/server package-lock.json versions/ -.idea/ From bb0fdb8565d326804692c927be53fc82db0cf411 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Tue, 11 Sep 2018 15:24:46 +0000 Subject: [PATCH 4/7] fix(package): update debug to version 4.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0b108d3..6d7b8ae 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ }, "dependencies": { "buffer-equal": "^1.0.0", - "debug": "^3.0.0", + "debug": "^4.0.0", "endian-toggle": "^0.0.0", "lodash.get": "^4.1.2", "lodash.merge": "^4.3.0", From dac5836753b5914f56b956058cde3981a2dc6b18 Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Mon, 24 Sep 2018 22:01:16 +0200 Subject: [PATCH 5/7] move index.d.ts to src --- package.json | 2 +- index.d.ts => src/index.d.ts | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename index.d.ts => src/index.d.ts (100%) diff --git a/package.json b/package.json index ef5cc31..1062037 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.8.0", "description": "Parse and serialize minecraft packets, plus authentication and encryption.", "main": "src/index.js", - "types": "index.d.ts", + "types": "src/index.d.ts", "repository": { "type": "git", "url": "git://github.com/PrismarineJS/node-minecraft-protocol.git" diff --git a/index.d.ts b/src/index.d.ts similarity index 100% rename from index.d.ts rename to src/index.d.ts From dcb9f0d2c47b62cae104f43214dbf4483bce5f98 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Wed, 29 Aug 2018 11:38:42 +0000 Subject: [PATCH 6/7] chore(package): update standard to version 12.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 825aea1..e650d3b 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "mocha": "^5.0.5", "power-assert": "^1.0.0", "require-self": "^0.2.1", - "standard": "^11.0.1" + "standard": "^12.0.0" }, "dependencies": { "buffer-equal": "^1.0.0", From 0bd2e559bd30c94686bfd4f77cf97c4d9758d7af Mon Sep 17 00:00:00 2001 From: Romain Beaumont Date: Mon, 24 Sep 2018 22:07:34 +0200 Subject: [PATCH 7/7] run standard 1.12 --fix --- examples/client_auto/client_auto.js | 2 +- examples/client_chat/client_chat.js | 4 +- examples/client_echo/client_echo.js | 2 +- .../client_http_proxy/client_http_proxy.js | 2 +- .../client_socks_proxy/client_socks_proxy.js | 2 +- examples/proxy/proxy.js | 4 +- .../server_helloworld/server_helloworld.js | 2 +- src/client.js | 8 +-- src/client/encrypt.js | 4 +- src/createServer.js | 2 +- src/datatypes/minecraft.js | 10 +-- src/ping.js | 2 +- src/server.js | 4 +- src/server/handshake.js | 2 +- src/server/login.js | 6 +- src/server/ping.js | 8 +-- src/transforms/framing.js | 4 +- src/transforms/serializer.js | 4 +- test/benchmark.js | 14 ++-- test/clientTest.js | 2 +- test/common/parallel.js | 10 +-- test/packetTest.js | 70 +++++++++---------- test/serverTest.js | 10 +-- 23 files changed, 89 insertions(+), 89 deletions(-) diff --git a/examples/client_auto/client_auto.js b/examples/client_auto/client_auto.js index 1abefc6..8697f0d 100644 --- a/examples/client_auto/client_auto.js +++ b/examples/client_auto/client_auto.js @@ -27,6 +27,6 @@ client.on('chat', function (packet) { const username = jsonMsg.with[0].text const msg = jsonMsg.with[1] if (username === client.username) return - client.write('chat', {message: msg}) + client.write('chat', { message: msg }) } }) diff --git a/examples/client_chat/client_chat.js b/examples/client_chat/client_chat.js index 5cb1aa9..ff0664c 100644 --- a/examples/client_chat/client_chat.js +++ b/examples/client_chat/client_chat.js @@ -111,7 +111,7 @@ client.on('error', function (err) { client.on('state', function (newState) { if (newState === states.PLAY) { chats.forEach(function (chat) { - client.write('chat', {message: chat}) + client.write('chat', { message: chat }) }) } }) @@ -127,7 +127,7 @@ rl.on('line', function (line) { console.info('Forcibly ended client') process.exit(0) } - if (!client.write('chat', {message: line})) { + if (!client.write('chat', { message: line })) { chats.push(line) } }) diff --git a/examples/client_echo/client_echo.js b/examples/client_echo/client_echo.js index ad3eca3..9443446 100644 --- a/examples/client_echo/client_echo.js +++ b/examples/client_echo/client_echo.js @@ -27,6 +27,6 @@ client.on('chat', function (packet) { const username = jsonMsg.with[0].text const msg = jsonMsg.with[1] if (username === client.username) return - client.write('chat', {message: msg}) + client.write('chat', { message: msg }) } }) diff --git a/examples/client_http_proxy/client_http_proxy.js b/examples/client_http_proxy/client_http_proxy.js index 2a98847..885fa0b 100644 --- a/examples/client_http_proxy/client_http_proxy.js +++ b/examples/client_http_proxy/client_http_proxy.js @@ -43,6 +43,6 @@ client.on('chat', function (packet) { const username = jsonMsg.with[0].text const msg = jsonMsg.with[1] if (username === client.username) return - client.write('chat', {message: msg}) + client.write('chat', { message: msg }) } }) diff --git a/examples/client_socks_proxy/client_socks_proxy.js b/examples/client_socks_proxy/client_socks_proxy.js index 79a0c77..d11e6bc 100644 --- a/examples/client_socks_proxy/client_socks_proxy.js +++ b/examples/client_socks_proxy/client_socks_proxy.js @@ -50,6 +50,6 @@ client.on('chat', function (packet) { const username = jsonMsg.with[0].text const msg = jsonMsg.with[1] if (username === client.username) return - client.write('chat', {message: msg}) + client.write('chat', { message: msg }) } }) diff --git a/examples/proxy/proxy.js b/examples/proxy/proxy.js index a8045e7..499c4a5 100644 --- a/examples/proxy/proxy.js +++ b/examples/proxy/proxy.js @@ -127,7 +127,7 @@ srv.on('login', function (client) { targetClient.on('raw', function (buffer, meta) { if (client.state !== states.PLAY || meta.state !== states.PLAY) { return } const packetData = targetClient.deserializer.parsePacketBuffer(buffer).data.params - const packetBuff = client.serializer.createPacketBuffer({name: meta.name, params: packetData}) + const packetBuff = client.serializer.createPacketBuffer({ name: meta.name, params: packetData }) if (!bufferEqual(buffer, packetBuff)) { console.log('client<-server: Error in packet ' + meta.state + '.' + meta.name) console.log('received buffer', buffer.toString('hex')) @@ -146,7 +146,7 @@ srv.on('login', function (client) { client.on('raw', function (buffer, meta) { if (meta.state !== states.PLAY || targetClient.state !== states.PLAY) { return } const packetData = client.deserializer.parsePacketBuffer(buffer).data.params - const packetBuff = targetClient.serializer.createPacketBuffer({name: meta.name, params: packetData}) + const packetBuff = targetClient.serializer.createPacketBuffer({ name: meta.name, params: packetData }) if (!bufferEqual(buffer, packetBuff)) { console.log('client->server: Error in packet ' + meta.state + '.' + meta.name) console.log('received buffer', buffer.toString('hex')) diff --git a/examples/server_helloworld/server_helloworld.js b/examples/server_helloworld/server_helloworld.js index 360fbf1..41b275a 100644 --- a/examples/server_helloworld/server_helloworld.js +++ b/examples/server_helloworld/server_helloworld.js @@ -45,7 +45,7 @@ server.on('login', function (client) { 'Hello, world!' ] } - client.write('chat', {message: JSON.stringify(msg), position: 0}) + client.write('chat', { message: JSON.stringify(msg), position: 0 }) }) server.on('error', function (error) { diff --git a/src/client.js b/src/client.js index ef36b2f..c08d7c5 100644 --- a/src/client.js +++ b/src/client.js @@ -35,13 +35,13 @@ class Client extends EventEmitter { } setSerializer (state) { - this.serializer = createSerializer({isServer: this.isServer, version: this.version, state: state, customPackets: this.customPackets}) - this.deserializer = createDeserializer({isServer: this.isServer, + this.serializer = createSerializer({ isServer: this.isServer, version: this.version, state: state, customPackets: this.customPackets }) + this.deserializer = createDeserializer({ isServer: this.isServer, version: this.version, state: state, packetsToParse: this.packetsToParse, - customPackets: this.customPackets}) + customPackets: this.customPackets }) this.splitter.recognizeLegacyPing = state === states.HANDSHAKING @@ -208,7 +208,7 @@ class Client extends EventEmitter { // TCP/IP-specific (not generic Stream) method for backwards-compatibility connect (port, host) { - const options = {port, host} + const options = { port, host } if (!this.options) this.options = options require('./client/tcp_dns')(this, options) options.connect(this) diff --git a/src/client/encrypt.js b/src/client/encrypt.js index 322dfc0..898ec0a 100644 --- a/src/client/encrypt.js +++ b/src/client/encrypt.js @@ -42,8 +42,8 @@ module.exports = function (client, options) { function sendEncryptionKeyResponse () { const pubKey = mcPubKeyToPem(packet.publicKey) - const encryptedSharedSecretBuffer = crypto.publicEncrypt({key: pubKey, padding: crypto.constants.RSA_PKCS1_PADDING}, sharedSecret) - const encryptedVerifyTokenBuffer = crypto.publicEncrypt({key: pubKey, padding: crypto.constants.RSA_PKCS1_PADDING}, packet.verifyToken) + const encryptedSharedSecretBuffer = crypto.publicEncrypt({ key: pubKey, padding: crypto.constants.RSA_PKCS1_PADDING }, sharedSecret) + const encryptedVerifyTokenBuffer = crypto.publicEncrypt({ key: pubKey, padding: crypto.constants.RSA_PKCS1_PADDING }, packet.verifyToken) client.write('encryption_begin', { sharedSecret: encryptedSharedSecretBuffer, verifyToken: encryptedVerifyTokenBuffer diff --git a/src/createServer.js b/src/createServer.js index 2efbb20..8de0b0b 100644 --- a/src/createServer.js +++ b/src/createServer.js @@ -36,7 +36,7 @@ function createServer (options = {}) { server.playerCount = 0 server.onlineModeExceptions = {} server.favicon = favicon - server.serverKey = new NodeRSA({b: 1024}) + server.serverKey = new NodeRSA({ b: 1024 }) server.on('connection', function (client) { plugins.forEach(plugin => plugin(client, server, options)) diff --git a/src/datatypes/minecraft.js b/src/datatypes/minecraft.js index 9055198..521c486 100644 --- a/src/datatypes/minecraft.js +++ b/src/datatypes/minecraft.js @@ -42,7 +42,7 @@ function sizeOfNbt (value) { function readOptionalNbt (buffer, offset) { if (offset + 1 > buffer.length) { throw new PartialReadError() } - if (buffer.readInt8(offset) === 0) return {size: 1} + if (buffer.readInt8(offset) === 0) return { size: 1 } return nbt.proto.read(buffer, offset, 'nbt') } @@ -63,7 +63,7 @@ function sizeOfOptionalNbt (value) { function readCompressedNbt (buffer, offset) { if (offset + 2 > buffer.length) { throw new PartialReadError() } const length = buffer.readInt16BE(offset) - if (length === -1) return {size: 2} + if (length === -1) return { size: 2 } if (offset + 2 + length > buffer.length) { throw new PartialReadError() } const compressedNbt = buffer.slice(offset + 2, offset + 2 + length) @@ -120,7 +120,7 @@ function sizeOfRestBuffer (value) { return value.length } -function readEntityMetadata (buffer, offset, {type, endVal}) { +function readEntityMetadata (buffer, offset, { type, endVal }) { let cursor = offset const metadata = [] let item @@ -139,7 +139,7 @@ function readEntityMetadata (buffer, offset, {type, endVal}) { } } -function writeEntityMetadata (value, buffer, offset, {type, endVal}) { +function writeEntityMetadata (value, buffer, offset, { type, endVal }) { const self = this value.forEach(function (item) { offset = self.write(item, buffer, offset, type, {}) @@ -148,7 +148,7 @@ function writeEntityMetadata (value, buffer, offset, {type, endVal}) { return offset + 1 } -function sizeOfEntityMetadata (value, {type}) { +function sizeOfEntityMetadata (value, { type }) { let size = 1 for (let i = 0; i < value.length; ++i) { size += this.sizeOf(value[i], type, {}) diff --git a/src/ping.js b/src/ping.js index 4b957f6..cc10d04 100644 --- a/src/ping.js +++ b/src/ping.js @@ -28,7 +28,7 @@ function ping (options, cb) { cb(null, data) client.end() }) - client.write('ping', {time: [0, 0]}) + client.write('ping', { time: [0, 0] }) }) client.on('state', function (newState) { diff --git a/src/server.js b/src/server.js index 1fd7b16..598c587 100644 --- a/src/server.js +++ b/src/server.js @@ -27,9 +27,9 @@ class Server extends EventEmitter { client.end = function end (endReason) { endReason = '{"text":"' + endReason + '"}' if (client.state === states.PLAY) { - client.write('kick_disconnect', {reason: endReason}) + client.write('kick_disconnect', { reason: endReason }) } else if (client.state === states.LOGIN) { - client.write('disconnect', {reason: endReason}) + client.write('disconnect', { reason: endReason }) } client._end(endReason) } diff --git a/src/server/handshake.js b/src/server/handshake.js index d4357a4..f18396b 100644 --- a/src/server/handshake.js +++ b/src/server/handshake.js @@ -1,6 +1,6 @@ const states = require('../states') -module.exports = function (client, server, {version}) { +module.exports = function (client, server, { version }) { client.once('set_protocol', onHandshake) function onHandshake (packet) { diff --git a/src/server/login.js b/src/server/login.js index 1c661d5..1a06ad5 100644 --- a/src/server/login.js +++ b/src/server/login.js @@ -56,12 +56,12 @@ module.exports = function (client, server, options) { function onEncryptionKeyResponse (packet) { let sharedSecret try { - const verifyToken = crypto.privateDecrypt({key: server.serverKey.exportKey(), padding: crypto.constants.RSA_PKCS1_PADDING}, packet.verifyToken) + const verifyToken = crypto.privateDecrypt({ key: server.serverKey.exportKey(), padding: crypto.constants.RSA_PKCS1_PADDING }, packet.verifyToken) if (!bufferEqual(client.verifyToken, verifyToken)) { client.end('DidNotEncryptVerifyTokenProperly') return } - sharedSecret = crypto.privateDecrypt({key: server.serverKey.exportKey(), padding: crypto.constants.RSA_PKCS1_PADDING}, packet.sharedSecret) + sharedSecret = crypto.privateDecrypt({ key: server.serverKey.exportKey(), padding: crypto.constants.RSA_PKCS1_PADDING }, packet.sharedSecret) } catch (e) { client.end('DidNotEncryptVerifyTokenProperly') return @@ -111,7 +111,7 @@ module.exports = function (client, server, options) { client.write('compress', { threshold: 256 }) // Default threshold is 256 client.compressionThreshold = 256 } - client.write('success', {uuid: client.uuid, username: client.username}) + client.write('success', { uuid: client.uuid, username: client.username }) client.state = states.PLAY clearTimeout(loginKickTimer) diff --git a/src/server/ping.js b/src/server/ping.js index fbd37b4..09165f2 100644 --- a/src/server/ping.js +++ b/src/server/ping.js @@ -1,6 +1,6 @@ const endianToggle = require('endian-toggle') -module.exports = function (client, server, {beforePing = null}) { +module.exports = function (client, server, { beforePing = null }) { client.once('ping_start', onPing) client.once('legacy_server_list_ping', onLegacyPing) @@ -15,13 +15,13 @@ module.exports = function (client, server, {beforePing = null}) { 'online': server.playerCount, 'sample': [] }, - 'description': {'text': server.motd}, + 'description': { 'text': server.motd }, 'favicon': server.favicon } function answerToPing (err, response) { if (err) return - client.write('server_info', {response: JSON.stringify(response)}) + client.write('server_info', { response: JSON.stringify(response) }) } if (beforePing) { @@ -35,7 +35,7 @@ module.exports = function (client, server, {beforePing = null}) { } client.once('ping', function (packet) { - client.write('ping', {time: packet.time}) + client.write('ping', { time: packet.time }) client.end() }) } diff --git a/src/transforms/framing.js b/src/transforms/framing.js index 049e330..6a76d40 100644 --- a/src/transforms/framing.js +++ b/src/transforms/framing.js @@ -48,7 +48,7 @@ class Splitter extends Transform { let value, size let stop = false try { - ({value, size} = readVarInt(this.buffer, offset)) + ({ value, size } = readVarInt(this.buffer, offset)) } catch (e) { if (!(e.partialReadError)) { throw e @@ -59,7 +59,7 @@ class Splitter extends Transform { try { this.push(this.buffer.slice(offset + size, offset + size + value)) offset += size + value; - ({value, size} = readVarInt(this.buffer, offset)) + ({ value, size } = readVarInt(this.buffer, offset)) } catch (e) { if (e.partialReadError) { break diff --git a/src/transforms/serializer.js b/src/transforms/serializer.js index 7af0926..de5f2d4 100644 --- a/src/transforms/serializer.js +++ b/src/transforms/serializer.js @@ -22,11 +22,11 @@ function createProtocol (state, direction, version, customPackets) { return proto } -function createSerializer ({state = states.HANDSHAKING, isServer = false, version, customPackets} = {}) { +function createSerializer ({ state = states.HANDSHAKING, isServer = false, version, customPackets } = {}) { return new Serializer(createProtocol(state, !isServer ? 'toServer' : 'toClient', version, customPackets), 'packet') } -function createDeserializer ({state = states.HANDSHAKING, isServer = false, version, customPackets} = {}) { +function createDeserializer ({ state = states.HANDSHAKING, isServer = false, version, customPackets } = {}) { return new Parser(createProtocol(state, isServer ? 'toServer' : 'toClient', version, customPackets), 'packet') } diff --git a/test/benchmark.js b/test/benchmark.js index 3319d36..7b24c3c 100644 --- a/test/benchmark.js +++ b/test/benchmark.js @@ -6,14 +6,14 @@ const mc = require('../') const states = mc.states const testDataWrite = [ - {name: 'keep_alive', params: {keepAliveId: 957759560}}, - {name: 'chat', params: {message: ' Hello World!'}}, - {name: 'position_look', params: {x: 6.5, y: 65.62, stance: 67.24, z: 7.5, yaw: 0, pitch: 0, onGround: true}} + { name: 'keep_alive', params: { keepAliveId: 957759560 } }, + { name: 'chat', params: { message: ' Hello World!' } }, + { name: 'position_look', params: { x: 6.5, y: 65.62, stance: 67.24, z: 7.5, yaw: 0, pitch: 0, onGround: true } } // TODO: add more packets for better quality data ] -const {firstVersion, lastVersion} = require('./common/parallel') -console.log({firstVersion, lastVersion}) +const { firstVersion, lastVersion } = require('./common/parallel') +console.log({ firstVersion, lastVersion }) mc.supportedVersions.forEach(function (supportedVersion, i) { if (!(i >= firstVersion && i <= lastVersion)) { return } @@ -24,7 +24,7 @@ mc.supportedVersions.forEach(function (supportedVersion, i) { this.timeout(60 * 1000) const inputData = [] it('bench serializing', function (done) { - const serializer = mc.createSerializer({state: states.PLAY, isServer: false, version: version.minecraftVersion}) + const serializer = mc.createSerializer({ state: states.PLAY, isServer: false, version: version.minecraftVersion }) let start, i, j console.log('Beginning write test') start = Date.now() @@ -39,7 +39,7 @@ mc.supportedVersions.forEach(function (supportedVersion, i) { }) it('bench parsing', function (done) { - const deserializer = mc.createDeserializer({state: states.PLAY, isServer: true, version: version.minecraftVersion}) + const deserializer = mc.createDeserializer({ state: states.PLAY, isServer: true, version: version.minecraftVersion }) console.log('Beginning read test') const start = Date.now() for (let j = 0; j < inputData.length; j++) { diff --git a/test/clientTest.js b/test/clientTest.js index 1174741..9a7dfea 100644 --- a/test/clientTest.js +++ b/test/clientTest.js @@ -9,7 +9,7 @@ const MC_SERVER_PATH = path.join(__dirname, 'server') const Wrap = require('minecraft-wrap').Wrap -const {firstVersion, lastVersion} = require('./common/parallel') +const { firstVersion, lastVersion } = require('./common/parallel') const download = require('minecraft-wrap').download diff --git a/test/common/parallel.js b/test/common/parallel.js index 940cfdc..690d6bd 100644 --- a/test/common/parallel.js +++ b/test/common/parallel.js @@ -10,11 +10,11 @@ const mc = require('../../') // (3,4,10) -> (9,9) function testedRange (nodeIndex, nodeTotal, numberOfVersions) { const nbFirsts = Math.ceil(numberOfVersions / nodeTotal) - if (nodeIndex === (nodeTotal - 1)) { return {firstVersion: nbFirsts * nodeIndex, lastVersion: numberOfVersions - 1} } + if (nodeIndex === (nodeTotal - 1)) { return { firstVersion: nbFirsts * nodeIndex, lastVersion: numberOfVersions - 1 } } - return {firstVersion: nodeIndex * nbFirsts, lastVersion: (nodeIndex + 1) * nbFirsts - 1} + return { firstVersion: nodeIndex * nbFirsts, lastVersion: (nodeIndex + 1) * nbFirsts - 1 } } -console.log({nodeIndex, nodeTotal, versions: mc.supportedVersions.length}) -const {firstVersion, lastVersion} = parallel ? testedRange(nodeIndex, nodeTotal, mc.supportedVersions.length) : {firstVersion: 0, lastVersion: mc.supportedVersions.length - 1} +console.log({ nodeIndex, nodeTotal, versions: mc.supportedVersions.length }) +const { firstVersion, lastVersion } = parallel ? testedRange(nodeIndex, nodeTotal, mc.supportedVersions.length) : { firstVersion: 0, lastVersion: mc.supportedVersions.length - 1 } -module.exports = {firstVersion, lastVersion} +module.exports = { firstVersion, lastVersion } diff --git a/test/packetTest.js b/test/packetTest.js index 4610c37..cdc2e13 100644 --- a/test/packetTest.js +++ b/test/packetTest.js @@ -21,13 +21,13 @@ const slotValue = { type: 'compound', name: 'test', value: { - test1: {type: 'int', value: 4}, - test2: {type: 'long', value: [12, 42]}, - test3: {type: 'byteArray', value: [32]}, - test4: {type: 'string', value: 'ohi'}, - test5: {type: 'list', value: {type: 'int', value: [4]}}, - test6: {type: 'compound', value: {test: {type: 'int', value: 4}}}, - test7: {type: 'intArray', value: [12, 42]} + test1: { type: 'int', value: 4 }, + test2: { type: 'long', value: [12, 42] }, + test3: { type: 'byteArray', value: [32] }, + test4: { type: 'string', value: 'ohi' }, + test5: { type: 'list', value: { type: 'int', value: [4] } }, + test6: { type: 'compound', value: { test: { type: 'int', value: 4 } } }, + test7: { type: 'intArray', value: [12, 42] } } } } @@ -85,45 +85,45 @@ const values = { type: 'compound', name: 'test', value: { - test1: {type: 'int', value: 4}, - test2: {type: 'long', value: [12, 42]}, - test3: {type: 'byteArray', value: [32]}, - test4: {type: 'string', value: 'ohi'}, - test5: {type: 'list', value: {type: 'int', value: [4]}}, - test6: {type: 'compound', value: {test: {type: 'int', value: 4}}}, - test7: {type: 'intArray', value: [12, 42]} + test1: { type: 'int', value: 4 }, + test2: { type: 'long', value: [12, 42] }, + test3: { type: 'byteArray', value: [32] }, + test4: { type: 'string', value: 'ohi' }, + test5: { type: 'list', value: { type: 'int', value: [4] } }, + test6: { type: 'compound', value: { test: { type: 'int', value: 4 } } }, + test7: { type: 'intArray', value: [12, 42] } } }, 'optionalNbt': { type: 'compound', name: 'test', value: { - test1: {type: 'int', value: 4}, - test2: {type: 'long', value: [12, 42]}, - test3: {type: 'byteArray', value: [32]}, - test4: {type: 'string', value: 'ohi'}, - test5: {type: 'list', value: {type: 'int', value: [4]}}, - test6: {type: 'compound', value: {test: {type: 'int', value: 4}}}, - test7: {type: 'intArray', value: [12, 42]} + test1: { type: 'int', value: 4 }, + test2: { type: 'long', value: [12, 42] }, + test3: { type: 'byteArray', value: [32] }, + test4: { type: 'string', value: 'ohi' }, + test5: { type: 'list', value: { type: 'int', value: [4] } }, + test6: { type: 'compound', value: { test: { type: 'int', value: 4 } } }, + test7: { type: 'intArray', value: [12, 42] } } }, 'compressedNbt': { type: 'compound', name: 'test', value: { - test1: {type: 'int', value: 4}, - test2: {type: 'long', value: [12, 42]}, - test3: {type: 'byteArray', value: [32]}, - test4: {type: 'string', value: 'ohi'}, - test5: {type: 'list', value: {type: 'int', value: [4]}}, - test6: {type: 'compound', value: {test: {type: 'int', value: 4}}}, - test7: {type: 'intArray', value: [12, 42]} + test1: { type: 'int', value: 4 }, + test2: { type: 'long', value: [12, 42] }, + test3: { type: 'byteArray', value: [32] }, + test4: { type: 'string', value: 'ohi' }, + test5: { type: 'list', value: { type: 'int', value: [4] } }, + test6: { type: 'compound', value: { test: { type: 'int', value: 4 } } }, + test7: { type: 'intArray', value: [12, 42] } } }, 'i64': [0, 1], 'u64': [0, 1], 'entityMetadata': [ - {key: 17, value: 0, type: 0} + { key: 17, value: 0, type: 0 } ], 'objectData': { intField: 9, @@ -132,10 +132,10 @@ const values = { velocityZ: 3 }, 'UUID': '00112233-4455-6677-8899-aabbccddeeff', - 'position': {x: 12, y: 100, z: 4382821}, - 'position_ibi': {x: 12, y: 100, z: 4382821}, - 'position_isi': {x: 12, y: 100, z: 4382821}, - 'position_iii': {x: 12, y: 100, z: 4382821}, + 'position': { x: 12, y: 100, z: 4382821 }, + 'position_ibi': { x: 12, y: 100, z: 4382821 }, + 'position_isi': { x: 12, y: 100, z: 4382821 }, + 'position_iii': { x: 12, y: 100, z: 4382821 }, 'restBuffer': Buffer.alloc(0), 'switch': function (typeArgs, context) { const i = typeArgs.fields[getField(typeArgs.compareTo, context)] @@ -158,7 +158,7 @@ const values = { }) return results }, - 'tags': [{'tagName': 'hi', 'entries': [1, 2, 3, 4, 5]}], + 'tags': [{ 'tagName': 'hi', 'entries': [1, 2, 3, 4, 5] }], 'ingredient': [slotValue], 'particleData': null } @@ -174,7 +174,7 @@ function getValue (_type, packet) { } } -const {firstVersion, lastVersion} = require('./common/parallel') +const { firstVersion, lastVersion } = require('./common/parallel') mc.supportedVersions.forEach(function (supportedVersion, i) { if (!(i >= firstVersion && i <= lastVersion)) { return } diff --git a/test/serverTest.js b/test/serverTest.js index ad1c484..c8fe0af 100644 --- a/test/serverTest.js +++ b/test/serverTest.js @@ -3,7 +3,7 @@ const mc = require('../') const assert = require('power-assert') -const {firstVersion, lastVersion} = require('./common/parallel') +const { firstVersion, lastVersion } = require('./common/parallel') mc.supportedVersions.forEach(function (supportedVersion, i) { if (!(i >= firstVersion && i <= lastVersion)) { return } @@ -124,7 +124,7 @@ mc.supportedVersions.forEach(function (supportedVersion, i) { online: 0, sample: [] }, - description: {text: 'test1234'} + description: { text: 'test1234' } }) server.close() }) @@ -192,9 +192,9 @@ mc.supportedVersions.forEach(function (supportedVersion, i) { player2.end() } - player1.write('chat', {message: 'hello'}) + player1.write('chat', { message: 'hello' }) }) - player2.write('chat', {message: 'hi'}) + player2.write('chat', { message: 'hi' }) }) const player2 = mc.createClient({ username: 'player2', @@ -211,7 +211,7 @@ mc.supportedVersions.forEach(function (supportedVersion, i) { if (!server.clients.hasOwnProperty(clientId)) continue client = server.clients[clientId] - if (client !== exclude) client.write('chat', {message: JSON.stringify({text: message}), position: 0}) + if (client !== exclude) client.write('chat', { message: JSON.stringify({ text: message }), position: 0 }) } } })