我有一个脚本,连接到矿井工艺服务器,接收数据包,并发送数据包。Python解析Minecraft包
因此,我发送一个'登录'数据包,并收到'登录'数据包。不幸的是,接收到的登录数据包是编码的(关于编码的信息在这里:http://wiki.vg/Protocol#0x01)。
接收到的登录数据包存储在名为received_login_packet
的变量中。我需要解码它,以便我可以获得单独的数据位,例如数据包类型,尺寸等等。去做这件事。
下面是一些代码,如果有帮助:
#encoding the packet to send
encuserlen = str(len(enc_user)) # enc_user is just my username
packfmt = '>bih%sshiibBB' % encuserlen
packetbytes = struct.pack(packfmt, 1, 28, len(data['user']), enc_user, 0, 0, 0, 0, 0, 0)
s.send(packetbytes)
time.sleep(2)
#login packet sent, waited for response
response = s.recv(1024) #this is the raw login response.
#it's encoded as detailed above. i want to decode it
任何帮助,将不胜感激,并请不要犹豫地说,如果它不够清晰。
这还不够清楚。请包括代码示例。 – Will 2012-03-07 14:22:18
还好吗?我添加了一些代码,虽然没有太多需要。大部分所需的信息都在wiki页面中。 – Jack 2012-03-07 14:59:23