rust-mc-status 3.0.0

High-performance asynchronous Rust library for querying Minecraft server status (Java & Bedrock)
Documentation
//! Data models for Minecraft server status responses.
//!
//! # Top-level types
//!
//! | Type | Description |
//! |------|-------------|
//! | [`ServerStatus`] | Full result of a ping — online, IP, latency, DNS, edition data |
//! | [`ServerData`] | Edition-specific payload (Java, Bedrock, Legacy, Query) |
//! | [`PingResult`] | Raw result returned by a [`PingProtocol`](crate::protocol::PingProtocol) |
//! | [`ServerInfo`] | Address + edition pair, used in [`McClient::ping_many`](crate::McClient::ping_many) |
//! | [`ServerEdition`] | `Java` or `Bedrock` — parses from `"java"` / `"bedrock"` strings |
//!
//! # Java Edition models
//!
//! [`JavaStatus`] is the main model.  It contains [`JavaVersion`],
//! [`JavaPlayers`], optional [`JavaPlugin`] / [`JavaMod`] lists, and the raw
//! JSON response in `raw_data`.
//!
//! # Bedrock Edition models
//!
//! [`BedrockStatus`] is parsed directly from the RakNet Unconnected Pong
//! semicolon-delimited string.  All fields are `String` or `Option<u16>` — no
//! nested structs.
//!
//! # Future protocol models
//!
//! [`LegacyData`] and [`QueryData`] are placeholder structs for the pre-1.7
//! Java ping and UDP Query API respectively.  They are present in
//! [`ServerData`] but currently serialised with `#[serde(skip)]`.

pub mod common;
pub mod java;
pub mod bedrock;

pub use common::{
    PingResult,
    ServerStatus, ServerData, ServerInfo, ServerEdition,
    DnsInfo, CacheStats,
    LegacyData, QueryData,
};
pub use java::{JavaStatus, JavaVersion, JavaPlayers, JavaPlayer, JavaPlugin, JavaMod};
pub use bedrock::BedrockStatus;