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