diff --git a/demo.py b/demo.py index 432e062..8176cb1 100755 --- a/demo.py +++ b/demo.py @@ -1,11 +1,10 @@ -#!/usr/bin/python +#!/usr/bin/python3 import mcquery import time +from pprint import pprint -print 'Ctrl-C to exit' - -host = raw_input('Host (localhost): ') -port = raw_input('Port (25565): ') +host = input('Host (localhost): ') +port = input('Port (25565): ') if host == '': host = 'localhost' @@ -16,10 +15,10 @@ -print "Connecting..." +print("Connecting...") q = mcquery.MCQuery(host, port) -print "Connected." +print("Connected.") while True: - print q.full_stat() + pprint(q.full_stat()) time.sleep(5) diff --git a/mcquery.py b/mcquery.py index 9fae0a7..e7e26d0 100755 --- a/mcquery.py +++ b/mcquery.py @@ -19,18 +19,18 @@ def __init__(self, host, port, **kargs): self.handshake() def write_packet(self, type, payload): - o = '\xFE\xFD' + struct.pack('>B', type) + struct.pack('>l', self.id) + payload + o = b'\xFE\xFD' + struct.pack('>B', type) + struct.pack('>l', self.id) + payload self.socket.sendto(o, self.addr) def read_packet(self): buff = self.socket.recvfrom(2048)[0] - type = struct.unpack('>B', buff[0])[0] + type = buff[0] id = struct.unpack('>l', buff[1:5])[0] return type, id, buff[5:] def handshake(self): self.id += 1 - self.write_packet(9, '') + self.write_packet(9, b'') try: type, id, buff = self.read_packet() except: @@ -57,7 +57,7 @@ def basic_stat(self): #buff = buff[4:] #Grab the first 5 string fields - data['motd'], data['gametype'], data['map'], data['numplayers'], data['maxplayers'], buff = buff.split('\x00', 5) + data['motd'], data['gametype'], data['map'], data['numplayers'], data['maxplayers'], buff = buff.split(b'\x00', 5) #Unpack a big-endian short for the port data['hostport'] = struct.unpack('