38 lines
860 B
Rust
38 lines
860 B
Rust
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,
|
|
}
|