From b2a1520e319441c8b61b5a201d02e80dd0dad769 Mon Sep 17 00:00:00 2001 From: Suwings Date: Sun, 17 Jul 2022 16:01:09 +0800 Subject: [PATCH] =?UTF-8?q?Feat:=20=E5=AE=8C=E5=96=84=E5=9F=BA=E5=B2=A9?= =?UTF-8?q?=E7=89=88=E5=8D=8F=E8=AE=AE=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entity/minecraft/mc_getplayer_bedrock.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/entity/minecraft/mc_getplayer_bedrock.ts b/src/entity/minecraft/mc_getplayer_bedrock.ts index a838e3b..cdefeee 100644 --- a/src/entity/minecraft/mc_getplayer_bedrock.ts +++ b/src/entity/minecraft/mc_getplayer_bedrock.ts @@ -27,7 +27,10 @@ import InstanceCommand from "../commands/base/command"; // Get Minecraft Bedrock server MOTD information // Author: https://github.com/Mcayear async function request(ip: string, port: number) { - const message = Buffer.from("01 00 00 00 00 00 06 18 20 00 FF FF 00 FE FE FE FE FD FD FD FD 12 34 56 78 A3 61 1C F8 BA 8F D5 60".replace(/ /g, ""), "hex"); + const message = Buffer.from( + "01 00 00 00 00 00 06 18 20 00 FF FF 00 FE FE FE FE FD FD FD FD 12 34 56 78 A3 61 1C F8 BA 8F D5 60".replace(/ /g, ""), + "hex" + ); const client = dgram.createSocket("udp4"); var Config = { ip, @@ -36,6 +39,7 @@ async function request(ip: string, port: number) { return new Promise((r, j) => { client.on("error", (err: any) => { j(err); + client.close(); }); client.on("message", (data: any) => { const result = data.toString().split(";"); @@ -43,9 +47,15 @@ async function request(ip: string, port: number) { client.close(); }); client.send(message, Config.port, Config.ip, (err: any) => { - if (err) j(err); + if (err) { + j(err); + client.close(); + } }); - setTimeout(() => j("request timeout"), 5000); + setTimeout(() => { + j("request timeout"); + client.close(); + }, 5000); }); }