Files
ac-server-scripts/change_track_old.py
2025-11-16 15:56:57 +01:00

72 lines
3.0 KiB
Python

import sys
from subprocess import call
import os
length = len(sys.argv)
newname = sys.argv[1].strip()
config = ""
lines = {}
if length > 2:
config = sys.argv[2].strip()
if length <= 1:
print("did not supply correct arguments!")
sys.exit(-1)
dirs = [x.path.replace("/home/sem/assetto-corsa/content/tracks/","") for x in os.scandir('/home/sem/assetto-corsa/content/tracks/') if x.is_dir()]
dirs.sort()
resetname = False
if str(newname) not in dirs:
print("===== ERROR: the provided map was not found! =====")
print("===== You can try again and choose from one of the following: =====")
for dir in dirs:
print("\t" + dir)
print("===== For now, I'll set it to the drift map =====")
newname = "drift"
config = ""
resetname = True
if resetname == False and len(config) > 0:
configdirs = [x.path.replace("/home/sem/assetto-corsa/content/tracks/" + newname + "/","") for x in os.scandir('/home/sem/assetto-corsa/content/tracks/' + newname + '/') if x.is_dir()]
configdirs.sort()
standard_folders = {'ai', 'ui', 'extension', 'data', 'skins','texture', 'sfx'}
for s in standard_folders:
if s in configdirs:
configdirs.remove(s)
if (len(configdirs) == 0):
print("===== The map you entered does not have a config! =====")
config = ""
elif (config not in configdirs):
print("===== ERROR: provided config was not found in the map folder! =====")
print("===== If you're sure it has one, maybe try one of these? =====")
for cd in configdirs:
print("\t" + cd)
print("===== To make it easy, I'll choose the first one for now: " + configdirs[0] + " =====")
config = configdirs[0]
new_content = ""
with open('/home/sem/assetto-corsa/cfg/server_cfg.ini','r') as file:
for line in file:
line = line.strip()
if line.startswith("TRACK="):
new_content += "TRACK=" + str(newname)
print("changing line " + line + " to " + "TRACK=" + str(newname))
elif line.startswith("CONFIG_TRACK="):
if (len(config) > 1):
new_content +="CONFIG_TRACK=" + str(config)
print("changing line " + line + " to " + "CONFIG_TRACK=" + str(config))
else:
new_content += "CONFIG_TRACK="
print("no config entered, setting config line to CONFIG_TRACK=")
else:
new_content += line
new_content += "\n"
with open('/home/sem/assetto-corsa/cfg/server_cfg.ini','w') as newfile:
print("applying changes...")
newfile.write(new_content)
print("===== Successfully updated map! Don't forget to restart the server! (It's the button to the left of the one you just pressed) =====")