1 unstable release

0.1.0 Jan 28, 2024

#8 in #server-status

GPL-3.0-only

115KB
3K SLoC

xash3d-query

Receive and display information about servers.

Usage

Fetch information about a server.

$ xash3d-query info 144.49.47.88:27016
server: 144.49.47.88:27016 [33.462 ms]
    status: "ok"
    host: "Test Server"
    gamedir: "valve"
    map: "crossfire"
    protocol: "0"
    numcl: "13"
    maxcl: "30"
    dm: "true"
    team: "false"
    coop: "false"
    password: "false"

Fetch servers addresses from the master server.

$ xash3d-query list
144.49.47.88:27016
144.49.47.88:27017

Fetch information about all servers received from the master server.

$ xash3d-query
server: 144.49.47.88:27016 [33.462 ms]
    status: "ok"
    host: "Test Server"
    gamedir: "valve"
    map: "crossfire"
    protocol: "0"
    numcl: "13"
    maxcl: "30"
    dm: "true"
    team: "false"
    coop: "false"
    password: "false"

server: 144.49.47.88:27017 [32.596 ms]
    status: "ok"
    host: "Test Server 2"
    gamedir: "valve"
    map: "crossfire"
    protocol: "0"
    numcl: "7"
    maxcl: "30"
    dm: "true"
    team: "false"
    coop: "false"
    password: "false"

JSON output

# Print table sorted by number of players.
$ xash3d-query -j | jq -r '[.servers[] | select(.status == "ok")] | sort_by(.numcl) | reverse | .[] | [.numcl, .map, .address, .host] | @tsv'
13      crossfile       144.49.47.88:27016    Test Server
7       crossfile       144.49.47.88:27017    Test Server 2

Dependencies

~1.1–2MB
~45K SLoC