#quake-world #server #quake #masters

masterstat

Get server addresses from QuakeWorld master servers

10 releases (6 breaking)

Uses new Rust 2024

new 0.7.0 May 5, 2025
0.6.0 Apr 28, 2025
0.5.0 Mar 29, 2025
0.4.0 Mar 7, 2025
0.1.2 Apr 25, 2024

#614 in HTTP server

Download history 8/week @ 2025-02-12 294/week @ 2025-02-26 160/week @ 2025-03-05 14/week @ 2025-03-12 116/week @ 2025-03-26 19/week @ 2025-04-02 1/week @ 2025-04-09 93/week @ 2025-04-23 85/week @ 2025-04-30

182 downloads per month

MIT license

13KB
246 lines

masterstat Test crates docs.rs

Get server addresses from QuakeWorld master servers

Installation

cargo add masterstat

Usage

Get server addresses from a single master server

use std::time::Duration;

async fn test() {
    let master = "master.quakeworld.nu:27000";
    let timeout = Duration::from_secs(2);
    match masterstat::server_addresses(&master, timeout).await {
        Ok(result) => { println!("found {} server addresses", result.len()) },
        Err(e) => { eprintln!("error: {}", e); }
    }
}

Get server addresses from multiple master servers (async, in parallel)

use std::time::Duration;

async fn test() {
    let masters = ["master.quakeworld.nu:27000", "master.quakeservers.net:27000"];
    let timeout = Duration::from_secs(2);
    let result = masterstat::server_addresses_from_many(&masters, timeout).await;
    println!("found {} server addresses", result.len());
}

See also

Dependencies

~3–12MB
~133K SLoC