diff --git a/handlers/mainHandler.py b/handlers/mainHandler.py index 3491eca..90c3cfa 100644 --- a/handlers/mainHandler.py +++ b/handlers/mainHandler.py @@ -10,7 +10,7 @@ flights = {} clients = set() STRUCTS = { - "start": b"fHB24s", + "start": b"fHB%ds", "end": b"", "flight_data": b"2BHhH3f", "server_open": b"", @@ -152,12 +152,15 @@ class Flight: self.model_id, self.playername_len, self.playername - ) = struct.unpack(b"<" + STRUCTS["start"], data[:31]) + ) = struct.unpack(b"<" + STRUCTS["start"] % 24, data[:31]) self.active = True self.last_timeline_values = [None] * 8 self.timeline = b"" + # Fix playername padding + self.playername = self.playername[:self.playername_len] + logging.info("[%d] Flight started" % self.uuid) asyncio.ensure_future( broadcast_flight_change(self.uuid, self.active) )