This commit is contained in:
Евгений Храмов 2023-05-14 17:18:13 +03:00
parent 7fa6a76518
commit 7de792d8b0

16
hlna.py

@ -456,26 +456,20 @@ def modinstall(g, m):
def modextract(id_mod, id_game_workshop):
dir_steam_workshop = f"{dir_workshop_ark}/content/{id_game_workshop}/{id_mod}/WindowsNoEditor/"
dir_ark_mods = f"{dir_mods_ark}{id_mod}"
dir_steam_workshop = f"{dir_workshop_ark}/content/{id_game_workshop}/{id_mod}/WindowsNoEditor"
dir_ark_mods = f"{dir_mods_ark}/{id_mod}"
dir_extract = dir_ark_mods
if id_mod == "111111111":
return
for dirpath, dirnames, filenames in os.walk(dir_steam_workshop):
for dname in dirnames:
os.makedirs(os.path.join(dir_extract, os.path.relpath(os.path.join(dirpath, dname), dir_steam_workshop)), exist_ok=True)
if not os.path.isdir(os.path.join(dir_steam_workshop, dname)):
shutil.rmtree(os.path.join(dir_extract, os.path.relpath(os.path.join(dirpath, dname), dir_steam_workshop)))
try:
for curdir, subdirs, files in os.walk(os.path.join(dir_steam_workshop)):
for file in files:
name, ext = os.path.splitext(file)
if ext == ".z":
src = os.path.join(curdir, file)
dst = os.path.join(dir_extract, subdirs, name)
dst = os.path.join(curdir, name)
uncompressed = os.path.join(curdir, file + ".uncompressed_size")
unpack(src, dst)
print("[+] Extracted " + file)
@ -486,6 +480,8 @@ def modextract(id_mod, id_game_workshop):
print("[x] Unpacking .z files failed, aborting mod install")
return False
os.system(f"mv {dir_steam_workshop} {dir_mods_ark}")
modname = subprocess.check_output(['curl', '-s', 'https://steamcommunity.com/sharedfiles/filedetails/?id={}'.format(id_mod)]).decode('utf-8')
modname = re.search(r'<div class="workshopItemTitle">(.+)</div>', modname)
modname = modname and modname.group(1)
@ -779,7 +775,7 @@ dir_logs = f"{dir_config}logs/"
dir_server_ark = f"{dir_server}ARK/"
dir_server_exec = f"{dir_server_ark}ShooterGame/Binaries/Linux/"
dir_workshop_ark = f"{home_dir}/.local/share/Steam/steamapps/workshop/"
dir_mods_ark = f"{dir_server_ark}ShooterGame/Content/Mods/"
dir_mods_ark = f"{dir_server_ark}ShooterGame/Content/Mods"
dir_server_7days = f"{dir_server}/7Days/"