pasoqa3
is an acronym for "Parser And Summarizer Of Quake Arena 3 (log files)".
Check DECISIONS.md
for an explanation of why I took some of the decisions I did.
In Unix, with the Rust
toolchain installed, clone the repository and install pasoqa3
using cargo
:
git clone https://github.com/marcospb19/pasoqa3
cargo install --path pasoqa3
You can see the binary at ~/.cargo/bin/pasoqa3
, make sure ~/.cargo/bin
is listed in your shell's $PATH
variable to access it from anywhere.
# Check the help message
pasoqa3 --help
# Summarize all matches in `file.log`
pasoqa3 file.log
# Summarize fourth match
pasoqa3 q3.log --game 4
{
"game_4": {
"total_kills": 4,
"players": [
"Isgalamido",
"Zeh",
"Dono da Bola"
],
"scoreboard": {
"Zeh": -2,
"Dono da Bola": -1,
"Isgalamido": 1
},
"death_causes": {
"MOD_FALLING": 1,
"MOD_ROCKET": 1,
"MOD_TRIGGER_HURT": 2
}
}
}
All matches of Quake 3 Arena have their kill feed written into a log file.
A single log file might contain zero or multiple matches written to it.
pasoqa3
reads a log file, tries parsing it, and outputs a summary of the kill feed for each match.
The name "pasoqa" is a playful reference to "paçoca", a Brazilian candy I used to love as a child.
![](https://private-user-images.githubusercontent.com/38900226/299431530-49f30f7e-2830-41e3-b87e-4dcb170888c2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjExOTIwNjIsIm5iZiI6MTcyMTE5MTc2MiwicGF0aCI6Ii8zODkwMDIyNi8yOTk0MzE1MzAtNDlmMzBmN2UtMjgzMC00MWUzLWI4N2UtNGRjYjE3MDg4OGMyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE3VDA0NDkyMlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY0ZThlYjU0MGZhZTJmOTUwNjU4YmQ1ZWUwYTVmM2IxYWNhNmE3ZGRjNDRlNTA3ZDJmMmUzZjQ4ZTZiMDhiZTkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.8aQbauvPhAJxkePZmfA80DWmM8SI-Mc70mTSRC3nr2c)