Skip to content

Latest commit

 

History

History
66 lines (46 loc) · 2.02 KB

File metadata and controls

66 lines (46 loc) · 2.02 KB

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.