Quake 3 Log Parser
Wolf Quake is a parser for Quake 3 Arena log files.
You can find a log file: file
Documentation can be found in: DOCUMENTATION
Quake 3 log parser
Usage: wolf_quake [OPTIONS] <LOG_FILE>
Arguments:
<LOG_FILE> The path to the log file, required
Options:
-r, --report-type <REPORT_TYPE> The type of report to generate - Report with player ranking and mean of death ranking - Report with player ranking - Report with mean of death ranking Default: all [default: all] [possible values: all, player-rank, mean-death]
-f, --report-format <REPORT_FORMAT> The format of the report to generate - Text table report in console - Html table report Default: text [default: text] [possible values: html, text]
-o, --output-file <FILE> The output file to write the report If not provided, the report will be printed to the console
-h, --help Print help (see more with '--help')
-V, --version Print version
foo@bar:~$ wolf_quake -f text -o report.txt games.log
โญโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโฎ
โ โ โ โ โ
โ โ Total game kills โ Kill Rank โ Death Causes โ
โ โ โ (Player: Score) โ (Cause: Count) โ
โ โ โ โ โ
โโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโค
โ โ โ โ โ
โ Game 1 โ 1 โ Player1: -1 โ TriggerHurt: 1 โ
โ โ โ โ โ
โโโโโโโโโโผโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโค
โ โ โ โ โ
โ โ โ Player2: 1 โ Rocket Splash: 1 โ
โ Game 2 โ 2 โ โ โ
โ โ โ Player1: -1 โ TriggerHurt: 1 โ
โ โ โ โ โ
โฐโโโโโโโโโดโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโฏ
foo@bar:~$ wolf_quake -f html -o report.html games.log
Not really formatted how it should be due to rendering in markdown, but you can open report.html to see the actual result in your browser.
|
Total game kills
|
Kill Rank (Player: Score)
|
Death Causes (Cause: Count)
|
---|---|---|---|
Game 1 |
1 |
Player1: -1
|
TriggerHurt: 1
|
Game 2 |
2 |
Player2: 1
Player1: -1
|
Rocket Splash: 1
TriggerHurt: 1
|
Wolf Quake is written in Rust ๐ฆ and uses #![forbid(unsafe_code)]
to ensure everything is implemented in 100% safe Rust.
It also heavily applies clippy lints to ensure the code is idiomatic and follows best practices.
Current status:
- Enviroment setup: CI, local and github
- Happy path log parsing and tests
- Bug handling in original log file
- CLI and tests
- Documentation
- Better docs.rs reference documentation
For testing, Wolf Quake uses the proptest crate, which is kind of a more purpose-oriented fuzzy testing tool.
- Depends on Python installed (if not, add the git hook manually)
curl -LO https://github.com/pre-commit/pre-commit/releases/download/v3.7.0/pre-commit-3.7.0.pyz
python pre-commit-3.7.0.pyz install