SkillAgentSearch skills...

Craftping

Minecraft Server List Ping in Rust

Install / Use

/learn @kiwiyou/Craftping
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

craftping crates.io docs.rs license Actively Maintained

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:

  • craftping::tokio::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);
}
  • craftping::futures::ping
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

View on GitHub
GitHub Stars39
CategoryDevelopment
Updated5d ago
Forks3

Languages

Rust

Security Score

95/100

Audited on Apr 1, 2026

No findings