This commit is contained in:
2023-03-08 17:41:05 +03:00
parent 93a57c083f
commit 935c268d74
2 changed files with 39 additions and 27 deletions

22
hlna.py
View File

@ -14,7 +14,7 @@ from rcon.source import Client
home_dir = Path.home()
dir_server = f"{home_dir}/ARK_Servers/"
dir_config = f"{home_dir}/.config/hlna/"
dir_config = f"{home_dir}/.config/hlna/maps/"
mods_id = ""
listen_server = True
@ -51,7 +51,8 @@ def create_dir(directory):
"""Проверка и создание директории"""
if not os.path.exists(directory):
os.mkdir(directory)
os.chdir("..")
if not os.path.exists(f"{home_dir}/.config/hlna/maps"):
os.chdir(f"{home_dir}/.config/hlna/")
os.mkdir("maps")
@ -214,7 +215,7 @@ def config(list_config=list_config):
if query_port == 0:
query_port = 27015
print("Порт Сервера=",port_server)
print("Порт Сервера=", port_server)
print("Query Port=", query_port)
rcon_enabled = True
@ -373,18 +374,21 @@ def start(m, name_server=list_config):
print("Запускаем все активные карты")
names_serverstart = choose_map(names_serverstart)
server_dir = dir_server + "/ShooterGame/Binaries/Linux/"
server_dir = dir_server + "ShooterGame/Binaries/Linux/"
print_line("Валидация файлов сервера")
x = os.system(f"steamcmd +force_install_dir {server_dir} +login anonymous +app_update 376030 +quit")
x = os.system(f"steamcmd +force_install_dir {dir_server} +login anonymous +app_update 376030 +quit")
os.chdir(server_dir)
for i in names_serverstart:
data = read_yaml(i)
starting_map = dict_mapname[i]
print_line(data['Cluster'])
if not data['Cluster']:
ntff = ""
else:
ntff = "-NoTransferFromFiltering"
def starting(i):
os.system(
f"./ShooterGameServer {i}?SessionName={data['SessionName']}?Port={data['Port']}?QueryPort={data['QueryPort']}?RCONEnabled={data['RCONEnabled']}?RCONPort={data['RCONPort']}?ServerAdminPassword={data['ServerAdminPassword']}?multihome=127.0.0.1?MaxPlayers={data['MaxPlayers']}?GameModIds={data['ModsId']}?listen={data['Listen']} -clusterid={data['clusterid']} -ClusterDirOverride={data['clusterdir']} -NoTransferFromFiltering")
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,))
@ -413,7 +417,7 @@ def delete(m, list_config=list_config):
def read_yaml(name_server, flag=True):
# Читаем конфиги активных или неактивных карт в зависимости от флага
if flag == True:
dirs = f"{home_dir}/.config/hlna/{name_server}"
dirs = f"{home_dir}/.config/hlna/maps/{name_server}"
else:
dirs = f"{home_dir}/.config/hlna/deactivated/{name_server}"
with open(dirs, "r") as yamlfile: