diff --git a/package-lock.json b/package-lock.json index b21d273..b3f8a5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { "name": "steam-server-query", - "version": "1.1.0", + "version": "1.1.1", "lockfileVersion": 2, "requires": true, "packages": { "": { - "version": "1.1.0", + "version": "1.1.1", "license": "MIT", "devDependencies": { "@types/node": "^17.0.5", diff --git a/package.json b/package.json index d478a19..2c21986 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "steam-server-query", - "version": "1.1.0", + "version": "1.1.1", "description": "Module which implements the Master Server Query Protocol and Game Server Queries.", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/src/gameServer/gameServer.ts b/src/gameServer/gameServer.ts index 259cb40..5b991b2 100644 --- a/src/gameServer/gameServer.ts +++ b/src/gameServer/gameServer.ts @@ -84,6 +84,8 @@ class GameServerQuery { } } + this._promiseSocket.closeSocket(); + const parsedInfoBuffer = this._parseInfoBuffer(resultBuffer); return parsedInfoBuffer as InfoResponse; } @@ -105,6 +107,8 @@ class GameServerQuery { throw new Error(err); } + this._promiseSocket.closeSocket(); + const parsedPlayerBuffer = this._parsePlayerBuffer(resultBuffer); return parsedPlayerBuffer; } @@ -126,6 +130,8 @@ class GameServerQuery { throw new Error(err); } + this._promiseSocket.closeSocket(); + const parsedRulesBuffer = this._parseRulesBuffer(resultBuffer); return parsedRulesBuffer; } diff --git a/src/masterServer/masterServer.ts b/src/masterServer/masterServer.ts index 0718613..feaaec5 100644 --- a/src/masterServer/masterServer.ts +++ b/src/masterServer/masterServer.ts @@ -57,6 +57,8 @@ class MasterServerQuery { } } while (this._seedId !== ZERO_IP); + this._promiseSocket.closeSocket(); + // remove ZERO_IP from end of host list this._hosts.pop(); return this._hosts; diff --git a/src/promiseSocket.ts b/src/promiseSocket.ts index 129e9ff..14a8bf4 100644 --- a/src/promiseSocket.ts +++ b/src/promiseSocket.ts @@ -35,6 +35,10 @@ export class PromiseSocket { }); } + public closeSocket() { + this._socket.close(); + } + private _socketSend(buffer: Buffer, host: string, port: number, timeout: number): Promise { return new Promise((resolve, reject) => { this._socket.send(buffer, port, host, (err) => {