Add startup order support.

This commit is contained in:
2026-06-06 21:42:31 +08:00
parent d422f5e0df
commit 0f4af9e1f0
+20 -12
View File
@@ -82,7 +82,7 @@ def load_settings():
"workDir": "", "workDir": "",
"port": 25565, "port": 25565,
"host": "127.0.0.1", "host": "127.0.0.1",
"enable": True "enable": True,
}, },
use_same_form=True, use_same_form=True,
) )
@@ -417,9 +417,10 @@ def resolve_java_executable(java_exec_path, minecraft_version, release, auto_ins
help="Port of the server", required=True) help="Port of the server", required=True)
@click.option("--server-property", "-sp", "server_properties", multiple=True, @click.option("--server-property", "-sp", "server_properties", multiple=True,
help="server.properties override written after the first startup. Use key=value; can be repeated.") help="server.properties override written after the first startup. Use key=value; can be repeated.")
@click.option("--order", "-o", help="Startup order when starting the server", type=int, default=None)
def create_server(name, mc_version, build, server_type, snapshot, latest, list_builds, filename, extra_args, java_exec_path, def create_server(name, mc_version, build, server_type, snapshot, latest, list_builds, filename, extra_args, java_exec_path,
install_java, x_memory_initial, x_memory_maximum, nogui, custom_args, server_port, server_host, install_java, x_memory_initial, x_memory_maximum, nogui, custom_args, server_port, server_host,
server_properties): server_properties, order):
server_dir = Path("servers", name) server_dir = Path("servers", name)
server_type = server_type.lower() server_type = server_type.lower()
property_overrides = parse_server_property_overrides(server_properties) property_overrides = parse_server_property_overrides(server_properties)
@@ -550,6 +551,7 @@ def create_server(name, mc_version, build, server_type, snapshot, latest, list_b
"port": server_port, "port": server_port,
"host": server_host, "host": server_host,
"enable": True, "enable": True,
"order": order
}) })
print("Done") print("Done")
@@ -1356,16 +1358,22 @@ def load_all_server_from_settings(settings: FileSettings):
servers = [] servers = []
with settings.edit() as s: with settings.edit() as s:
for server_conf in s.get("servers", []): for server_conf in s.get("servers", []):
servers.append(Server( order = server_conf.get("order", None)
name=server_conf.get("name"), server = Server(
version=server_conf.get("version"), name=server_conf.get("name"),
description=server_conf.get("description"), version=server_conf.get("version"),
args=server_conf.get("args",[]), description=server_conf.get("description"),
work_dir=server_conf.get("workDir"), args=server_conf.get("args", []),
port=server_conf.get("port"), work_dir=server_conf.get("workDir"),
host=server_conf.get("host"), port=server_conf.get("port"),
enable=server_conf.get("enable") host=server_conf.get("host"),
)) enable=server_conf.get("enable")
)
if order is None or order-1<0:
servers.append(server)
else:
servers.insert(order-1, server)
return servers return servers