From 96225f9915aa387e96c6d6effb4f253b21112730 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D0=B0=D1=88=D0=B5=20=D0=98=D0=BC=D1=8F?= Date: Wed, 22 Feb 2023 21:58:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hlna.py | 61 ++++++++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 29 deletions(-) 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("В разработке...")