start, stop, restart

This commit is contained in:
Евгений Храмов 2023-05-13 17:51:13 +03:00
parent 6fb871125e
commit 86118e532b

68
hlna.py

@ -477,11 +477,31 @@ def servers(map_server=list_config):
@click.option('-g', help="Название игры для запуска. (ark, 7days")
@click.option('-m', default='all', help="Название карты для запуска или all для запуска все карт")
@click.option('-b', default='', help="")
def start(g, m, b, name_server=list_config):
def start(g, m, b):
start_stop("start", g, m, b)
@hlna.command(help='Для запуска, сконфигурированного сервера или кластера')
@click.option('-g', help="Название игры для запуска. (ark, 7days")
@click.option('-m', default='all', help="Название карты для запуска или all для запуска все карт")
@click.option('-b', default='', help="")
def stop(g, m, b):
start_stop("stop", g, m, b)
@hlna.command(help='Для запуска, сконфигурированного сервера или кластера')
@click.option('-g', help="Название игры для запуска. (ark, 7days")
@click.option('-m', default='all', help="Название карты для запуска или all для запуска все карт")
@click.option('-b', default='', help="")
def stop(g, m, b):
start_stop("restart", g, m, b)
def start_stop(action, g, m, b):
if g == "ark":
dict_mapname = {}
dict_allmapname = []
for i in name_server:
for i in list_config:
data = read_yaml(i)
print_line(f"Название сервера: {i} | Карта: {data['map']} | Кластер: {data['clusterid']}")
dict_mapname[data['SessionName']] = data['map']
@ -493,7 +513,7 @@ def start(g, m, b, name_server=list_config):
if v in m:
names_serverstart.append(ns)
print_line(f"Карта которая запускается {ns}")
if name_server != []:
if list_config != []:
if b == '':
if m == "all":
names_serverstart = dict_allmapname
@ -503,46 +523,11 @@ def start(g, m, b, name_server=list_config):
for i in names_serverstart:
data = read_yaml(i)
x = os.system(f"systemctl --user start ark_{data['SessionName'].lower()}.service")
os.system(f"~/git/hln-a/hlna.py rcon SaveWorld -m {i}") if action == ("restart", "stop") else ""
x = os.system(f"systemctl --user {action} ark_{data['SessionName'].lower()}.service")
print_line(x)
if x == 0:
print_line("Ok")
else:
print("Ни одной карты не установлено")
@hlna.command(help='Для остановки серверов')
@click.option('-g', help="Название игры для остановки. (ark, 7days")
@click.option('-m', default='all', help="Название карты для остановки или all для запуска все карт")
@click.option('-b', default='', help="")
def stop(g, m, b, name_server=list_config):
if g == "ark":
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():
print_line(f"переменные v и m {v} & {m}")
if v in m:
names_serverstart.append(ns)
print_line(f"Карта которая запускается {ns}")
if name_server != []:
if b == '':
if m == "all":
names_serverstart = dict_allmapname
print(f"Запускаем все активные карты {names_serverstart}")
else:
names_serverstart = choose_map(names_serverstart)
for i in names_serverstart:
data = read_yaml(i)
os.system(f"~/git/hln-a/hlna.py rcon SaveWorld -m {i}")
x = os.system(f"systemctl --user stop ark_{data['SessionName'].lower()}.service")
print_line(x)
print_line("Сервер запустился")
else:
print("Ни одной карты не установлено")
@ -595,7 +580,6 @@ def rcon(m, c):
rcon_ports.append(ns)
print_line(f"Карта которая запускается {ns}")
for port in rcon_ports:
print(port)
passwd = dict_adminpwd[port]
with Client('127.0.0.1', port, passwd=str(passwd)) as client:
response = client.run(c)