mirror of
https://github.com/tribufu/rust-gamedig
synced 2026-05-18 01:25:51 +00:00
* merge: local -> fresh pr * fix: utf16 bugs + clean up * docs: buffer * [feat/buffer] Replaced errors, partial valve protocol ported * fix: change buffer name + add endian switch * chore: update module * refactor: valve_master * refactor: mc bedrock * refactor: mc java * refactor: mc types * refactor: mc legacy 1.8 * refactor: mc legacy 1.4 * refactor: valve * refactor: valve types * refactor: quake * refactor: mc legacy 1.6 * refactor: gamespy 1 * fix: make switch endian move cursor * fix: reset cursor on switch * chore: add switch endian tests * chore: remove todo comment * chore: clean up buffer generic types * refactor: prop len when switching in mc bedrock * fix: tests and current pos fn * refactor: ffow * refactor: jc2mp * refactor: gs 3 * refactor: gs 2 * fix: mc bedrock prop on move + move data * fix: mc java lifetime error * fix: mc legacy 1.6 using pub not pub crate * fix: quake client lifetime * fix: quake 2 clippy warning * fix: valve lifetime issue * fix: buffer test * chore: format to keep ci happy * fix: buffer move_cursor * fix: quake client * feat: GameSpy 1 small optimization * fix: incomplete gamespy 3 fix * fix: gamespy 3 fix * fix: minecraft java * fix: minecraft bedrock * feat: update the CHANGELOG to mention the buffer rewrite and thank @cainthebest for it * fix: minecraft legacy 1.6 --------- Co-authored-by: CosminPerRam <cosmin.p@live.com>
52 lines
1.5 KiB
Rust
52 lines
1.5 KiB
Rust
//! Game Server Query Library.
|
|
//!
|
|
//! # Usage example:
|
|
//!
|
|
//! ## For a specific game
|
|
//! ```
|
|
//! use gamedig::games::tf2;
|
|
//!
|
|
//! let response = tf2::query(&"127.0.0.1".parse().unwrap(), None); // None is the default port (which is 27015), could also be Some(27015)
|
|
//! match response { // Result type, must check what it is...
|
|
//! Err(error) => println!("Couldn't query, error: {}", error),
|
|
//! Ok(r) => println!("{:#?}", r)
|
|
//! }
|
|
//! ```
|
|
//!
|
|
//! ## Using a game definition
|
|
//! ```
|
|
//! use gamedig::games::{GAMES, query};
|
|
//!
|
|
//! let game = GAMES.get("tf2").unwrap(); // Get a game definition, the full list can be found in src/games/mod.rs
|
|
//! let response = query(game, &"127.0.0.1".parse().unwrap(), None); // None will use the default port
|
|
//! match response {
|
|
//! Err(error) => println!("Couldn't query, error: {}", error),
|
|
//! Ok(r) => println!("{:#?}", r.as_json()),
|
|
//! }
|
|
//! ```
|
|
//!
|
|
//! # Crate features:
|
|
//! Enabled by default: `games`, `game_defs`, `services`
|
|
//!
|
|
//! `serde` - enables json serialization/deserialization for all response types.
|
|
//! <br> `games` - include games support. <br>
|
|
//! `services` - include services support. <br>
|
|
//! `game_defs` - Include game definitions for programmatic access (enabled by
|
|
//! default).
|
|
|
|
pub mod errors;
|
|
#[cfg(feature = "games")]
|
|
pub mod games;
|
|
pub mod protocols;
|
|
#[cfg(feature = "services")]
|
|
pub mod services;
|
|
|
|
mod buffer;
|
|
mod socket;
|
|
mod utils;
|
|
|
|
pub use errors::*;
|
|
#[cfg(feature = "games")]
|
|
pub use games::*;
|
|
#[cfg(feature = "services")]
|
|
pub use services::*;
|