diff --git a/handlers/mainHandler.py b/handlers/mainHandler.py index 9be6f70..3491eca 100644 --- a/handlers/mainHandler.py +++ b/handlers/mainHandler.py @@ -10,9 +10,9 @@ flights = {} clients = set() STRUCTS = { - "start": b"IB24s", + "start": b"fHB24s", "end": b"", - "flight_data": b"?BHhHff", + "flight_data": b"2BHhH3f", "server_open": b"", "server_close": b"" } @@ -145,25 +145,35 @@ async def handle(ws, path): logging.info(" Disconnected." % (*ws.remote_address, path)) class Flight: - def __init__(self, data): - (self.uuid, self.playername_len, self.playername) = struct.unpack(b"<" + STRUCTS["start"], data[:29]) + def __init__(self, uuid, data): + self.uuid = uuid + ( + self.max_fuel, + self.model_id, + self.playername_len, + self.playername + ) = struct.unpack(b"<" + STRUCTS["start"], data[:31]) self.active = True - self.last_timeline_values = [None] * 7 + self.last_timeline_values = [None] * 8 self.timeline = b"" logging.info("[%d] Flight started" % self.uuid) asyncio.ensure_future( broadcast_flight_change(self.uuid, self.active) ) + def get_head(self): + return struct.pack(b"