elytra-ping 6.0.1

Easily ping and get the status of running Minecraft servers
Documentation
use std::time::Duration;

use elytra_ping::{bedrock::ping, JavaServerInfo};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    tracing_subscriber::fmt::fmt()
        .with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
        .init();
    let args = std::env::args().collect::<Vec<_>>();
    let host = args
        .get(1)
        .map(String::to_string)
        .expect("address required");
    let port = args
        .get(2)
        .map(|port| port.parse().expect("invalid port"))
        .unwrap_or(19132);

    println!("Pinging {}:{}", host, port);

    let (info, latency) = ping((host, port), Duration::from_secs(2), 3).await?;
    println!("Server info: {:#?}", info);
    println!("Server info as Java: {:#?}", JavaServerInfo::from(info));
    println!("Latency: {}ms", latency.as_millis());

    Ok(())
}