заготовка под создание systemd юнита сервера

This commit is contained in:
Евгений Храмов 2023-04-26 23:31:42 +03:00
parent 69822e2400
commit 822b20dd87

72
hlna.py

@ -59,6 +59,7 @@ def create_dir(directory):
os.chdir(f"{home_dir}/.config/hlna/") os.chdir(f"{home_dir}/.config/hlna/")
os.mkdir("maps") os.mkdir("maps")
def check_int(number=""): def check_int(number=""):
"""Проверка на ввод числа""" """Проверка на ввод числа"""
while True: while True:
@ -232,32 +233,55 @@ def config(list_config=list_config):
if max_players == 0: if max_players == 0:
max_players = 70 max_players = 70
yaml_create(cluster_server, map_s, list_config[-1], port_server, query_port, rcon_enabled, rcon_port, adminpassword_server, password_server, max_players, cluster_id, cluster_dir_override) systemd_unit_create(cluster_server, map_s, list_config[-1], port_server, query_port, rcon_enabled, rcon_port, adminpassword_server, password_server, max_players, cluster_id, cluster_dir_override)
# yaml_create(cluster_server, map_s, list_config[-1], port_server, query_port, rcon_enabled, rcon_port, adminpassword_server, password_server, max_players, cluster_id, cluster_dir_override)
def yaml_create(cluster_server, map_s, name_server, port_server, query_port, rcon_enabled, rcon_port, adminpassword_server, password_server, max_players, cluster_id, cluster_dir_override): def systemd_unit_create(cluster_server, map_s, name_server, port_server, query_port, rcon_enabled, rcon_port, adminpassword_server, password_server, max_players, cluster_id, cluster_dir_override)
settings_hlna = [ unit = f'''[Unit]
{ Description=ARK: Survival Evolved dedicated server
'map' : map_s, Wants=network-online.target
'Cluster' : cluster_server, After=syslog.target network.target nss-lookup.target network-online.target
'SessionName' : name_server,
'Port' : port_server, [Service]
'QueryPort' : query_port, ExecStartPre=/home/steam/steamcmd +login anonymous +force_install_dir /home/steam/servers/ark +app_update 376030 +quit
'RCONEnabled' : rcon_enabled, ExecStart=/home/steam/servers/ark/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=<session_name> -server -log
'RCONPort' : rcon_port, WorkingDirectory=/home/steam/servers/ark/ShooterGame/Binaries/Linux
'ServerAdminPassword': adminpassword_server, LimitNOFILE=100000
'ServerPassword' : password_server, ExecReload=/bin/kill -s HUP $MAINPID
'MaxPlayers' : max_players, ExecStop=/bin/kill -s INT $MAINPID
'ModsId' : mods_id, User=steam
'Listen' : listen_server, Group=steam
'ServerPath' : dir_server,
'clusterid' : cluster_id, [Install]
'clusterdir' : cluster_dir_override WantedBy=multi-user.target\
} '''
] with open(unit, 'w') as systemd_unit:
with open(dir_config + f"{name_server}", 'w') as yamlfile: systemd_unit.write(unit)
yaml.dump(settings_hlna, yamlfile) os.system('systemctl daemon-reload')
print(colorama.Fore.GREEN + "Конфиг создан" + colorama.Style.RESET_ALL) # def yaml_create(cluster_server, map_s, name_server, port_server, query_port, rcon_enabled, rcon_port, adminpassword_server, password_server, max_players, cluster_id, cluster_dir_override):
# settings_hlna = [
# {
# 'map' : map_s,
# 'Cluster' : cluster_server,
# 'SessionName' : name_server,
# 'Port' : port_server,
# 'QueryPort' : query_port,
# 'RCONEnabled' : rcon_enabled,
# 'RCONPort' : rcon_port,
# 'ServerAdminPassword': adminpassword_server,
# 'ServerPassword' : password_server,
# 'MaxPlayers' : max_players,
# 'ModsId' : mods_id,
# 'Listen' : listen_server,
# 'ServerPath' : dir_server,
# 'clusterid' : cluster_id,
# 'clusterdir' : cluster_dir_override
# }
# ]
# with open(dir_config + f"{name_server}", 'w') as yamlfile:
# yaml.dump(settings_hlna, yamlfile)
# print(colorama.Fore.GREEN + "Конфиг создан" + colorama.Style.RESET_ALL)
def test_mod_install(): def test_mod_install():