10 releases
0.3.3 | Feb 2, 2023 |
---|---|
0.3.2 | Feb 2, 2023 |
0.2.0 | Oct 8, 2021 |
0.1.4 | Sep 11, 2021 |
#243 in Games
14KB
240 lines
Q3Tool
A Rust library for interacting with ioq3 (Quake 3) based game servers.
Getting Started
Quick Example
use q3tool::Q3Tool;
fn main() {
let q = Q3Tool::new("someserverhost:27960", Some("supersecretpassword".to_owned()));
let server_info = q.get_status().unwrap();
// Print all public server c_vars
for (k, v) in server_info.vars() {
println!("{}: {}", k, v);
}
// Print a single server c_var
println!("Hostname: {}", server_info.vars().get("sv_hostname").unwrap());
// Print all players
for player in server_info.players() {
println!("Name: {}, Score: {}, Ping: {}", player.name(), player.score(), player.ping());
}
let response = q.rcon("map ut4_casa").unwrap();
}
Current Status
Q3Tool is essentially feature-complete. RCON is finally implemented and it is able to retrieve data from any compatible ioq3 server that I can test. If you encounter any bugs, please don't hesitate to open an issue.
There shouldn't be any breaking changes in the public facing API at this point.
Running the tests
cargo test
License
This project is licensed under the MIT License
Dependencies
~1.5MB
~36K SLoC