заготовка под создание systemd юнита сервера
This commit is contained in:
parent
69822e2400
commit
822b20dd87
74
hlna.py
74
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:
|
||||||
@ -231,33 +232,56 @@ def config(list_config=list_config):
|
|||||||
max_players = check_int("Укажите максимальное количество игроков: \n")
|
max_players = check_int("Укажите максимальное количество игроков: \n")
|
||||||
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():
|
||||||
|
Loading…
Reference in New Issue
Block a user