Поправил запуск всех активных карт для start all
This commit is contained in:
parent
c42183353d
commit
69822e2400
52
hlna.py
52
hlna.py
@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import time
|
||||
import threading
|
||||
|
||||
from pathlib import Path
|
||||
@ -185,7 +186,6 @@ def config(list_config=list_config):
|
||||
data = read_yaml(list_config[-1])
|
||||
|
||||
while True:
|
||||
print_line("Тут какая-то хуйня")
|
||||
name_server = input("Укажите название Сервера: \n")
|
||||
if name_server == "":
|
||||
if map_s in list_config:
|
||||
@ -259,13 +259,21 @@ def yaml_create(cluster_server, map_s, name_server, port_server, query_port, rco
|
||||
yaml.dump(settings_hlna, yamlfile)
|
||||
print(colorama.Fore.GREEN + "Конфиг создан" + colorama.Style.RESET_ALL)
|
||||
|
||||
|
||||
def test_mod_install():
|
||||
pathTest = f"{dir_server}ShooterGame/Saved/Config/LinuxServer/"
|
||||
os.chdir(pathTest)
|
||||
# "Добавить файл в Game.ini, если модов несколько добавляем еще строку ModIDS=<ModId> [ModInstaller] ModIDS=<ModID>" c этим не разобрался
|
||||
os.system("echo ActiveMods=2943454417 >> GameUserSettings.ini")
|
||||
if os.path.exists(pathTest):
|
||||
os.chdir(pathTest)
|
||||
# "Добавить файл в Game.ini, если модов несколько добавляем еще строку ModIDS=<ModId> [ModInstaller] ModIDS=<ModID>"
|
||||
# c этим не разобрался
|
||||
os.system("echo ActiveMods=2943454417 >> GameUserSettings.ini")
|
||||
else:
|
||||
print_line("Сервер не установлен")
|
||||
|
||||
|
||||
test_mod_install()
|
||||
|
||||
|
||||
@hlna.command()
|
||||
@click.option("-m", required=True, help="Название Сервера")
|
||||
@click.option("-e/-d", default=True, help="-e активировать карты, -d деактивировать")
|
||||
@ -365,12 +373,14 @@ def servers(map_server=list_config):
|
||||
@hlna.command(help='Для запуска, сконфигурированного сервера или кластера')
|
||||
@click.option('-m', default='all', help="Название карты для запуска или all для запуска все карт")
|
||||
@click.option('-b', default='', help="")
|
||||
def start(m,b, name_server=list_config):
|
||||
def start(m, b, name_server=list_config):
|
||||
dict_mapname = {}
|
||||
dict_allmapname = []
|
||||
for i in name_server:
|
||||
data = read_yaml(i)
|
||||
print_line(f"Название сервера: {i} | Карта: {data['map']} | Кластер: {data['clusterid']}")
|
||||
dict_mapname[data['SessionName']] = data['map']
|
||||
dict_allmapname.append(data['SessionName'])
|
||||
print_line(f"Словарь названия сервера и карты {dict_mapname}")
|
||||
names_serverstart = []
|
||||
for ns, v in dict_mapname.items():
|
||||
@ -379,11 +389,12 @@ def start(m,b, name_server=list_config):
|
||||
names_serverstart.append(ns)
|
||||
print_line(f"Карта которая запускается {ns}")
|
||||
if name_server != []:
|
||||
if m == "all":
|
||||
print("Запускаем все активные карты")
|
||||
|
||||
if b == '':
|
||||
names_serverstart = choose_map(names_serverstart)
|
||||
if m == "all":
|
||||
names_serverstart = dict_allmapname
|
||||
print(f"Запускаем все активные карты {names_serverstart}")
|
||||
else:
|
||||
names_serverstart = choose_map(names_serverstart)
|
||||
|
||||
server_dir = dir_server + "ShooterGame/Binaries/Linux/"
|
||||
print_line("Валидация файлов сервера")
|
||||
@ -399,7 +410,11 @@ def start(m,b, name_server=list_config):
|
||||
ntff = "-NoTransferFromFiltering"
|
||||
|
||||
def starting(i):
|
||||
os.system(f"{server_dir}ShooterGameServer {i}?SessionName={data['SessionName']}?Port={data['Port']}?QueryPort={data['QueryPort']}?RCONEnabled={data['RCONEnabled']}?RCONPort={data['RCONPort']}?ServerAdminPassword={data['ServerAdminPassword']}?MaxPlayers={data['MaxPlayers']}?GameModIds={data['ModsId']}?listen={data['Listen']} -clusterid={data['clusterid']} -ClusterDirOverride={data['clusterdir']} {ntff}")
|
||||
os.system(f"{server_dir}ShooterGameServer {i}?SessionName={data['SessionName']}?Port={data['Port']}\
|
||||
?QueryPort={data['QueryPort']}?RCONEnabled={data['RCONEnabled']}?RCONPort={data['RCONPort']}\
|
||||
?ServerAdminPassword={data['ServerAdminPassword']}?MaxPlayers={data['MaxPlayers']}\
|
||||
?GameModIds={data['ModsId']}?listen={data['Listen']} -clusterid={data['clusterid']}\
|
||||
-ClusterDirOverride={data['clusterdir']} {ntff}")
|
||||
if x == 0:
|
||||
print_line("Запускаем карту" + i)
|
||||
threads = threading.Thread(target=starting, args=(starting_map,))
|
||||
@ -410,25 +425,10 @@ def start(m,b, name_server=list_config):
|
||||
else:
|
||||
print("Ни одной карты не установлено")
|
||||
|
||||
"""
|
||||
@hlna.command(help='Для удаления серверов')
|
||||
@click.option('-m', required=True, help="Название карты для удаления")
|
||||
def delete(m, list_config=list_config):
|
||||
for i in list_config:
|
||||
data = read_yaml(i)
|
||||
if data['map_s'] == m:
|
||||
|
||||
n = input(f"Вы действительно хотите удалить сервер? Это действие отменить невозможно - {i}, y\\N")
|
||||
if n == "y":
|
||||
os.system(f"rm {home_dir}/.config/hlna/{i}")
|
||||
os.system(f"rm -rf {dir_server}{i}")
|
||||
else:
|
||||
continue
|
||||
"""
|
||||
|
||||
def read_yaml(name_server, flag=True):
|
||||
# Читаем конфиги активных или неактивных карт в зависимости от флага
|
||||
if flag == True:
|
||||
if flag:
|
||||
dirs = f"{home_dir}/.config/hlna/maps/{name_server}"
|
||||
else:
|
||||
dirs = f"{home_dir}/.config/hlna/deactivated/{name_server}"
|
||||
|
Loading…
Reference in New Issue
Block a user