{"id":22741466,"url":"https://github.com/danitrod/quake-log-parser","last_synced_at":"2026-07-03T22:31:13.400Z","repository":{"id":197717552,"uuid":"699107591","full_name":"danitrod/quake-log-parser","owner":"danitrod","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-02T04:37:00.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-28T12:31:34.047Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danitrod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-01T23:42:15.000Z","updated_at":"2023-10-02T04:43:47.000Z","dependencies_parsed_at":"2023-10-02T07:07:36.545Z","dependency_job_id":null,"html_url":"https://github.com/danitrod/quake-log-parser","commit_stats":null,"previous_names":["danitrod/quake-log-parser"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danitrod/quake-log-parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danitrod%2Fquake-log-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danitrod%2Fquake-log-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danitrod%2Fquake-log-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danitrod%2Fquake-log-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danitrod","download_url":"https://codeload.github.com/danitrod/quake-log-parser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danitrod%2Fquake-log-parser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35104113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-11T00:12:24.764Z","updated_at":"2026-07-03T22:31:13.372Z","avatar_url":"https://github.com/danitrod.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quake Log Parser\n\nThis is a CLI tool to parse and summarize Quake games from a log file.\n\n## Usage\n\nFirst, make sure you have [Rust](https://www.rust-lang.org/tools/install) installed and setup in\nyour environment. Then simply clone this repository, and run the application, feeding it a Quake\nlog file from stdin. Example:\n\n```sh\ncargo run -- \u003c tests/qgames.log\n```\n\nYou should get a JSON report of kills in the games printed to stdout.\n\n## Approach\n\nThe project focuses on reading the following events from the logs:\n\n- `InitGame`: This event is read to start a new game.\n- `ClientUserinfoChanged`: This event is read to identify a new connecting player name and add it\n  to the game summary.\n- `Kill`: This event is read to process a game kill.\n\nEvery other event is ignored by the parser for simplicity.\n\n## External dependencies used\n\nThe [serde](https://docs.rs/serde/latest/serde/) struct serializer/deserializer framework and its\nJSON library [serde_json](https://docs.rs/serde_json/latest/serde_json/) were used in this project\nto safely serialize the output into JSON format.\n\nThe [assert-cmd](https://crates.io/crates/assert_cmd) crate was used as a development dependency,\nfor CLI end to end tests.\n\n## Tests\n\nYou can run the application's unit and end to end tests with the following command:\n\n```sh\ncargo test\n```\n\n## License\n\n[MIT](./LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanitrod%2Fquake-log-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanitrod%2Fquake-log-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanitrod%2Fquake-log-parser/lists"}