feat: add env vars for flags
							parent
							
								
									f083d7e701
								
							
						
					
					
						commit
						bef9698fc1
					
				|  | @ -14,7 +14,7 @@ tar = "0.4.38" | |||
| flate2 = "1.0.26" | ||||
| # Used for backup filenames | ||||
| chrono = "0.4.26" | ||||
| clap = { version = "4.3.1", features = ["derive"] } | ||||
| clap = { version = "4.3.1", features = ["derive", "env"] } | ||||
| 
 | ||||
| [profile.release] | ||||
| lto = "fat" | ||||
|  |  | |||
							
								
								
									
										27
									
								
								src/main.rs
								
								
								
								
							
							
						
						
									
										27
									
								
								src/main.rs
								
								
								
								
							|  | @ -17,30 +17,30 @@ struct Cli { | |||
|     jar: PathBuf, | ||||
| 
 | ||||
|     /// Directory where configs are stored, and where the server will run [default: .]
 | ||||
|     #[arg(long, value_name = "CONFIG_DIR")] | ||||
|     #[arg(long, value_name = "CONFIG_DIR", env = "ALEX_CONFIG_DIR")] | ||||
|     config: Option<PathBuf>, | ||||
|     /// Directory where world files will be saved [default: ../worlds]
 | ||||
|     #[arg(long, value_name = "WORLD_DIR")] | ||||
|     #[arg(long, value_name = "WORLD_DIR", env = "ALEX_WORLD_DIR")] | ||||
|     world: Option<PathBuf>, | ||||
|     /// Directory where backups will be stored [default: ../backups]
 | ||||
|     #[arg(long, value_name = "BACKUP_DIR")] | ||||
|     #[arg(long, value_name = "BACKUP_DIR", env = "ALEX_WORLD_DIR")] | ||||
|     backup: Option<PathBuf>, | ||||
|     /// Java command to run the server jar with
 | ||||
|     #[arg(long, value_name = "JAVA_CMD", default_value_t = String::from("java"))] | ||||
|     #[arg(long, value_name = "JAVA_CMD", default_value_t = String::from("java"), env = "ALEX_JAVA")] | ||||
|     java: String, | ||||
| 
 | ||||
|     /// XMS value in megabytes for the server instance
 | ||||
|     #[arg(long, default_value_t = 1024)] | ||||
|     #[arg(long, default_value_t = 1024, env = "ALEX_XMS")] | ||||
|     xms: u64, | ||||
|     /// XMX value in megabytes for the server instance
 | ||||
|     #[arg(long, default_value_t = 2048)] | ||||
|     #[arg(long, default_value_t = 2048, env = "ALEX_XMX")] | ||||
|     xmx: u64, | ||||
| 
 | ||||
|     /// How many backups to keep
 | ||||
|     #[arg(short = 'n', long, default_value_t = 7)] | ||||
|     #[arg(short = 'n', long, default_value_t = 7, env = "ALEX_MAX_BACKUPS")] | ||||
|     max_backups: u64, | ||||
|     /// How frequently to perform a backup, in minutes; 0 to disable.
 | ||||
|     #[arg(short = 't', long, default_value_t = 0)] | ||||
|     #[arg(short = 't', long, default_value_t = 0, env = "ALEX_FREQUENCY")] | ||||
|     frequency: u64, | ||||
| } | ||||
| 
 | ||||
|  | @ -50,7 +50,9 @@ fn backups_thread(counter: Arc<Mutex<server::ServerProcess>>, frequency: u64) { | |||
| 
 | ||||
|         { | ||||
|             let mut server = counter.lock().unwrap(); | ||||
|             server.backup(); | ||||
| 
 | ||||
|             // We explicitely ignore the error here, as we don't want the thread to fail
 | ||||
|             let _ = server.backup(); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | @ -79,9 +81,14 @@ fn main() { | |||
| 
 | ||||
|     loop { | ||||
|         input.clear(); | ||||
|         stdin.read_line(input); | ||||
| 
 | ||||
|         if stdin.read_line(input).is_err() { | ||||
|             continue; | ||||
|         }; | ||||
| 
 | ||||
|         { | ||||
|             let mut server = counter.lock().unwrap(); | ||||
| 
 | ||||
|             if let Err(e) = server.send_command(input) { | ||||
|                 println!("{}", e); | ||||
|             }; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue