Как отправить пакеты входа на сервер Minecraft 1.4.7? - PullRequest
1 голос
/ 01 мая 2019

Я хочу создать бота для своего сервера.Проблема в том, что я не могу правильно понять пакеты входа.Моя версия Python 3.7.

Вот код:

import socket, struct, json
username = "Ado1928"
key = "Open Sesame"

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("localhost", 25565))

packet = ""

id = struct.pack("B", 1)
protocol = struct.pack("B", 7)
username = ("%-64s" % username).encode()
key = ("%-64s" % key).encode()
null_byte = struct.pack("B", 0)
s.sendall(id+protocol+username+key+null_byte)

s.close()

На консоли сервера отображается [INFO] /127.0.0.1:54472 lost connection и ничего больше.Если я изменю id = struct.pack("B", 1) на id = struct.pack("B", 0), то будет написано [INFO] Disconnecting /127.0.0.1:54485: Protocol error

1 Ответ

0 голосов
/ 02 мая 2019

Нашел статью, в которой перечислены все номера версий протокола, если кому-то еще интересно: wiki.vg/Protocol_version_numbers

...