マイン クラフト サーバーに接続し、パケットを受信し、パケットを送信するスクリプトがあります。
したがって、「ログイン」パケットを送信し、「ログイン」パケットを受信します。残念ながら、受信したログイン パケットはエンコードされています (エンコードに関する情報はこちら: 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
十分に明確でない場合は、遠慮なく言ってください。