parsed_levels[1:]): raise ValueError("invalid levels file format") for i in range(1, len(parsed_levels)): level = parsed_levels[i] floors.append(JLevel.floorMaker(json.loads(level))) if args.start > len(floors) or args.start < 1: raise ValueError("invalid floor index") start_level_index = args.start - 1 init_gamestate = GameState(floors) init_gamemanager = GameManager(init_gamestate, server, parsed_levels) for player in server.list_of_players: init_gamemanager.register_player_user(player) if args.observe == 1: init_gamemanager.register_observer(Observer(-1)) init_gamemanager.set_starting_level(1) init_gamemanager.start_game() key_dict_1, exit_dict_2, eject_dict_3 = init_gamestate.get_stats() key_dict, exit_dict, eject_dict = ({ **key_dict, **key_dict_1 }, { **exit_dict, **exit_dict_2 }, { **eject_dict, **eject_dict_3 }) init_gamemanager.leaderboard_stats(key_dict, exit_dict, eject_dict) replay = server.ask_head_for_replay() server.close()