#server #quake-world #quake #async-parallel #masters

masterstat

Get server addresses from QuakeWorld master servers

7 unstable releases (3 breaking)

new 0.4.0 Mar 7, 2025
0.3.0 Mar 2, 2025
0.2.0 Feb 27, 2025
0.1.3 May 4, 2024
0.1.2 Apr 25, 2024

#350 in Game dev

Download history 6/week @ 2024-12-04 15/week @ 2024-12-11 8/week @ 2025-02-12 294/week @ 2025-02-26

302 downloads per month

MIT license

14KB
275 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

~4–12MB
~133K SLoC