This commit is contained in:
Евгений Храмов 2023-05-28 20:42:40 +03:00
parent aa98e94a22
commit b5eb8cb652

40
hlna.py

@ -222,7 +222,7 @@ def config_cluster():
while True:
cluster_id = input("Укажите id для кластера, любое сочетание символов: \n")
if cluster_id == '':
print("Введите символы: ")
print_line("Введите символы: ", glag="CYAN")
else:
create_dir(dir_server_ark + cluster_id)
cluster_dir_override = (dir_server_ark + cluster_id)
@ -357,7 +357,7 @@ def config_players():
def config_listen():
print("Передавать сервер в глобальный список серверов steam?")
print_line("Передавать сервер в глобальный список серверов steam?", flag="CYAN")
listen_server_amount = check_int("""\n
1. Да
2. Нет
@ -380,10 +380,10 @@ def config_ark(list_config=list_config):
cluster_server, cluster_id, cluster_dir_override = config_cluster()
if list_config:
print("Уже установленные карты: ")
print_line("Уже установленные карты: ", flag="CYAN")
for i in list_config:
data = read_yaml(i, g="ark")
print(f"{i} : {data['map']}")
print_line(f"{i} : {data['map']}", flag="CYAN")
count_maps = config_nummap()
for i in range(count_maps):
map_s, port_s, query_p, rcon_p = config_maps(i)
@ -420,7 +420,7 @@ def config_7daystodie():
def xml_parser():
"""добавить документацию"""
print("Я пока не умею парсить xml))", flag=False)
print_line("Я пока не умею парсить xml))", flag="RED")
def yaml_create(g, dir_server="", cluster_server="", map_s="", name_server="", port_server="", query_port="",
@ -458,7 +458,7 @@ def yaml_create(g, dir_server="", cluster_server="", map_s="", name_server="", p
with open(path_yaml, 'w') as yamlfile:
yaml.dump(settings, yamlfile)
print(colorama.Fore.GREEN + f"Конфиг {path_yaml} создан" + colorama.Style.RESET_ALL)
print_line(f"Конфиг {path_yaml} создан", flag="GREEN")
if g != "path_server":
systemd_unit_create(g, name_server)
@ -498,7 +498,7 @@ WantedBy=default.target
with open(unit_file, 'w') as systemd_unit:
systemd_unit.write(unit_text)
unit_name = unit_file.split("/")[-1]
print(colorama.Fore.GREEN + f"Юнит {unit_name} создан" + colorama.Style.RESET_ALL)
print_line(f"Юнит {unit_name} создан", flag="GREEN")
os.system('systemctl --user daemon-reload')
os.system(f"systemctl --user enable {unit_name}")
@ -611,13 +611,13 @@ def moddownload(g, m, id_mod, dir_mod_ark):
dst = os.path.join(curdir, name)
uncompressed = os.path.join(curdir, file + ".uncompressed_size")
unpack(src, dst)
print("[+] Extracted " + file)
print_line(f"[+] Извлечён {file}", flag="GREEN")
os.remove(src)
if os.path.isfile(uncompressed):
os.remove(uncompressed)
except Exception as e:
print(e)
print("[x] Unpacking .z files failed, aborting mod install")
print_line(e, flag="GREEN")
print_line(f"[x] Unpacking .z files failed, aborting mod install", flag="RED")
return False
os.system(f"rm -rf {dir_mod_ark}")
@ -678,7 +678,7 @@ def switch(g, m, e): #добавить all
for i in m:
try:
if i in state_config:
print(f"Карта {i} уже есть в {state_msg}")
print_line(f"Карта {i} уже есть в {state_msg}", flag="CYAN")
continue
data = read_yaml(i, not e)
if e:
@ -698,7 +698,7 @@ def switch(g, m, e): #добавить all
with open(f"{dir_logs}{date}.log", "a") as f:
f.write(f"[{t}] Сервер {i} перемещён из {state_msg}\n")
if x == 0:
print(f"Готов - {i}")
print_line(f"Готов - {i}", flag="GREEN")
#start = "start" if e else "stop"
enable = "enable" if e else "disable"
os.system(f"systemctl --user {enable} ark_{i}")
@ -723,7 +723,7 @@ def status(list_config=list_config):
# этот принт надо отдельной функцией сделать, чтобы убрать дублирование текста
print(f"""
print_line(f"""
Имя сервера: {i}
Карта: {data['map']}
Моды: {data['ModsId']}
@ -734,15 +734,14 @@ def status(list_config=list_config):
Порт сервера: {data['Port']}
Rcon включен: {data['RCONEnabled']}
Rcon порт : {data['RCONPort']}
Максимальное кол-во игроков: {data['MaxPlayers']}""")
print("-" * 40)
Максимальное кол-во игроков: {data['MaxPlayers']}""", flag="CYAN")
if delist_config != []:
x = input("Есть неактивные сервера, показать Y/n: ")
if x != "n":
for i in delist_config:
data = read_yaml(i, False)
print(f"""
print_line(f"""
Имя сервера: {i}
Карта: {data['map']}
Моды: {data['ModsId']}
@ -753,8 +752,7 @@ def status(list_config=list_config):
Порт сервера: {data['Port']}
Rcon включен: {data['RCONEnabled']}
Rcon порт : {data['RCONPort']}
Максимальное кол-во игроков: {data['MaxPlayers']}""")
print("-" * 40)
Максимальное кол-во игроков: {data['MaxPlayers']}""", flag="CYAN")
@hlna.command(help='Запуск, сконфигурированного сервера или кластера <hlna start -g ark -m all>')
@ -850,9 +848,9 @@ def choose_map(g, m, list_config=list_config):
print_line(f"Выполняется для карт(-ы) {name_servers}", flag="CYAN")
else:
name_servers = sorted(name_servers)
print('Найдены сервера с этой картой')
print_line('Найдены сервера с этой картой', flag="CYAN")
for i, map in enumerate(name_servers):
print(f"{i + 1}) {map}")
print_line(f"{i + 1}) {map}", flag="CYAN")
while True:
try:
x = input("Выберите сервер из списка, либо несколько через запятую: ").split(',')
@ -862,7 +860,7 @@ def choose_map(g, m, list_config=list_config):
print_line("Неправильный ввод", flag="RED")
for i in x:
name_servers.append(name_servers[i - 1])
print('Выбранные сервера:', name_servers)
print_line(f"Выбранные сервера: {name_servers}", flag="CYAN")
return name_servers