本文最后更新于 768 天前,其中的信息可能已经有所发展或是发生改变。
某天看到部分群中的机器人支持 获取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)