mod command; mod process; pub use command::ServerCommand; pub use process::ServerProcess; use clap::ValueEnum; use serde::{Deserialize, Serialize}; use std::fmt; #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum, Serialize, Deserialize, Debug)] #[serde(rename_all = "lowercase")] pub enum ServerType { Unknown, Paper, Forge, Vanilla, } impl fmt::Display for ServerType { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let s = match self { ServerType::Unknown => "Unknown", ServerType::Paper => "PaperMC", ServerType::Forge => "Forge", ServerType::Vanilla => "Vanilla", }; write!(f, "{}", s) } } #[derive(Clone, Serialize, Deserialize, Debug)] pub struct Metadata { pub server_type: ServerType, pub server_version: String, }