diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/editor/src/main.rs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/server/editor/src/main.rs b/server/editor/src/main.rs index cd0bdbec..8577aec1 100644 --- a/server/editor/src/main.rs +++ b/server/editor/src/main.rs @@ -16,6 +16,7 @@ use std::{ fs::{File, read_to_string}, io::Write, net::SocketAddr, + process::exit, thread::{sleep, spawn}, time::{Duration, Instant}, }; @@ -23,6 +24,9 @@ use tokio::net::{TcpListener, TcpStream}; #[derive(Parser)] struct Args { + /// Print version, then exit + #[arg(short, long)] + version: bool, #[arg(short, long, default_value = "127.0.0.1")] bind_addr: String, #[arg(short, long, default_value = "27035")] @@ -36,13 +40,9 @@ pub enum Command { #[clap(alias = "p")] Play, /// Save current map to permanent storage - Save { - name: Option<String>, - }, + Save { name: Option<String> }, /// Load map from storage - Load { - name: Option<String>, - }, + Load { name: Option<String> }, /// Teleport to spawnpoint Spawn { #[arg(short, long)] @@ -54,6 +54,10 @@ pub enum Command { async fn main() -> Result<()> { env_logger::init_from_env("LOG"); let args = Args::parse(); + if args.version { + println!("{}", env!("CARGO_PKG_VERSION")); + exit(0); + } let ws_listener = TcpListener::bind((args.bind_addr, args.port)).await?; let mut ms = None; loop { |