gggxbbb
事实比想象更离奇
EvaxTop

使用 Python 获取 Minecraft Bedrock 服务器信息

某天看到部分群中的机器人支持 获取MCBE服务器的基础信息,便想自行撸一个。

通过抓包发现这一过程通过 UDP 实现。

实现代码:

import sys
import socket

address = "" #服务器地址
port = 19132 #服务器端口

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

client.sendto(bytes([
    0x01,0x00,0x00,0x00,
    0x00,0x00,0x00,0x17,
    0x6B,0x00,0xFF,0xFF,
    0x00,0xFE,0xFE,0xFE,
    0xFE,0xFD,0xFD,0xFD,
    0xFD,0x12,0x34,0x56,
    0x78,0xAD,0xDE,0x22,
    0x23,0x9A,0xC7,0xBD,
    0x0F
    ]), (address, port))

rec =  client.recvfrom(1024)

client.close()

data = [v.decode('utf8') for v in rec[0].split(b";")[1:]]

print(data)

另外,感谢 @Xinyun 基此实现了查询MCBE服务器基础信息的API

gggxbbb

文章作者

发表评论

textsms
account_circle
email

EvaxTop

使用 Python 获取 Minecraft Bedrock 服务器信息
某天看到部分群中的机器人支持 获取MCBE服务器的基础信息,便想自行撸一个。 通过抓包发现这一过程通过 UDP 实现。 实现代码: import sys import socket address = "" #服…
扫描二维码继续阅读
2021-02-10