An async ServerListPing client implementation in Rust.
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
);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.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
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.