заготовка под создание 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.mkdir("maps")
|
||||
|
||||
|
||||
def check_int(number=""):
|
||||
"""Проверка на ввод числа"""
|
||||
while True:
|
||||
@ -231,33 +232,56 @@ def config(list_config=list_config):
|
||||
max_players = check_int("Укажите максимальное количество игроков: \n")
|
||||
if max_players == 0:
|
||||
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):
|
||||
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 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)
|
||||
unit = f'''[Unit]
|
||||
Description=ARK: Survival Evolved dedicated server
|
||||
Wants=network-online.target
|
||||
After=syslog.target network.target nss-lookup.target network-online.target
|
||||
|
||||
[Service]
|
||||
ExecStartPre=/home/steam/steamcmd +login anonymous +force_install_dir /home/steam/servers/ark +app_update 376030 +quit
|
||||
ExecStart=/home/steam/servers/ark/ShooterGame/Binaries/Linux/ShooterGameServer TheIsland?listen?SessionName=<session_name> -server -log
|
||||
WorkingDirectory=/home/steam/servers/ark/ShooterGame/Binaries/Linux
|
||||
LimitNOFILE=100000
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
ExecStop=/bin/kill -s INT $MAINPID
|
||||
User=steam
|
||||
Group=steam
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target\
|
||||
'''
|
||||
with open(unit, 'w') as systemd_unit:
|
||||
systemd_unit.write(unit)
|
||||
os.system('systemctl daemon-reload')
|
||||
# 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():
|
||||
|
Loading…
Reference in New Issue
Block a user