diff options
| author | nokoe <nokoe@mailbox.org> | 2024-06-27 12:50:54 +0200 | 
|---|---|---|
| committer | nokoe <nokoe@mailbox.org> | 2024-06-27 12:50:54 +0200 | 
| commit | 0ad1882a7a9023abb164c84630c7cd6fbbeb746f (patch) | |
| tree | 1224b58658fb98d10ae1be9efc78554160230128 /server/src | |
| parent | b0363cf5b56837b74308d4335d7f189f843ea770 (diff) | |
| parent | ec6377cb004ae564a8ad2fd895f8aad09b0153c6 (diff) | |
| download | hurrycurry-0ad1882a7a9023abb164c84630c7cd6fbbeb746f.tar hurrycurry-0ad1882a7a9023abb164c84630c7cd6fbbeb746f.tar.bz2 hurrycurry-0ad1882a7a9023abb164c84630c7cd6fbbeb746f.tar.zst | |
Merge branch 'master' of ssh://codeberg.org/metamuffin/undercooked
Diffstat (limited to 'server/src')
| -rw-r--r-- | server/src/game.rs | 13 | ||||
| -rw-r--r-- | server/src/main.rs | 23 | 
2 files changed, 23 insertions, 13 deletions
| diff --git a/server/src/game.rs b/server/src/game.rs index ad777584..4cb5c450 100644 --- a/server/src/game.rs +++ b/server/src/game.rs @@ -202,17 +202,18 @@ impl Game {      pub fn packet_in(&mut self, player: PlayerID, packet: PacketS) -> Result<()> {          match packet {              PacketS::Join { name, character } => { +                let position = if player.0 < 0 { +                    self.data.customer_spawn +                } else { +                    self.data.chef_spawn +                };                  self.players.insert(                      player,                      Player {                          item: None,                          last_position_ts: Instant::now(),                          character, -                        position: if player.0 < 0 { -                            self.data.customer_spawn -                        } else { -                            self.data.chef_spawn -                        }, +                        position,                          communicate: None,                          interacting: None,                          name: name.clone(), @@ -221,7 +222,7 @@ impl Game {                  self.packet_out.push_back(PacketC::AddPlayer {                      id: player,                      name, -                    position: self.data.chef_spawn, +                    position,                      character,                  });              } diff --git a/server/src/main.rs b/server/src/main.rs index db667779..5b191365 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -16,9 +16,10 @@  */  use anyhow::{anyhow, Result}; +use clap::Parser;  use futures_util::{SinkExt, StreamExt};  use log::{debug, info, warn, LevelFilter}; -use std::{env::args, path::PathBuf, process::exit, str::FromStr, sync::Arc, time::Duration}; +use std::{path::PathBuf, process::exit, str::FromStr, sync::Arc, time::Duration};  use tokio::{      net::TcpListener,      spawn, @@ -32,25 +33,33 @@ use undercooked::{      state::State,  }; +#[derive(Parser)] +struct Args { +    #[arg(short, long)] +    version: bool, +    #[arg(short, long, default_value = "./data")] +    data_dir: PathBuf, +} +  fn main() -> Result<()> {      env_logger::builder()          .filter_level(LevelFilter::Info)          .parse_env("LOG")          .init(); -    if let Some(arg) = args().nth(1) { -        match arg.as_str() { -            "version" => println!("{}", env!("CARGO_PKG_VERSION")), -            _ => panic!("unknown subcommand"), -        } +    let args = Args::parse(); + +    if args.version { +        println!("{}", env!("CARGO_PKG_VERSION"));          exit(0);      }      let data_dir = PathBuf::from_str(          [ +            args.data_dir.to_str().unwrap(),              "/usr/local/share/undercooked/data",              "/usr/share/undercooked/data", -            "./data", +            "/opt/undercooked/data",          ]          .into_iter()          .find(|p| PathBuf::from_str(p).unwrap().join("index.yaml").exists()) |