{"id":26725454,"url":"https://github.com/sivert-io/matchzy-overtime-manager","last_synced_at":"2025-10-09T20:36:13.896Z","repository":{"id":278270136,"uuid":"935050347","full_name":"sivert-io/matchzy-overtime-manager","owner":"sivert-io","description":"Matchzy Overtime Manager (MOM) is an extension for the MatchZy CS2 plugin. It runs as an Express server in TypeScript, listens for get5 events, and enforces custom overtime rules to prevent excessive overtimes in tournaments. 🚀","archived":false,"fork":false,"pushed_at":"2025-09-05T07:02:36.000Z","size":7007,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-03T18:55:18.287Z","etag":null,"topics":["cs2","get5","matchzy"],"latest_commit_sha":null,"homepage":"https://matchzy-overtime-manager.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sivert-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-18T20:28:53.000Z","updated_at":"2025-09-05T07:02:34.000Z","dependencies_parsed_at":"2025-02-18T22:27:57.709Z","dependency_job_id":"5c8f3d58-b458-4b93-8728-c0320b53e170","html_url":"https://github.com/sivert-io/matchzy-overtime-manager","commit_stats":null,"previous_names":["sivert-io/matchzy-overtime-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sivert-io/matchzy-overtime-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sivert-io%2Fmatchzy-overtime-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sivert-io%2Fmatchzy-overtime-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sivert-io%2Fmatchzy-overtime-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sivert-io%2Fmatchzy-overtime-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sivert-io","download_url":"https://codeload.github.com/sivert-io/matchzy-overtime-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sivert-io%2Fmatchzy-overtime-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001980,"owners_count":26083259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"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":["cs2","get5","matchzy"],"created_at":"2025-03-27T21:18:54.079Z","updated_at":"2025-10-09T20:36:13.867Z","avatar_url":"https://github.com/sivert-io.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Matchzy Overtime Manager (MOM) ⚡\n\nMOM is an extension for the MatchZy CS2 plugin. It runs as an Express server in TypeScript, listens for get5 events, and enforces custom overtime rules to prevent excessive overtimes in tournaments. 🎮🏆\n\n\u003e [!CAUTION]\n\u003e This plugin cannot be run simultaneously with any get5 panel, as it takes over the endpoint used by the panel. MOM uses the same logic to receive events from the server as a get5 panel would. If you need to use both at the same time, you will have to create a middle-man service to forward events to both, or modify either the get5-panel or this plugin to handle event forwarding.\n\n\u003cvideo width=\"100%\" autoplay muted loop\u003e\n \u003csource src=\"./docs/public/preview.mp4\" type=\"video/mp4\" /\u003e\n  Your browser does not support the video tag.\n\u003c/video\u003e\n\n## Table of Contents 📖\n- [Features ✨](#features-)\n- [Quick Start 🚀](#quick-start-)\n- [CS2 Server Configuration ⚙️](#cs2-server-configuration-️)\n- [Development 🏗️](#development-️)\n- [Contributing 🤝](#contributing-)\n- [Thanks 🙌](#thanks-)\n\n## Features ✨\n- 🎧 Listens for CS2 match events via get5\n- ⚙️ Automatically handles overtime scenarios\n- 📝 Written in TypeScript for type safety\n- 🚀 Simple and lightweight Express server\n\n## Quick Start 🚀\n\nTo quickly get started with MOM:\n\n1. **Create a .env file** based on the example:\n\n```sh\ncp .env.example .env\n```\n\nOpen .env and modify the values to match your server configuration, for example:\n\n```ini\n# Use server-id as prefix. e.g. server1_\u003cvariable_name\u003e\nserver1_rcon_host=\"127.0.0.1\"\nserver1_rcon_port=\"27016\"\nserver1_rcon_password=\"your_rcon_password\"\n\n# Maximum number of rounds allowed before calculating the winner\nmax_rounds=30\n```\n\n2. **Run the project with Docker Compose**:\n\n```sh\ndocker-compose up -d\n```\n\nThis will automatically build and start the server with the configuration in your .env file.\n\n## CS2 Server Configuration ⚙️\n\nTo make get5 send match events to MOM, [update your CS2 server’s matchzy_remote_log_url parameter](https://shobhit-pathak.github.io/MatchZy/configuration/#matchzy_remote_log_url):\n\nAdd this line to your /game/csgo/cfg/MatchZy/live.cfg file at the top:\n\n```bash\nmatchzy_remote_log_url \"http://127.0.0.1:3000/events\"\nmatchzy_remote_log_header_key \"server-id\"\nmatchzy_remote_log_header_value \"server1\"\n```\n\nReplace 127.0.0.1 with the actual IP address of your MOM server (if running on a different host).\n\nUpdate field matchzy_remote_log_header_value with a unique ID for your server.\n\n## Development 🏗️\n\nTo add new features or modify existing functionality:\n\n1. Start the TypeScript compiler in watch mode:\n```sh\nnpm run dev\n```\n2. Modify the source code in the src/ directory.\n3. Ensure changes work by running:\n```sh\nnpm run build \u0026\u0026 npm start\n```\n\n## Contributing 🤝\n\nWe welcome contributions! Feel free to open issues or submit pull requests. 🎉\n\n## Thanks 🙌\n\nA special thanks to:\n- 🎯 [get5 developers](https://github.com/splewis/get5) for the original tournament framework.\n- 🔥 The CS2 and LAN tournament community for testing and feedback.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsivert-io%2Fmatchzy-overtime-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsivert-io%2Fmatchzy-overtime-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsivert-io%2Fmatchzy-overtime-manager/lists"}