MinecraftClient: Linux fixes (#668)
* MC: open file selector if client is run without apmc * MC: linux fixes * we don't use shell anymore * use user_path for forge_dir. Unless read-only, this is the same as what cwd is set to.
This commit is contained in:
parent
60c7be87f8
commit
a9c32bc2e2
|
@ -208,8 +208,7 @@ def install_forge(directory: str, forge_version: str, java_version: str):
|
||||||
with open(forge_install_jar, 'wb') as f:
|
with open(forge_install_jar, 'wb') as f:
|
||||||
f.write(resp.content)
|
f.write(resp.content)
|
||||||
print(f"Installing Forge...")
|
print(f"Installing Forge...")
|
||||||
# argstring = ' '.join([java_exe, "-jar", "\"" + forge_install_jar + "\"", "--installServer", "\"" + directory + "\""])
|
install_process = Popen([java_exe, "-jar", forge_install_jar, "--installServer", directory])
|
||||||
install_process = Popen([java_exe, "-jar", forge_install_jar, "--installServer", directory], shell=not is_windows)
|
|
||||||
install_process.wait()
|
install_process.wait()
|
||||||
os.remove(forge_install_jar)
|
os.remove(forge_install_jar)
|
||||||
|
|
||||||
|
@ -236,7 +235,7 @@ def run_forge_server(forge_dir: str, java_version: str, heap_arg: str) -> Popen:
|
||||||
args = [java_exe, heap_arg, *forge_args, "-nogui"]
|
args = [java_exe, heap_arg, *forge_args, "-nogui"]
|
||||||
logging.info(f"Running Forge server: {args}")
|
logging.info(f"Running Forge server: {args}")
|
||||||
os.chdir(forge_dir)
|
os.chdir(forge_dir)
|
||||||
return Popen(args, shell=not is_windows)
|
return Popen(args)
|
||||||
|
|
||||||
|
|
||||||
def get_minecraft_versions(version, release_channel="release"):
|
def get_minecraft_versions(version, release_channel="release"):
|
||||||
|
@ -299,13 +298,16 @@ if __name__ == '__main__':
|
||||||
apmc_data = None
|
apmc_data = None
|
||||||
data_version = None
|
data_version = None
|
||||||
|
|
||||||
|
if apmc_file is None and not args.install:
|
||||||
|
apmc_file = Utils.open_filename('Select APMC file', (('APMC File', ('.apmc',)),))
|
||||||
|
|
||||||
if apmc_file is not None:
|
if apmc_file is not None:
|
||||||
apmc_data = read_apmc_file(apmc_file)
|
apmc_data = read_apmc_file(apmc_file)
|
||||||
data_version = apmc_data.get('client_version', '')
|
data_version = apmc_data.get('client_version', '')
|
||||||
|
|
||||||
versions = get_minecraft_versions(data_version, channel)
|
versions = get_minecraft_versions(data_version, channel)
|
||||||
|
|
||||||
forge_dir = options["minecraft_options"]["forge_directory"]
|
forge_dir = Utils.user_path(options["minecraft_options"]["forge_directory"])
|
||||||
max_heap = options["minecraft_options"]["max_heap_size"]
|
max_heap = options["minecraft_options"]["max_heap_size"]
|
||||||
forge_version = args.forge or versions["forge"]
|
forge_version = args.forge or versions["forge"]
|
||||||
java_version = args.java or versions["java"]
|
java_version = args.java or versions["java"]
|
||||||
|
|
Loading…
Reference in New Issue