mirror of
https://github.com/Grasscutters/Cultivation.git
synced 2025-12-13 15:44:35 +01:00
more options
This commit is contained in:
@@ -12,7 +12,7 @@ pub struct Configuration {
|
|||||||
pub close_action: u64,
|
pub close_action: u64,
|
||||||
pub startup_launch: bool,
|
pub startup_launch: bool,
|
||||||
pub last_ip: String,
|
pub last_ip: String,
|
||||||
pub last_port: u64,
|
pub last_port: String,
|
||||||
pub language: String,
|
pub language: String,
|
||||||
pub customBackground: String,
|
pub customBackground: String,
|
||||||
pub cert_generated: bool,
|
pub cert_generated: bool,
|
||||||
|
|||||||
@@ -45,15 +45,16 @@ async fn parse_args(inp: &Vec<String>) -> Result<Args, ArgsError> {
|
|||||||
);
|
);
|
||||||
args.flag("h", "help", "Print various CLI args");
|
args.flag("h", "help", "Print various CLI args");
|
||||||
args.flag("p", "proxy", "Start the proxy server");
|
args.flag("p", "proxy", "Start the proxy server");
|
||||||
args.flag("g", "launch-game", "Launch the game");
|
args.flag("G", "launch-game", "Launch the game");
|
||||||
args.flag(
|
args.flag(
|
||||||
"na",
|
"A",
|
||||||
"no-admin",
|
"no-admin",
|
||||||
"Launch without requiring admin permissions",
|
"Launch without requiring admin permissions",
|
||||||
);
|
);
|
||||||
args.flag("ng", "no-gui", "Run in CLI mode");
|
args.flag("g", "no-gui", "Run in CLI mode");
|
||||||
|
args.flag("s", "server", "Launch the configured GC server");
|
||||||
|
|
||||||
args.parse(inp);
|
args.parse(inp).unwrap();
|
||||||
|
|
||||||
let config = config::get_config();
|
let config = config::get_config();
|
||||||
|
|
||||||
@@ -62,7 +63,24 @@ async fn parse_args(inp: &Vec<String>) -> Result<Args, ArgsError> {
|
|||||||
std::process::exit(0);
|
std::process::exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if args.value_of("launch-game")? {}
|
if args.value_of("launch-game")? {
|
||||||
|
let game_path = config.game_install_path;
|
||||||
|
system_helpers::run_program(game_path.to_string(), None)
|
||||||
|
}
|
||||||
|
|
||||||
|
if args.value_of("server")? {
|
||||||
|
let server_jar = config.grasscutter_path;
|
||||||
|
let mut server_path = server_jar.clone();
|
||||||
|
let java_path = config.java_path;
|
||||||
|
|
||||||
|
server_path.pop();
|
||||||
|
|
||||||
|
system_helpers::run_jar(
|
||||||
|
server_jar.to_string(),
|
||||||
|
server_path.to_string(),
|
||||||
|
java_path.to_string(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if args.value_of("proxy")? {
|
if args.value_of("proxy")? {
|
||||||
println!("Starting proxy server...");
|
println!("Starting proxy server...");
|
||||||
@@ -80,12 +98,12 @@ fn main() -> Result<(), ArgsError> {
|
|||||||
let args: Vec<String> = std::env::args().collect();
|
let args: Vec<String> = std::env::args().collect();
|
||||||
let parsed_args = block_on(parse_args(&args)).unwrap();
|
let parsed_args = block_on(parse_args(&args)).unwrap();
|
||||||
|
|
||||||
if !is_elevated() && parsed_args.value_of("no-admin")? {
|
if !is_elevated() && !parsed_args.value_of("no-admin")? {
|
||||||
println!("===============================================================================");
|
println!("===============================================================================");
|
||||||
println!("You running as a non-elevated user. Some stuff will almost definitely not work.");
|
println!("You running as a non-elevated user. Some stuff will almost definitely not work.");
|
||||||
println!("===============================================================================");
|
println!("===============================================================================");
|
||||||
|
|
||||||
//reopen_as_admin();
|
reopen_as_admin();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setup datadir/cultivation just in case something went funky and it wasn't made
|
// Setup datadir/cultivation just in case something went funky and it wasn't made
|
||||||
|
|||||||
@@ -67,6 +67,8 @@ pub fn run_jar(path: String, execute_in: String, java_path: String) {
|
|||||||
format!("\"{}\" -jar \"{}\"", java_path, path)
|
format!("\"{}\" -jar \"{}\"", java_path, path)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
println!("Launching .jar with command: {}", &command);
|
||||||
|
|
||||||
// Open the program from the specified path.
|
// Open the program from the specified path.
|
||||||
match open::with(
|
match open::with(
|
||||||
format!("/k cd /D \"{}\" & {}", &execute_in, &command),
|
format!("/k cd /D \"{}\" & {}", &execute_in, &command),
|
||||||
|
|||||||
Reference in New Issue
Block a user