Files
Modrinth-plus/packages/async-minecraft-ping

Note

This is a vendored version of async-minecraft-ping with modifications for our own purposes.

This directory is licensed under the same license as the original project.

async-minecraft-ping

crates.io docs.rs CI crates.io

An async ServerListPing client implementation in Rust.

Usage

See the example.

let config = ConnectionConfig::build("mc.example.com")
    .with_port(25565)
    .with_timeout(Duration::from_secs(5));

let connection = config.connect().await?;
let status = connection.status().await?;

println!(
    "{} of {} player(s) online",
    status.status.players.online, status.status.players.max
);

Features

SRV Record Lookup

Enable the srv feature to support automatic SRV record resolution for Minecraft servers:

[dependencies]
async-minecraft-ping = { version = "0.8", features = ["srv"] }
let config = ConnectionConfig::build("skyblock.net")
    .with_srv_lookup()  // Resolves _minecraft._tcp.skyblock.net
    .connect()
    .await?;

When SRV lookup is enabled, the library queries _minecraft._tcp.<address> for an SRV record. If found, it uses the target host and port from the record. If not found, it falls back to the original address and port.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.