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

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

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

实现代码:

Python
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

下一篇