def register_user_self(websocket, path): userNum = Server.fetch_room_data(path).addUser() Server.fetch_player_data(websocket, path).slot = userNum player_list = Server.fetch_player_list(path) players = [[player_list[player].slot, player_list[player].username] for player in player_list] return {"method": "joininfo", "slot": userNum, "players": players}
def register_user_others(websocket, path, message): Server.fetch_player_data(websocket, path).username = message["data"]["username"] print("Joined") loginuser(message["data"]["username"], path, websocket.__hash__()) return { "method": "newuser", "slot": Server.fetch_player_data(websocket, path).slot, "username": message["data"]["username"] }
def action(websocket, path, message): data = message['data'] return { "method": "action", "slot": Server.fetch_player_data(websocket, path).slot, "data": data }
def generateRoom(self): path = "0000000" #we know this is an error if this happens while True: num = random.randrange(268435456, 4294967295) path = str(hex(num))[2:] if not Server.checkRoom(path): break return path
def do_POST(self): content_len = int(self.headers.get('content-length', 0)) message = '' try: post_json = json.loads(self.rfile.read(content_len)) check = Server.checkRoom(post_json["room"]) message = json.dumps({"exists": check}) self.send_response(200) self.send_header('Content-type', 'application/json') self.send_header('Content-length', len(message)) except Exception as e: print(e, file=sys.stderr) self.send_response(400) finally: self.end_headers() self.wfile.write(bytes(message, "utf8"))
def unregister_user(websocket, path): logoutuser(Server.fetch_player_data(websocket, path).username) num, name = Server.fetch_player_data(websocket, path).slot, Server.fetch_player_data( websocket, path).username Server.fetch_room_data(path).states[num] = None Server.fetch_room_data(path).removeUser(num) return {"method": "deaduser", "deaduser": [num, name]}
def decrement(websocket, path, message): Server.fetch_room_data(path).count -= 1 return {"method": "decrement", "count": Server.fetch_room_data(path).count}
def start(): Server.start("0.0.0.0", 8080)
def pos_update(websocket, path, message): data = message["data"] slot = Server.fetch_player_data(websocket, path).slot Server.fetch_room_data(path).states[slot] = data return Server.fetch_room_data(path).states