https://github.com/vikpe/quake_infostring
A Rust crate for parsing generic QuakeWorld info strings.
https://github.com/vikpe/quake_infostring
quake quakeworld
Last synced: 4 months ago
JSON representation
A Rust crate for parsing generic QuakeWorld info strings.
- Host: GitHub
- URL: https://github.com/vikpe/quake_infostring
- Owner: vikpe
- License: mit
- Created: 2024-05-02T11:16:06.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-27T12:40:53.000Z (about 1 year ago)
- Last Synced: 2025-10-09T21:24:16.820Z (9 months ago)
- Topics: quake, quakeworld
- Language: Rust
- Homepage: https://crates.io/crates/quake_infostring
- Size: 8.79 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.YML
- License: LICENSE
Awesome Lists containing this project
README
# quake_infostring [](https://github.com/vikpe/quake_infostring/actions/workflows/test.yml) [](https://crates.io/crates/quake_infostring) [](https://docs.rs/quake_infostring/)
> Parse QuakeWorld info strings
## Usage
```rust
// parse key values
let info = r#"\maxfps\77\matchtag\kombat"#;
let map = quake_infostring::parse_key_values(info);
assert_eq!(map.get("maxfps"), Some(&"77".to_string()));
assert_eq!(map.get("matchtag"), Some(&"kombat".to_string()));
assert_eq!(map.get("missing"), None);
// parse fields
let input = r#"qtv 1 "zasadzka Qtv (2)" "2@zasadzka.pl:28000" 2"#;
let tokens = quake_infostring::parse_fields(input);
assert_eq!(tokens, vec![
"qtv".to_string(),
"1".to_string(),
"zasadzka Qtv (2)".to_string(),
"2@zasadzka.pl:28000".to_string(),
"2".to_string(),
]);
```
## See also
- [quake_serverinfo](https://github.com/vikpe/quake_serverinfo) - Parse QuakeWorld serverinfo strings