craftping

craftping is a Rust library to ping Minecraft Servers.
Usage
[dependencies]
craftping = "0.7.0"
You can synchronously ping to the server with craftping::sync::ping:
use std::net::TcpStream;
use craftping::sync::ping;
fn main() {
let hostname = "localhost";
let port = 25565;
let mut stream = TcpStream::connect((hostname, port)).unwrap();
let pong = ping(&mut stream, hostname, port).expect("Cannot ping server");
println!("Ping result: {:?}", pong);
}
sync module requires sync feature, which is enabled by default.
If you want to send pings asynchronously, you can use craftping::tokio::ping or craftping::futures::ping:
use tokio::net::TcpStream;
use craftping::tokio::ping;
#[tokio::main]
async fn main() {
let hostname = "localhost";
let port = 25565;
let mut stream = TcpStream::connect((hostname, port)).await.unwrap();
let pong = ping(&mut stream, hostname, port).await.expect("Cannot ping server");
println!("Ping result: {:?}", pong);
}
use async_std::net::TcpStream;
use craftping::futures::ping;
#[async_std::main]
async fn main() {
let hostname = "localhost";
let port = 25565;
let mut stream = TcpStream::connect((hostname, port)).await.unwrap();
let pong = ping(&mut stream, hostname, port).await.expect("Cannot ping server");
println!("Ping result: {:?}", pong);
}
Note that tokio module requires async-tokio feature and futures async-futures.
Check here for more information about ping result.
Contributing
Pull requests are welcome. For major issues, please open the issue on this repository first.
License
MIT