Skip to content
This repository was archived by the owner on Nov 13, 2024. It is now read-only.

Commit b2a1520

Browse files
committed
Feat: 完善基岩版协议请求
1 parent 36a3458 commit b2a1520

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

src/entity/minecraft/mc_getplayer_bedrock.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ import InstanceCommand from "../commands/base/command";
2727
// Get Minecraft Bedrock server MOTD information
2828
// Author: https://github.com/Mcayear
2929
async function request(ip: string, port: number) {
30-
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");
30+
const message = Buffer.from(
31+
"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, ""),
32+
"hex"
33+
);
3134
const client = dgram.createSocket("udp4");
3235
var Config = {
3336
ip,
@@ -36,16 +39,23 @@ async function request(ip: string, port: number) {
3639
return new Promise((r, j) => {
3740
client.on("error", (err: any) => {
3841
j(err);
42+
client.close();
3943
});
4044
client.on("message", (data: any) => {
4145
const result = data.toString().split(";");
4246
r(result);
4347
client.close();
4448
});
4549
client.send(message, Config.port, Config.ip, (err: any) => {
46-
if (err) j(err);
50+
if (err) {
51+
j(err);
52+
client.close();
53+
}
4754
});
48-
setTimeout(() => j("request timeout"), 5000);
55+
setTimeout(() => {
56+
j("request timeout");
57+
client.close();
58+
}, 5000);
4959
});
5060
}
5161

0 commit comments

Comments
 (0)