pid
This commit is contained in:
parent
9f270c8ed7
commit
f291b7f732
40
hlna.py
40
hlna.py
@ -383,8 +383,8 @@ def start(m,b, name_server=list_config):
|
|||||||
names_serverstart.append(ns)
|
names_serverstart.append(ns)
|
||||||
print_line(f"Карта которая запускается {ns}")
|
print_line(f"Карта которая запускается {ns}")
|
||||||
|
|
||||||
if b == '':
|
if b == '':
|
||||||
names_serverstart = choose_map(names_serverstart)
|
names_serverstart = choose_map(names_serverstart)
|
||||||
|
|
||||||
server_dir = dir_server + "ShooterGame/Binaries/Linux/"
|
server_dir = dir_server + "ShooterGame/Binaries/Linux/"
|
||||||
print_line("Валидация файлов сервера")
|
print_line("Валидация файлов сервера")
|
||||||
@ -400,7 +400,14 @@ def start(m,b, name_server=list_config):
|
|||||||
ntff = "-NoTransferFromFiltering"
|
ntff = "-NoTransferFromFiltering"
|
||||||
|
|
||||||
def starting(i):
|
def starting(i):
|
||||||
|
pid = os.getpid()
|
||||||
|
settings = [{data['SessionName']:pid}]
|
||||||
|
create_dir(f"{home_dir}/.config/hlna/ServerSettings/conf.txt")
|
||||||
|
with open(f"{home_dir}/.config/hlna/ServerSettings/conf.txt", 'a') as yamlfile:
|
||||||
|
yaml.dump(settings, yamlfile)
|
||||||
|
|
||||||
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:
|
if x == 0:
|
||||||
print_line("Запускаем карту" + i)
|
print_line("Запускаем карту" + i)
|
||||||
threads = threading.Thread(target=starting, args=(starting_map,))
|
threads = threading.Thread(target=starting, args=(starting_map,))
|
||||||
@ -426,6 +433,35 @@ def delete(m, list_config=list_config):
|
|||||||
else:
|
else:
|
||||||
continue
|
continue
|
||||||
"""
|
"""
|
||||||
|
@hlna.command()
|
||||||
|
@click.option('-m', default='all', help="Название карты для завершения или all для завершения всех карт")
|
||||||
|
def shootdown(m):
|
||||||
|
pids = pid()
|
||||||
|
print(pids)
|
||||||
|
shootdown_servers = []
|
||||||
|
if list_config != []:
|
||||||
|
if m == "all":
|
||||||
|
shootdown_servers = pids
|
||||||
|
else:
|
||||||
|
arr = m.split(',')
|
||||||
|
dict_mapname = {}
|
||||||
|
for i in list_config:
|
||||||
|
data = read_yaml(i)
|
||||||
|
dict_mapname[data['SessionName']] = data['map']
|
||||||
|
|
||||||
|
for ns, v in dict_mapname.items():
|
||||||
|
if v in m:
|
||||||
|
shootdown_servers.append(ns)
|
||||||
|
shootdown_servers = choose_map(shootdown_servers)
|
||||||
|
|
||||||
|
for i in shootdown_servers:
|
||||||
|
os.system(f"kill {i}")
|
||||||
|
else:
|
||||||
|
print("Ни одной карты не установлено")
|
||||||
|
def pid():
|
||||||
|
with open(f"{home_dir}/.config/hlna/ServerSettings/conf.txt", "r") as yamlfile:
|
||||||
|
data = yaml.load(yamlfile, Loader=yaml.FullLoader)
|
||||||
|
return data[0] # возвращаем словарь со всеми значениями
|
||||||
|
|
||||||
def read_yaml(name_server, flag=True):
|
def read_yaml(name_server, flag=True):
|
||||||
# Читаем конфиги активных или неактивных карт в зависимости от флага
|
# Читаем конфиги активных или неактивных карт в зависимости от флага
|
||||||
|
Loading…
Reference in New Issue
Block a user