私は、鉱山工芸サーバーに接続し、パケットを受信し、パケットを送信するスクリプトを持っています。Python Parse 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
もっと良いですか?私はいくつかのコードを追加しましたが、実際にはあまり必要はありません。必要な情報のほとんどはwikiページにあります。 – Jack