Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import varint, socket, sys, time, json
- from binascii import unhexlify as uh, hexlify as he
- host, port = "<Server address>", 25565
- uname = "<minecraft username>"
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- try:
- s.connect((host, port))
- except ConnectionRefusedError:
- print(f"{host}:{port} is OFFLINE")
- sys.exit(1)
- msg = b""
- msg += b"\x00" #Packet ID: Handshake
- msg += varint.encode(755) #Protocol version: 775(Minecraft version 1.17)
- msg += varint.encode(len(host)) #Hostname length prefix
- msg += host.encode() #Hostname
- msg += uh(hex(port).replace("0x", "")) #Port
- msg += varint.encode(2) #Next state: 2=Login
- msg = varint.encode(len(msg))+msg #Packet Length Prefix
- print(f"Handshake:\t{he(msg).decode()}")
- s.send(msg)
- time.sleep(2)
- msg = b"\x00"
- msg += hex(len(uname)).replace("0x", "").encode() #Username length prefix
- msg += uname.encode() #Username
- msg = varint.encode(len(msg))+msg #Packet Length Prefix
- s.send(msg)
- print(f"Login start:\t{he(msg).decode()}")
- msg = s.recv(1000)
- print(msg)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement