# Q3Tool
A Rust library for interacting with ioq3 (Quake 3) based game servers.
[](https://github.com/dogue/q3tool-rs/actions/workflows/rust.yml)
[](https://GitHub.com/dogue/q3tool-rs/issues/)
[](https://lbesson.mit-license.org/)
## Getting Started
### Quick Example
```rust
use q3tool::Q3Tool;
fn main() {
let q = Q3Tool::new("someserverhost:27960");
let server_info = q.get_status().unwrap();
// Print all public server c_vars
for (k, v) in server_info.vars() {
println!("{}: {}", k, v);
}
// Print all players
for player in server_info.players() {
println!("Name: {}, Score: {}, Ping: {}", player.name(), player.score(), player.ping());
}
}
```
## Current Status
Q3Tool is still very early in development. So far it seems to work fine, but there are likely to be breaking changes in the future.
## Running the tests
Tests are somwhat lacking at the moment, but this is being worked on.
`cargo test`
## Versioning
We use [Semantic Versioning](http://semver.org/) for versioning.
## License
This project is licensed under the [MIT License](LICENSE)