使用 Python 获取 Minecraft Bedrock 服务器信息
本文最后更新于 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)

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

知识共享许可协议

本作品(《使用 Python 获取 Minecraft Bedrock 服务器信息》由 gggxbbb)采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。


转载请注明出处: https://evax.top/2021/02/10/get-mc-be-server-info-with-python.html

暂无评论

发送评论 编辑评论


				
上一篇
下一篇