diff --git a/hlna.py b/hlna.py index 5e5b82f..e8cd514 100755 --- a/hlna.py +++ b/hlna.py @@ -29,12 +29,13 @@ def hlna(): def find_file(path): "Находим все конфиги в зависимости от пути" arr = next(os.walk(path), (None, None, []))[2] # [] if no file - x = list_config.count('.directory') - y = list_config.count('logs') + x = arr.count('.directory') + y = arr.count('logs') if x>0: arr.remove('.directory') if y>0: arr.remove('logs') + return arr list_config = find_file(config_hlna) @@ -85,8 +86,6 @@ def config(name_server=list_config): 1. Да 2. Нет : """) - if count_cluster == 0: # 0 возвращает функция chek_int, если ничего не было введено - count_cluster = 2 if count_cluster == 1: cluster_server = True @@ -103,7 +102,7 @@ def config(name_server=list_config): print(f"{i} : {con['map']}") count_maps = check_int("Укажите количество карт: \n") - if count_maps == 0: # 0 возрвращает check_int когда, ничего не было введено + if count_maps == 0: # 0 возвращает check_int когда, ничего не было введено count_maps = 1 for i in range(count_maps): @@ -125,9 +124,9 @@ def config(name_server=list_config): 11. Lost Island 12. Fjordur : """) - if amount_map == 0: # 0 возрвращает check_int когда, ничего не было введено + if amount_map == 0: # 0 возвращает check_int когда, ничего не было введено amount_map = i + 1 - if 0: \n") if query_port == 0: @@ -192,10 +190,10 @@ def config(name_server=list_config): if query_port is query_p: # если веденный порт есть в списке портов print("Этот порт уже занят") else: - break + password_server = input("Укажите пароль Сервера: \n") - max_players = check_int("Укажите максимальное количество игроков: \n") + max_players = check_int("Укажите максимальное количество игроков: \n") if max_players == 0: max_players = 70 @@ -322,38 +320,43 @@ def servers(map_server=list_config): @hlna.command(help='Для запуска, сконфигурированного сервера или кластера') @click.option('-m', default='all', help="Название карты для запуска или all для запуска все карт") def start(m, map_server=list_config): - if map_server!=[]: + if map_server != []: if m == "all": print("Запускаем все активные карты") else: m = m.split(",") m = check_name_map(m) map_server = m - + + for i in map_server: + data = read_yaml(i) + create_dir(data['ServerPath'] + i) + print_line("Качаем карту: " + i) + x = os.system( + f"steamcmd +force_install_dir {data['ServerPath'] + i} +login anonymous +app_update 376030 +quit") + print_line("Карта скачана: " + i) + + def start(i): + os.chdir(data['ServerPath'] + i + "/ShooterGame/Binaries/Linux/") + os.system( + f"./ShooterGameServer {i}?SessionName={data['SessionName']}?Port={data['Port']}?QueryPort={data['QueryPort']}?MaxPlayers={data[MaxPlayers]}?GameModIds={data[ModsId]}?listen={data[Listen]} -clusterid={data['clusterid']} -ClusterDirOverride={data[clusterdir]}") + + if x == 0: + threads = threading.Thread(target=start, args=(i,)) + threads.start() + else: + print(f"Карта {i} не установлена") + else: print("Ни одной карты не установлено") - for i in map_server: - data = read_yaml(i) - create_dir(data['ServerPath'] + i) - print_line("Качаем карту: " + i) - x = os.system(f"steamcmd +force_install_dir {data['ServerPath'] + i} +login anonymous +app_update 376030 +quit") - print_line("Карта скачана: " + i) - def start(i): - os.chdir(data['ServerPath'] + i + "/ShooterGame/Binaries/Linux/") - os.system(f"./ShooterGameServer {i}?SessionName={data['SessionName']}?Port={data['Port']}?QueryPort={data['QueryPort']}?MaxPlayers={data[MaxPlayers]}?GameModIds={data[ModsId]}?listen={data[Listen]} -clusterid={data['clusterid']} -ClusterDirOverride={data[clusterdir]}") - if x == 0: - threads = threading.Thread(target=start, args=(i,)) - threads.start() - else: - print(f"Карта {i} не установлена") -@hlna.command(help='Для запуска, сконфигурированного сервера или кластера') +@hlna.command(help='Для удаления серверов') @click.option('-m', required=True, help="Название карты для удаления") def delete(m): print("В разработке...")