mc protocol
python
Python
b'\xfe\xfd\t\x00\x00\x00\x00\x00\x00\x00\x00\x0b' # bytearray
# 0xFEFD 9 00000000 00000000 11
# prefix | chalengeType | 0 | challenge | len
def write_varint(self, value):
remaining = value
ret = bytearray()
for i in range(5):
if remaining & ~0x7F == 0:
ret.extend(struct.pack("!B", remaining))
return ret
ret.extend(struct.pack("!B", remaining & 0x7F | 0x80))
remaining >>= 7
raise ValueError("The value %d is too big to send in a varint" % value)