#quake-world #server #quake #masters

masterstat

Get server addresses from QuakeWorld master servers

11 releases (7 breaking)

Uses new Rust 2024

0.8.0 Aug 13, 2025
0.7.0 May 5, 2025
0.6.0 Apr 28, 2025
0.5.0 Mar 29, 2025
0.1.3 May 4, 2024

#794 in HTTP server

MIT license

12KB
207 lines

masterstat Test crates docs.rs

A Rust crate for querying 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–15MB
~139K SLoC