mcstatusface/src/main.rs

30 lines
833 B
Rust
Raw Normal View History

2025-04-14 07:20:05 +01:00
use std::io::{Result};
use std::net::{ToSocketAddrs};
use std::env;
use mcstatusface::MinecraftStatus;
fn main() -> Result<()> {
let args: Vec<String> = env::args().collect();
if args.len() < 2 {
eprintln!("Usage: {} <address[:port]>", args[0]);
std::process::exit(1);
}
let mut address = String::from(args[1].as_str());
if !address.contains(":") {
address += ":25565";
}
let mut addrs_iter = args[1].to_socket_addrs().unwrap();
let address = addrs_iter.next().unwrap();
let status = MinecraftStatus::fetch(address).unwrap();
println!("\nVersion: {} ({})", status.version.name, status.version.protocol);
println!("Players: {}/{}", status.players.online, status.players.max);
println!("MOTD:");
println!("{}", status.parse_description());
Ok(())
}